List of usage examples for com.google.gson GsonBuilder registerTypeAdapter
@SuppressWarnings({ "unchecked", "rawtypes" }) public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter)
From source file:com.certus.mobile.actions.mobileSingleItemAction.java
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { SingleItem item = new SingleItem(); ProductHasSize productDetials = item.getProductDetials(Integer.parseInt(request.getParameter("id"))); GsonBuilder gb = new GsonBuilder(); Gson gson = gb.registerTypeAdapter(ProductHasSize.class, new com.certus.mobile.controllers.SingleItemTypeAdapter()).create(); String element = gson.toJson(productDetials); response.getWriter().write(element); }
From source file:com.claresco.tinman.json.JsonUtility.java
License:Open Source License
/** * //www. j a v a2 s . com * Description: * Building Gson * * Params: * */ public static Gson createGson() { final GsonBuilder gsonBuilder = new GsonBuilder(); //Register to gsonBuilder gsonBuilder.registerTypeAdapter(XapiStatement.class, new XapiStatementJson()); gsonBuilder.registerTypeAdapter(XapiActor.class, new XapiActorJson()); gsonBuilder.registerTypeAdapter(XapiAgent.class, new XapiAgentJson()); gsonBuilder.registerTypeAdapter(XapiGroup.class, new XapiGroupJson()); gsonBuilder.registerTypeAdapter(XapiInverseFunctionalIdentifier.class, new XapiInverseFuncIdJson()); gsonBuilder.registerTypeAdapter(XapiAccount.class, new XapiAccountJson()); gsonBuilder.registerTypeAdapter(XapiVerb.class, new XapiVerbJson()); gsonBuilder.registerTypeAdapter(XapiObject.class, new XapiObjectJson()); gsonBuilder.registerTypeAdapter(XapiStatementRef.class, new XapiStatementRefJson()); gsonBuilder.registerTypeAdapter(XapiSubStatement.class, new XapiSubStatementJson()); gsonBuilder.registerTypeAdapter(XapiActivity.class, new XapiActivityJson()); gsonBuilder.registerTypeAdapter(XapiActivityDefinition.class, new XapiActivityDefinitionJson()); gsonBuilder.registerTypeAdapter(XapiLanguageMap.class, new XapiLanguageMapJson()); gsonBuilder.registerTypeAdapter(XapiResult.class, new XapiResultJson()); gsonBuilder.registerTypeAdapter(XapiScore.class, new XapiScoreJson()); gsonBuilder.registerTypeAdapter(XapiContextActivities.class, new XapiContextActivitiesJson()); gsonBuilder.registerTypeAdapter(XapiContext.class, new XapiContextJson()); gsonBuilder.registerTypeAdapter(XapiInteraction.class, new XapiInteractionJson()); gsonBuilder.registerTypeAdapter(XapiInteractionComponent.class, new XapiInteractionComponentJson()); gsonBuilder.registerTypeAdapter(XapiCredentials.class, new XapiCredentialsJson()); gsonBuilder.registerTypeAdapter(XapiStatementBatch.class, new XapiStatementBatchJson()); gsonBuilder.registerTypeAdapter(XapiPerson.class, new XapiPersonJson()); gsonBuilder.registerTypeAdapter(XapiStatementResult.class, new XapiStatementResultJson()); gsonBuilder.registerTypeAdapter(XapiExtension.class, new XapiExtensionsJson()); gsonBuilder.registerTypeAdapter(XapiCredentialsList.class, new XapiCredentialsListJson()); final Gson gson = gsonBuilder.create(); return gson; }
From source file:com.cloud.serializer.GsonHelper.java
License:Apache License
static Gson setDefaultGsonConfig(GsonBuilder builder) { builder.setVersion(1.5);//from www .j av a 2 s .com ArrayTypeAdaptor<Command> cmdAdaptor = new ArrayTypeAdaptor<Command>(); builder.registerTypeAdapter(Command[].class, cmdAdaptor); ArrayTypeAdaptor<Answer> ansAdaptor = new ArrayTypeAdaptor<Answer>(); builder.registerTypeAdapter(Answer[].class, ansAdaptor); builder.registerTypeAdapter(new TypeToken<List<PortConfig>>() { }.getType(), new PortConfigListTypeAdaptor()); builder.registerTypeAdapter(new TypeToken<Pair<Long, Long>>() { }.getType(), new NwGroupsCommandTypeAdaptor()); Gson gson = builder.create(); cmdAdaptor.initGson(gson); ansAdaptor.initGson(gson); return gson; }
From source file:com.cloudant.client.api.CloudantClient.java
License:Open Source License
/** * Sets a {@link GsonBuilder} to create {@link Gson} instance. * <p>Useful for registering custom serializers/deserializers, such as Datetime formats. *///from w w w .j a va 2 s. c om public void setGsonBuilder(GsonBuilder gsonBuilder) { //register additional cloudant deserializers and then let lightcouch init too gsonBuilder.registerTypeAdapter(new TypeToken<List<Shard>>() { }.getType(), new ShardDeserializer()).registerTypeAdapter(new TypeToken<List<Index>>() { }.getType(), new IndexDeserializer()) .registerTypeAdapter(new TypeToken<Map<String, EnumSet<Permissions>>>() { }.getType(), new SecurityDeserializer()) .registerTypeAdapter(Key.ComplexKey.class, new Key.ComplexKeyDeserializer()); client.setGsonBuilder(gsonBuilder); }
From source file:com.cloudant.client.org.lightcouch.internal.GsonHelper.java
License:Open Source License
/** * Builds {@link Gson} and registers any required serializer/deserializer. * * @return {@link Gson} instance/*from ww w . ja v a2 s.co m*/ */ public static GsonBuilder initGson(GsonBuilder gsonBuilder) { gsonBuilder.registerTypeAdapter(JsonObject.class, new JsonDeserializer<JsonObject>() { public JsonObject deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { return json.getAsJsonObject(); } }); gsonBuilder.registerTypeAdapter(JsonObject.class, new JsonSerializer<JsonObject>() { public JsonElement serialize(JsonObject src, Type typeOfSrc, JsonSerializationContext context) { return src.getAsJsonObject(); } }); return gsonBuilder; }
From source file:com.cloudbase.CBHelperRequest.java
License:Open Source License
@SuppressWarnings("unchecked") public void run() { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(this.request.getUrl()); if (this.helperObject.isDebugMode()) Log.d("CBHELPER", "Sending request to url: " + this.request.getUrl()); try {/* ww w. j ava 2 s . c om*/ // Add your data Enumeration<String> params = this.request.getParameters().keys(); // prepare the request adding all of the parameters. CBMultipartEntity entity = new CBMultipartEntity(); while (params.hasMoreElements()) { String curKey = params.nextElement(); entity.addPart(new CBStringPart(curKey, this.request.getParameters().get(curKey))); } // if we have file attachments then add each file to the multipart request if (this.request.getFiles() != null && this.request.getFiles().size() > 0) { int fileCounter = 0; for (File curFile : this.request.getFiles()) { String name = curFile.getName(); int pos = name.lastIndexOf('.'); String ext = name.substring(pos + 1); entity.addPart(new CBFilePart("file" + fileCounter, curFile, null, (pos > -1 ? MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext) : null))); fileCounter++; } } // add the multipart request to the http connection httppost.setEntity(entity); // Execute HTTP Post Request HttpResponse response = httpclient.execute(httppost); // if we have a responder then parse the response data into the global CBHelperResponse object if (this.responder != null) { resp = new CBHelperResponse(); resp.setFunction(this.request.getCloudbaseFunction()); resp.setHttpStatus(response.getStatusLine().getStatusCode()); // if it's a download then we need to save the file content into a temporary file in // application cache folder. Then return that file to the responder if (this.request.getCloudbaseFunction().equals("download")) { InputStream input = response.getEntity().getContent(); File outputFile = File.createTempFile(this.request.getFileId(), null, new File(this.getTemporaryFilePath())); OutputStream fos = new BufferedOutputStream(new FileOutputStream(outputFile)); try { byte[] buffer = new byte[(int) 4096]; int readBytes; while (((readBytes = input.read(buffer, 0, buffer.length)) != -1)) { fos.write(buffer, 0, readBytes); } } catch (IOException e) { e.printStackTrace(); } if (fos != null) { try { fos.close(); } catch (IOException e) { } } if (input != null) { try { input.close(); } catch (IOException e) { } } resp.setDownloadedFile(outputFile); } else { // if it's not a download parse the JSON response and set all // the variables in the CBHelperResponse object String responseString = EntityUtils.toString(response.getEntity()); resp.setResponseDataString(responseString); if (this.helperObject.isDebugMode()) Log.d("test", resp.getResponseDataString()); // Use the cloudbase.io deserializer to get the data in a Map<String, Object> // format. GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(Object.class, new CBNaturalDeserializer()); Gson gson = gsonBuilder.create(); Map<String, Object> responseData = gson.fromJson(responseString, Map.class); if (responseData == null) { resp.setErrorMessage("Empty response data"); resp.setSuccess(false); } else { Map<String, Object> outputData = (Map<String, Object>) responseData .get(this.request.getCloudbaseFunction()); resp.setData(outputData.get("message")); resp.setErrorMessage((String) outputData.get("error")); resp.setSuccess(((String) outputData.get("status")).equals("OK")); } } // now that the response object is ready use the Handler we have been handed from the // CBHelper class on the main thread to call the responder object. This way the data // is available to the UI thread mHandler.post(new Runnable() { @Override public void run() { responder.handleResponse(request, resp); } }); } if ((resp == null || resp.getHttpStatus() == 200) && this.queueFileName != null) { this.helperObject.removeQueuedRequest(this.queueFileName); } } catch (Exception e) { Log.e("REQUEST", "Error " + e.getMessage(), e); if (this.responder != null) { mHandler.post(new Runnable() { @Override public void run() { responder.handleResponse(request, resp); } }); } } }
From source file:com.cubeia.poker.handhistory.impl.JsonHandHistoryLogger.java
License:Open Source License
private Gson createGson() { GsonBuilder b = new GsonBuilder(); b.registerTypeAdapter(HandHistoryEvent.class, new EventSerializer()); b.setPrettyPrinting();/*from ww w.j a v a 2 s . co m*/ return b.create(); }
From source file:com.cubeia.poker.handhistory.provider.impl.HandHistoryProviderServiceImpl.java
License:Open Source License
private Gson createGson() { GsonBuilder b = new GsonBuilder(); b.registerTypeAdapter(HandHistoryEvent.class, new HandHistorySerializer()); //b.setPrettyPrinting(); return b.create(); }
From source file:com.datascience.core.storages.JSONUtils.java
License:Open Source License
public static GsonBuilder getFilledDefaultGsonBuilder() { GsonBuilder builder = getDefaultGsonBuilder(); builder.registerTypeAdapter(assignedLabelType, AssignedLabel.deserializer); builder.registerTypeAdapter(correctLabelType, CorrectLabel.deserializer); builder.registerTypeAdapter(categoryType, Category.deserializer); builder.registerTypeAdapter(categoryType, Category.serializer); builder.registerTypeAdapter(misclassificationCostType, MisclassificationCost.deserializer); builder.registerTypeAdapter(datumType, Datum.deserializer); builder.registerTypeAdapter(datumType, Datum.serializer); builder.registerTypeAdapter(confusionMatrixType, MultinomialConfusionMatrix.deserializer); builder.registerTypeAdapter(confusionMatrixType, MultinomialConfusionMatrix.serializer); builder.registerTypeAdapter(workerType, com.datascience.gal.Worker.deserializer); builder.registerTypeAdapter(dawidSkeneType, DawidSkeneDeserializer.deserializer); builder.registerTypeAdapter(workerGenericType, new GenericWorkerDeserializer()); builder.registerTypeAdapter(workerGenericType, new GenericWorkerSerializer()); builder.registerTypeAdapter(Data.class, new DataJSON.Deserializer()); builder.registerTypeAdapter(Data.class, new DataJSON.Serializer()); builder.registerTypeAdapter(com.datascience.core.base.AssignedLabel.class, new DataJSON.AssignSerializer()); builder.registerTypeAdapter(Serialized.class, new SerializedSerializer()); builder.registerTypeAdapter(workerContResultsType, new DataJSON.WorkerContResultsSerializer()); return builder; }
From source file:com.datascience.core.storages.JSONUtils.java
License:Open Source License
public static Gson getOldGson() { GsonBuilder builder = getFilledDefaultGsonBuilder(); builder.registerTypeAdapter(com.datascience.gal.Worker.class, Worker.deserializer); return builder.create(); }