List of usage examples for com.google.gson GsonBuilder registerTypeAdapter
@SuppressWarnings({ "unchecked", "rawtypes" }) public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter)
From source file:edu.isi.pegasus.planner.code.generator.condor.CondorGenerator.java
License:Apache License
/** * Writes out the metadata file, containing the metadata associated with the * jobs in the submit directory in JSON//from ww w .j a v a 2 s . c om * * @param filename basename of medatadata file to be written . * @param dag the <code>ADag</code> object. * * @throws CodeGeneratorException in case of any error occuring code generation. */ protected void writeMetadataFile(String filename, ADag dag) throws CodeGeneratorException { // initialize file handler filename = mSubmitFileDir + File.separator + filename; Writer stream = null; try { stream = new PrintWriter(new BufferedWriter(new FileWriter(filename))); GsonBuilder builder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().setPrettyPrinting(); builder.registerTypeAdapter(GraphNode.class, new GraphNodeGSONAdapter()).create(); builder.registerTypeAdapter(Profiles.class, new ProfilesGSONAdapter()).create(); Gson gson = builder.create(); String json = gson.toJson(dag); stream.write(json); } catch (Exception e) { throw new CodeGeneratorException("While writing to metadata FILE " + filename, e); } finally { if (stream != null) { try { stream.close(); } catch (Exception e) { } } } }
From source file:edu.isi.wings.portal.classes.JsonHandler.java
License:Apache License
public static Gson createRunGson() { GsonBuilder gson = new GsonBuilder(); gson.registerTypeAdapter(Date.class, new DateSerializer()); gson.registerTypeAdapter(Binding.class, new BindingSerializer()); gson.registerTypeAdapter(ValueBinding.class, new BindingSerializer()); return gson.disableHtmlEscaping().create(); //return gson.disableHtmlEscaping().setPrettyPrinting().create(); }
From source file:edu.isi.wings.portal.classes.JsonHandler.java
License:Apache License
public static Gson createTemplateGson() { GsonBuilder gson = new GsonBuilder(); gson.registerTypeAdapter(Link.class, new LinkSerializer()); //gson.registerTypeAdapter(Node.class, new NodeSerializer()); gson.registerTypeAdapter(Binding.class, new BindingSerializer()); gson.registerTypeAdapter(Binding.class, new BindingDeserializer()); gson.registerTypeAdapter(ValueBinding.class, new BindingSerializer()); gson.registerTypeAdapter(ValueBinding.class, new BindingDeserializer()); gson.registerTypeAdapter(SetExpression.class, new SetExpressionSerializer()); gson.registerTypeAdapter(SetExpression.class, new SetExpressionDeserializer()); //gson.registerTypeAdapter(URI.class, new URISerializer()); //gson.registerTypeAdapter(String.class, new StringSerializer()); gson.setDateFormat("yyyy-MM-dd"); gson.disableHtmlEscaping();//from w w w . j a va 2 s . c o m //gson.setPrettyPrinting(); return gson.create(); }
From source file:edu.jhuapl.dorset.agents.RemoteAgent.java
License:Open Source License
/** * Create a remote agent object//from w ww. j av a2 s .co m * * @param urlBase the base URL for the web services * @param client the http client */ public RemoteAgent(String urlBase, HttpClient client) { // make sure end of url has slash this.urlBase = urlBase.replaceAll("/$", "") + "/"; this.client = client; setUrls(); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(ResponseStatus.Code.class, new ResponseCodeDeserializer()); gsonBuilder.registerTypeAdapter(Response.Type.class, new ResponseTypeDeserializer()); gson = gsonBuilder.create(); }
From source file:edu.mayo.cts2.framework.core.json.JsonConverter.java
License:Open Source License
/** * Builds the gson.//www .j ava2 s . c om * * @return the gson */ protected Gson buildGson() { GsonBuilder gson = new GsonBuilder(); gson.setDateFormat(ISO_DATE_FORMAT); gson.setExclusionStrategies(new ExclusionStrategy() { @Override public boolean shouldSkipField(FieldAttributes f) { return f.getName().equals(CHOICE_VALUE); } @Override public boolean shouldSkipClass(Class<?> clazz) { return false; } }); gson.registerTypeAdapter(List.class, new EmptyCollectionSerializer()); gson.registerTypeAdapter(TsAnyType.class, new TsAnyTypeSerializer()); gson.registerTypeAdapter(Date.class, new DateTypeAdapter()); gson.registerTypeAdapterFactory(new ChangeableTypeAdapterFactory()); gson.registerTypeAdapterFactory(new ChangeableResourceTypeAdapterFactory()); gson.setFieldNamingStrategy(new FieldNamingStrategy() { @Override public String translateName(Field field) { String fieldName = field.getName(); char[] array = fieldName.toCharArray(); if (array[0] == '_') { array = ArrayUtils.remove(array, 0); } String name = new String(array); if (name.endsWith(LIST_SUFFIX)) { name = StringUtils.removeEnd(name, LIST_SUFFIX); } return name; } }); return gson.create(); }
From source file:edu.mit.media.funf.probe.builtin.AccountsProbe.java
License:Open Source License
@Override protected GsonBuilder getGsonBuilder() { GsonBuilder builder = super.getGsonBuilder(); builder.registerTypeAdapter(Account.class, new JsonSerializer<Account>() { @Override/* w w w. ja v a2 s . c om*/ public JsonElement serialize(Account src, Type typeOfSrc, JsonSerializationContext context) { JsonObject account = new JsonObject(); account.addProperty(NAME, sensitiveData(src.name)); account.addProperty(TYPE, src.type); return account; } }); return builder; }
From source file:edu.mit.media.funf.probe.builtin.SimpleProbe.java
License:Open Source License
@Override protected GsonBuilder getGsonBuilder() { GsonBuilder builder = super.getGsonBuilder(); JsonSerializer<T> serializer = getSerializer(); if (serializer != null) { builder.registerTypeAdapter(getClass().getGenericInterfaces()[0], serializer); }/*from ww w. j a v a 2s . c o m*/ return builder; }
From source file:edu.oregonstate.eecs.mcplan.domains.cosmic.CosmicGson.java
License:Open Source License
/** * Convenience method to register appropriate type adapters for Cosmic. * @param builder/*from w w w. j a v a2 s .c om*/ * @return */ public static Gson createGson(final CosmicParameters params, final GsonBuilder builder) { builder.registerTypeAdapter(MWNumericArray.class, new MWNumericArrayJsonSerializer()); builder.registerTypeAdapterFactory(new CosmicState.GsonSerializer()); builder.registerTypeAdapterFactory(new CosmicAction.GsonSerializer(params)); return builder.create(); }
From source file:edu.oregonstate.eecs.mcplan.search.fsss.experiments.FsssJairExperiments.java
License:Open Source License
public static void main(final String[] args) throws Exception { final String experiment_file = args[0]; final File root_directory; if (args.length > 1) { root_directory = new File(args[1]); } else {/*ww w .j a v a 2 s .c om*/ root_directory = new File("."); } final CsvConfigurationParser csv_config = new CsvConfigurationParser(new FileReader(experiment_file)); final String experiment_name = FilenameUtils.getBaseName(experiment_file); final File expr_directory = new File(root_directory, experiment_name); expr_directory.mkdirs(); for (int expr = 0; expr < csv_config.size(); ++expr) { final KeyValueStore expr_config = csv_config.get(expr); final Configuration config = new Configuration(root_directory.getPath(), experiment_name, expr_config); LoggerManager.getLogger("log.domain").setLevel(Level.valueOf(config.get("log.domain"))); LoggerManager.getLogger("log.search").setLevel(Level.valueOf(config.get("log.search"))); final GsonBuilder gson_builder = new GsonBuilder(); if (config.getBoolean("log.history.pretty")) { gson_builder.setPrettyPrinting(); } if ("advising".equals(config.domain)) { final File domain = new File(config.get("rddl.domain") + ".rddl"); final File instance = new File(config.get("rddl.instance") + ".rddl"); final int max_grade = config.getInt("advising.max_grade"); final int passing_grade = config.getInt("advising.passing_grade"); final AdvisingParameters params = AdvisingRddlParser.parse(max_grade, passing_grade, domain, instance); final AdvisingFsssModel model = new AdvisingFsssModel(config.rng_world, params); runGames(config, model, expr); } // else if( "cliffworld".equals( config.domain ) ) { // final CliffWorld.FsssModel model = new CliffWorld.FsssModel( config.rng_world, config ); // runGames( config, model, expr ); // } else if ("crossing".equals(config.domain)) { final File domain = new File(config.get("rddl.domain") + ".rddl"); final File instance = new File(config.get("rddl.instance") + ".rddl"); final IpcCrossingState s0 = IpcCrossingDomains.parse(domain, instance); final IpcCrossingFsssModel model = new IpcCrossingFsssModel(config.rng_world, s0); runGames(config, model, expr); } else if ("elevators".equals(config.domain)) { final File domain = new File(config.get("rddl.domain") + ".rddl"); final File instance = new File(config.get("rddl.instance") + ".rddl"); final IpcElevatorsState s0 = IpcElevatorsDomains.parse(domain, instance); final IpcElevatorsFsssModel model = new IpcElevatorsFsssModel(config.rng_world, s0); runGames(config, model, expr); } // else if( "firegirl".equals( config.domain ) ) { // final int T = config.getInt( "firegirl.T" ); // final double discount = config.getDouble( "discount" ); // final FactoredRepresenter<FireGirlState, ? extends FactoredRepresentation<FireGirlState>> base_repr; // if( "local".equals( config.get( "firegirl.repr" ) ) ) { // base_repr = new FireGirlLocalFeatureRepresenter(); // } // else { // throw new IllegalArgumentException( "firegirl.repr" ); // } // final FireGirlParameters params = new FireGirlParameters( T, discount, base_repr ); // final FireGirlFsssModel model = new FireGirlFsssModel( params, config.rng_world ); // runGames( config, model, expr ); // } // else if( "inventory".equals( config.domain ) ) { // final String problem_name = config.get( "inventory.problem" ); // final InventoryProblem problem; // if( "Dependent".equals( problem_name ) ) { // problem = InventoryProblem.Dependent(); // } // else if( "Geometric".equals( problem_name ) ) { // problem = InventoryProblem.Geometric(); // } // else if( "Geometric2".equals( problem_name ) ) { // problem = InventoryProblem.Geometric2(); // } // else if( "TwoProducts".equals( problem_name ) ) { // problem = InventoryProblem.TwoProducts(); // } // else { // throw new IllegalArgumentException( "inventory.problem" ); // } // final InventoryFsssModel model = new InventoryFsssModel( config.rng_world, problem ); // runGames( config, model, expr ); // } else if ("racegrid".equals(config.domain)) { final String circuit = config.get("racegrid.circuit"); final int scale = config.getInt("racegrid.scale"); final int T = config.getInt("racegrid.T"); final RacegridState ex; if ("bbs_small".equals(circuit)) { ex = RacegridCircuits.barto_bradtke_singh_SmallTrack(config.rng_world, T, scale); } else if ("bbs_large".equals(circuit)) { ex = RacegridCircuits.barto_bradtke_singh_LargeTrack(config.rng_world, T, scale); } else { throw new IllegalArgumentException("racegrid.circuit"); } final double slip = config.getDouble("racegrid.slip"); final RacegridFsssModel model = new RacegridFsssModel(config.rng_world, ex, slip); runGames(config, model, expr); } // else if( "rally".equals( config.domain ) ) { // final RallyWorld.Parameters params = new RallyWorld.Parameters( config.rng_world, config ); // final RallyWorld.FsssModel model = new RallyWorld.FsssModel( params ); // runGames( config, model, expr ); // } else if ("relevant_irrelevant".equals(config.domain)) { final RelevantIrrelevant.Parameters params = new RelevantIrrelevant.Parameters(config); final RelevantIrrelevant.FsssModel model = new RelevantIrrelevant.FsssModel(config.rng_world, params); runGames(config, model, expr); } else if ("sailing".equals(config.domain)) { final String world = config.get("sailing.world"); final int V = config.getInt("sailing.V"); final int T = config.getInt("sailing.T"); final int dim = config.getInt("sailing.dim"); final SailingState.Factory state_factory; if ("empty".equals(world)) { state_factory = new SailingWorlds.EmptyRectangleFactory(V, T, dim, dim); } else if ("island".equals(world)) { state_factory = new SailingWorlds.SquareIslandFactory(V, T, dim, dim / 3); } else if ("random".equals(world)) { final double p = config.getDouble("sailing.p"); state_factory = new SailingWorlds.RandomObstaclesFactory(p, V, T, dim); } else { throw new IllegalArgumentException("sailing.world"); } final SailingFsssModel model = new SailingFsssModel(config.rng_world, state_factory); runGames(config, model, expr); } else if ("saving".equals(config.domain)) { final SavingProblem.Parameters params = new SavingProblem.Parameters(config); final SavingProblem.FsssModel model = new SavingProblem.FsssModel(config.rng_world, params); runGames(config, model, expr); } else if ("spbj".equals(config.domain)) { final SpBjFsssModel model = new SpBjFsssModel(config.rng_world); runGames(config, model, expr); } else if ("tamarisk".equals(config.domain)) { final File domain = new File(config.get("rddl.domain") + ".rddl"); final File instance = new File(config.get("rddl.instance") + ".rddl"); final IpcTamariskState s0 = IpcTamariskDomains.parse(domain, instance); // TODO: Make this a parameter final IpcTamariskReachRepresenter base_repr = new IpcTamariskReachRepresenter(s0.params); final IpcTamariskFsssModel model = new IpcTamariskFsssModel(config.rng_world, s0.params, s0, base_repr); runGames(config, model, expr); } else if ("tetris".equals(config.domain)) { final int T = config.getInt("tetris.T"); final int Nrows = config.getInt("tetris.Nrows"); final TetrisParameters params = new TetrisParameters(T, Nrows); final FactoredRepresenter<TetrisState, ? extends FactoredRepresentation<TetrisState>> base_repr; if ("ground".equals(config.get("tetris.repr"))) { base_repr = new TetrisGroundRepresenter(params); } else if ("bertsekas".equals(config.get("tetris.repr"))) { base_repr = new TetrisBertsekasRepresenter(params); } else { throw new IllegalArgumentException("tetris.repr"); } final TetrisFsssModel model = new TetrisFsssModel(config.rng_world, params, base_repr); gson_builder.registerTypeAdapter(TetrisState.class, new TetrisState.GsonSerializer()); gson_builder.registerTypeAdapter(TetrisAction.class, new TetrisAction.GsonSerializer()); gson = gson_builder.create(); runGames(config, model, expr); } else if ("weinstein_littman".equals(config.domain)) { final WeinsteinLittman.Parameters params = new WeinsteinLittman.Parameters(config); final WeinsteinLittman.FsssModel model = new WeinsteinLittman.FsssModel(config.rng_world, params); runGames(config, model, expr); } else { throw new IllegalArgumentException("domain = " + config.domain); } } System.out.println("Alles gut!"); }
From source file:edu.temple.controller.EditMenuServlet.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./* ww w. j ava2 s . co m*/ * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); String menuString = request.getParameter("menu"); String truckName = request.getParameter("truckName"); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(Menu.class, new MenuDeserializer()); gsonBuilder.registerTypeAdapter(Item.class, new ItemDeserializer()); Gson gson = gsonBuilder.create(); Menu[] menuArray = gson.fromJson(menuString, Menu[].class); try (PrintWriter out = response.getWriter()) { out.print(menuArray[2].toString()); } }