Example usage for com.google.gson GsonBuilder registerTypeAdapter

List of usage examples for com.google.gson GsonBuilder registerTypeAdapter

Introduction

In this page you can find the example usage for com.google.gson GsonBuilder registerTypeAdapter.

Prototype

@SuppressWarnings({ "unchecked", "rawtypes" })
public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter) 

Source Link

Document

Configures Gson for custom serialization or deserialization.

Usage

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();
}