Example usage for com.google.gson JsonObject toString

List of usage examples for com.google.gson JsonObject toString

Introduction

In this page you can find the example usage for com.google.gson JsonObject toString.

Prototype

@Override
public String toString() 

Source Link

Document

Returns a String representation of this element.

Usage

From source file:com.facebook.ads.sdk.UserLeadGenDisclaimerResponse.java

License:Open Source License

public static APINodeList<UserLeadGenDisclaimerResponse> parseResponse(String json, APIContext context,
        APIRequest request) throws MalformedResponseException {
    APINodeList<UserLeadGenDisclaimerResponse> userLeadGenDisclaimerResponses = new APINodeList<UserLeadGenDisclaimerResponse>(
            request, json);/*www  . java2s  . c  o  m*/
    JsonArray arr;
    JsonObject obj;
    JsonParser parser = new JsonParser();
    Exception exception = null;
    try {
        JsonElement result = parser.parse(json);
        if (result.isJsonArray()) {
            // First, check if it's a pure JSON Array
            arr = result.getAsJsonArray();
            for (int i = 0; i < arr.size(); i++) {
                userLeadGenDisclaimerResponses.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
            }
            ;
            return userLeadGenDisclaimerResponses;
        } else if (result.isJsonObject()) {
            obj = result.getAsJsonObject();
            if (obj.has("data")) {
                if (obj.has("paging")) {
                    JsonObject paging = obj.get("paging").getAsJsonObject().get("cursors").getAsJsonObject();
                    String before = paging.has("before") ? paging.get("before").getAsString() : null;
                    String after = paging.has("after") ? paging.get("after").getAsString() : null;
                    userLeadGenDisclaimerResponses.setPaging(before, after);
                }
                if (obj.get("data").isJsonArray()) {
                    // Second, check if it's a JSON array with "data"
                    arr = obj.get("data").getAsJsonArray();
                    for (int i = 0; i < arr.size(); i++) {
                        userLeadGenDisclaimerResponses
                                .add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
                    }
                    ;
                } else if (obj.get("data").isJsonObject()) {
                    // Third, check if it's a JSON object with "data"
                    obj = obj.get("data").getAsJsonObject();
                    boolean isRedownload = false;
                    for (String s : new String[] { "campaigns", "adsets", "ads" }) {
                        if (obj.has(s)) {
                            isRedownload = true;
                            obj = obj.getAsJsonObject(s);
                            for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                                userLeadGenDisclaimerResponses
                                        .add(loadJSON(entry.getValue().toString(), context));
                            }
                            break;
                        }
                    }
                    if (!isRedownload) {
                        userLeadGenDisclaimerResponses.add(loadJSON(obj.toString(), context));
                    }
                }
                return userLeadGenDisclaimerResponses;
            } else if (obj.has("images")) {
                // Fourth, check if it's a map of image objects
                obj = obj.get("images").getAsJsonObject();
                for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                    userLeadGenDisclaimerResponses.add(loadJSON(entry.getValue().toString(), context));
                }
                return userLeadGenDisclaimerResponses;
            } else {
                // Fifth, check if it's an array of objects indexed by id
                boolean isIdIndexedArray = true;
                for (Map.Entry entry : obj.entrySet()) {
                    String key = (String) entry.getKey();
                    if (key.equals("__fb_trace_id__")) {
                        continue;
                    }
                    JsonElement value = (JsonElement) entry.getValue();
                    if (value != null && value.isJsonObject() && value.getAsJsonObject().has("id")
                            && value.getAsJsonObject().get("id") != null
                            && value.getAsJsonObject().get("id").getAsString().equals(key)) {
                        userLeadGenDisclaimerResponses.add(loadJSON(value.toString(), context));
                    } else {
                        isIdIndexedArray = false;
                        break;
                    }
                }
                if (isIdIndexedArray) {
                    return userLeadGenDisclaimerResponses;
                }

                // Sixth, check if it's pure JsonObject
                userLeadGenDisclaimerResponses.clear();
                userLeadGenDisclaimerResponses.add(loadJSON(json, context));
                return userLeadGenDisclaimerResponses;
            }
        }
    } catch (Exception e) {
        exception = e;
    }
    throw new MalformedResponseException("Invalid response string: " + json, exception);
}

From source file:com.facebook.ads.sdk.UserLeadGenFieldData.java

License:Open Source License

public static APINodeList<UserLeadGenFieldData> parseResponse(String json, APIContext context,
        APIRequest request) throws MalformedResponseException {
    APINodeList<UserLeadGenFieldData> userLeadGenFieldDatas = new APINodeList<UserLeadGenFieldData>(request,
            json);/*  www.  ja v a  2 s  .c  o m*/
    JsonArray arr;
    JsonObject obj;
    JsonParser parser = new JsonParser();
    Exception exception = null;
    try {
        JsonElement result = parser.parse(json);
        if (result.isJsonArray()) {
            // First, check if it's a pure JSON Array
            arr = result.getAsJsonArray();
            for (int i = 0; i < arr.size(); i++) {
                userLeadGenFieldDatas.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
            }
            ;
            return userLeadGenFieldDatas;
        } else if (result.isJsonObject()) {
            obj = result.getAsJsonObject();
            if (obj.has("data")) {
                if (obj.has("paging")) {
                    JsonObject paging = obj.get("paging").getAsJsonObject().get("cursors").getAsJsonObject();
                    String before = paging.has("before") ? paging.get("before").getAsString() : null;
                    String after = paging.has("after") ? paging.get("after").getAsString() : null;
                    userLeadGenFieldDatas.setPaging(before, after);
                }
                if (obj.get("data").isJsonArray()) {
                    // Second, check if it's a JSON array with "data"
                    arr = obj.get("data").getAsJsonArray();
                    for (int i = 0; i < arr.size(); i++) {
                        userLeadGenFieldDatas.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
                    }
                    ;
                } else if (obj.get("data").isJsonObject()) {
                    // Third, check if it's a JSON object with "data"
                    obj = obj.get("data").getAsJsonObject();
                    boolean isRedownload = false;
                    for (String s : new String[] { "campaigns", "adsets", "ads" }) {
                        if (obj.has(s)) {
                            isRedownload = true;
                            obj = obj.getAsJsonObject(s);
                            for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                                userLeadGenFieldDatas.add(loadJSON(entry.getValue().toString(), context));
                            }
                            break;
                        }
                    }
                    if (!isRedownload) {
                        userLeadGenFieldDatas.add(loadJSON(obj.toString(), context));
                    }
                }
                return userLeadGenFieldDatas;
            } else if (obj.has("images")) {
                // Fourth, check if it's a map of image objects
                obj = obj.get("images").getAsJsonObject();
                for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                    userLeadGenFieldDatas.add(loadJSON(entry.getValue().toString(), context));
                }
                return userLeadGenFieldDatas;
            } else {
                // Fifth, check if it's an array of objects indexed by id
                boolean isIdIndexedArray = true;
                for (Map.Entry entry : obj.entrySet()) {
                    String key = (String) entry.getKey();
                    if (key.equals("__fb_trace_id__")) {
                        continue;
                    }
                    JsonElement value = (JsonElement) entry.getValue();
                    if (value != null && value.isJsonObject() && value.getAsJsonObject().has("id")
                            && value.getAsJsonObject().get("id") != null
                            && value.getAsJsonObject().get("id").getAsString().equals(key)) {
                        userLeadGenFieldDatas.add(loadJSON(value.toString(), context));
                    } else {
                        isIdIndexedArray = false;
                        break;
                    }
                }
                if (isIdIndexedArray) {
                    return userLeadGenFieldDatas;
                }

                // Sixth, check if it's pure JsonObject
                userLeadGenFieldDatas.clear();
                userLeadGenFieldDatas.add(loadJSON(json, context));
                return userLeadGenFieldDatas;
            }
        }
    } catch (Exception e) {
        exception = e;
    }
    throw new MalformedResponseException("Invalid response string: " + json, exception);
}

From source file:com.facebook.ads.sdk.VideoThumbnail.java

License:Open Source License

public static APINodeList<VideoThumbnail> parseResponse(String json, APIContext context, APIRequest request)
        throws MalformedResponseException {
    APINodeList<VideoThumbnail> videoThumbnails = new APINodeList<VideoThumbnail>(request, json);
    JsonArray arr;// www.j a v a 2s .  c o m
    JsonObject obj;
    JsonParser parser = new JsonParser();
    Exception exception = null;
    try {
        JsonElement result = parser.parse(json);
        if (result.isJsonArray()) {
            // First, check if it's a pure JSON Array
            arr = result.getAsJsonArray();
            for (int i = 0; i < arr.size(); i++) {
                videoThumbnails.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
            }
            ;
            return videoThumbnails;
        } else if (result.isJsonObject()) {
            obj = result.getAsJsonObject();
            if (obj.has("data")) {
                if (obj.has("paging")) {
                    JsonObject paging = obj.get("paging").getAsJsonObject().get("cursors").getAsJsonObject();
                    String before = paging.has("before") ? paging.get("before").getAsString() : null;
                    String after = paging.has("after") ? paging.get("after").getAsString() : null;
                    videoThumbnails.setPaging(before, after);
                }
                if (obj.get("data").isJsonArray()) {
                    // Second, check if it's a JSON array with "data"
                    arr = obj.get("data").getAsJsonArray();
                    for (int i = 0; i < arr.size(); i++) {
                        videoThumbnails.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
                    }
                    ;
                } else if (obj.get("data").isJsonObject()) {
                    // Third, check if it's a JSON object with "data"
                    obj = obj.get("data").getAsJsonObject();
                    boolean isRedownload = false;
                    for (String s : new String[] { "campaigns", "adsets", "ads" }) {
                        if (obj.has(s)) {
                            isRedownload = true;
                            obj = obj.getAsJsonObject(s);
                            for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                                videoThumbnails.add(loadJSON(entry.getValue().toString(), context));
                            }
                            break;
                        }
                    }
                    if (!isRedownload) {
                        videoThumbnails.add(loadJSON(obj.toString(), context));
                    }
                }
                return videoThumbnails;
            } else if (obj.has("images")) {
                // Fourth, check if it's a map of image objects
                obj = obj.get("images").getAsJsonObject();
                for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                    videoThumbnails.add(loadJSON(entry.getValue().toString(), context));
                }
                return videoThumbnails;
            } else {
                // Fifth, check if it's an array of objects indexed by id
                boolean isIdIndexedArray = true;
                for (Map.Entry entry : obj.entrySet()) {
                    String key = (String) entry.getKey();
                    if (key.equals("__fb_trace_id__")) {
                        continue;
                    }
                    JsonElement value = (JsonElement) entry.getValue();
                    if (value != null && value.isJsonObject() && value.getAsJsonObject().has("id")
                            && value.getAsJsonObject().get("id") != null
                            && value.getAsJsonObject().get("id").getAsString().equals(key)) {
                        videoThumbnails.add(loadJSON(value.toString(), context));
                    } else {
                        isIdIndexedArray = false;
                        break;
                    }
                }
                if (isIdIndexedArray) {
                    return videoThumbnails;
                }

                // Sixth, check if it's pure JsonObject
                videoThumbnails.clear();
                videoThumbnails.add(loadJSON(json, context));
                return videoThumbnails;
            }
        }
    } catch (Exception e) {
        exception = e;
    }
    throw new MalformedResponseException("Invalid response string: " + json, exception);
}

From source file:com.facebook.ads.sdk.WebAppLink.java

License:Open Source License

public static APINodeList<WebAppLink> parseResponse(String json, APIContext context, APIRequest request)
        throws MalformedResponseException {
    APINodeList<WebAppLink> webAppLinks = new APINodeList<WebAppLink>(request, json);
    JsonArray arr;/*from   ww w .  j a va2s . c om*/
    JsonObject obj;
    JsonParser parser = new JsonParser();
    Exception exception = null;
    try {
        JsonElement result = parser.parse(json);
        if (result.isJsonArray()) {
            // First, check if it's a pure JSON Array
            arr = result.getAsJsonArray();
            for (int i = 0; i < arr.size(); i++) {
                webAppLinks.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
            }
            ;
            return webAppLinks;
        } else if (result.isJsonObject()) {
            obj = result.getAsJsonObject();
            if (obj.has("data")) {
                if (obj.has("paging")) {
                    JsonObject paging = obj.get("paging").getAsJsonObject().get("cursors").getAsJsonObject();
                    String before = paging.has("before") ? paging.get("before").getAsString() : null;
                    String after = paging.has("after") ? paging.get("after").getAsString() : null;
                    webAppLinks.setPaging(before, after);
                }
                if (obj.get("data").isJsonArray()) {
                    // Second, check if it's a JSON array with "data"
                    arr = obj.get("data").getAsJsonArray();
                    for (int i = 0; i < arr.size(); i++) {
                        webAppLinks.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
                    }
                    ;
                } else if (obj.get("data").isJsonObject()) {
                    // Third, check if it's a JSON object with "data"
                    obj = obj.get("data").getAsJsonObject();
                    boolean isRedownload = false;
                    for (String s : new String[] { "campaigns", "adsets", "ads" }) {
                        if (obj.has(s)) {
                            isRedownload = true;
                            obj = obj.getAsJsonObject(s);
                            for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                                webAppLinks.add(loadJSON(entry.getValue().toString(), context));
                            }
                            break;
                        }
                    }
                    if (!isRedownload) {
                        webAppLinks.add(loadJSON(obj.toString(), context));
                    }
                }
                return webAppLinks;
            } else if (obj.has("images")) {
                // Fourth, check if it's a map of image objects
                obj = obj.get("images").getAsJsonObject();
                for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                    webAppLinks.add(loadJSON(entry.getValue().toString(), context));
                }
                return webAppLinks;
            } else {
                // Fifth, check if it's an array of objects indexed by id
                boolean isIdIndexedArray = true;
                for (Map.Entry entry : obj.entrySet()) {
                    String key = (String) entry.getKey();
                    if (key.equals("__fb_trace_id__")) {
                        continue;
                    }
                    JsonElement value = (JsonElement) entry.getValue();
                    if (value != null && value.isJsonObject() && value.getAsJsonObject().has("id")
                            && value.getAsJsonObject().get("id") != null
                            && value.getAsJsonObject().get("id").getAsString().equals(key)) {
                        webAppLinks.add(loadJSON(value.toString(), context));
                    } else {
                        isIdIndexedArray = false;
                        break;
                    }
                }
                if (isIdIndexedArray) {
                    return webAppLinks;
                }

                // Sixth, check if it's pure JsonObject
                webAppLinks.clear();
                webAppLinks.add(loadJSON(json, context));
                return webAppLinks;
            }
        }
    } catch (Exception e) {
        exception = e;
    }
    throw new MalformedResponseException("Invalid response string: " + json, exception);
}

From source file:com.facebook.ads.sdk.WindowsAppLink.java

License:Open Source License

public static APINodeList<WindowsAppLink> parseResponse(String json, APIContext context, APIRequest request)
        throws MalformedResponseException {
    APINodeList<WindowsAppLink> windowsAppLinks = new APINodeList<WindowsAppLink>(request, json);
    JsonArray arr;//from w w w . j av a 2s. com
    JsonObject obj;
    JsonParser parser = new JsonParser();
    Exception exception = null;
    try {
        JsonElement result = parser.parse(json);
        if (result.isJsonArray()) {
            // First, check if it's a pure JSON Array
            arr = result.getAsJsonArray();
            for (int i = 0; i < arr.size(); i++) {
                windowsAppLinks.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
            }
            ;
            return windowsAppLinks;
        } else if (result.isJsonObject()) {
            obj = result.getAsJsonObject();
            if (obj.has("data")) {
                if (obj.has("paging")) {
                    JsonObject paging = obj.get("paging").getAsJsonObject().get("cursors").getAsJsonObject();
                    String before = paging.has("before") ? paging.get("before").getAsString() : null;
                    String after = paging.has("after") ? paging.get("after").getAsString() : null;
                    windowsAppLinks.setPaging(before, after);
                }
                if (obj.get("data").isJsonArray()) {
                    // Second, check if it's a JSON array with "data"
                    arr = obj.get("data").getAsJsonArray();
                    for (int i = 0; i < arr.size(); i++) {
                        windowsAppLinks.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
                    }
                    ;
                } else if (obj.get("data").isJsonObject()) {
                    // Third, check if it's a JSON object with "data"
                    obj = obj.get("data").getAsJsonObject();
                    boolean isRedownload = false;
                    for (String s : new String[] { "campaigns", "adsets", "ads" }) {
                        if (obj.has(s)) {
                            isRedownload = true;
                            obj = obj.getAsJsonObject(s);
                            for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                                windowsAppLinks.add(loadJSON(entry.getValue().toString(), context));
                            }
                            break;
                        }
                    }
                    if (!isRedownload) {
                        windowsAppLinks.add(loadJSON(obj.toString(), context));
                    }
                }
                return windowsAppLinks;
            } else if (obj.has("images")) {
                // Fourth, check if it's a map of image objects
                obj = obj.get("images").getAsJsonObject();
                for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                    windowsAppLinks.add(loadJSON(entry.getValue().toString(), context));
                }
                return windowsAppLinks;
            } else {
                // Fifth, check if it's an array of objects indexed by id
                boolean isIdIndexedArray = true;
                for (Map.Entry entry : obj.entrySet()) {
                    String key = (String) entry.getKey();
                    if (key.equals("__fb_trace_id__")) {
                        continue;
                    }
                    JsonElement value = (JsonElement) entry.getValue();
                    if (value != null && value.isJsonObject() && value.getAsJsonObject().has("id")
                            && value.getAsJsonObject().get("id") != null
                            && value.getAsJsonObject().get("id").getAsString().equals(key)) {
                        windowsAppLinks.add(loadJSON(value.toString(), context));
                    } else {
                        isIdIndexedArray = false;
                        break;
                    }
                }
                if (isIdIndexedArray) {
                    return windowsAppLinks;
                }

                // Sixth, check if it's pure JsonObject
                windowsAppLinks.clear();
                windowsAppLinks.add(loadJSON(json, context));
                return windowsAppLinks;
            }
        }
    } catch (Exception e) {
        exception = e;
    }
    throw new MalformedResponseException("Invalid response string: " + json, exception);
}

From source file:com.facebook.ads.sdk.WindowsPhoneAppLink.java

License:Open Source License

public static APINodeList<WindowsPhoneAppLink> parseResponse(String json, APIContext context,
        APIRequest request) throws MalformedResponseException {
    APINodeList<WindowsPhoneAppLink> windowsPhoneAppLinks = new APINodeList<WindowsPhoneAppLink>(request, json);
    JsonArray arr;/*from w w  w  .ja v  a2 s  . c  o m*/
    JsonObject obj;
    JsonParser parser = new JsonParser();
    Exception exception = null;
    try {
        JsonElement result = parser.parse(json);
        if (result.isJsonArray()) {
            // First, check if it's a pure JSON Array
            arr = result.getAsJsonArray();
            for (int i = 0; i < arr.size(); i++) {
                windowsPhoneAppLinks.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
            }
            ;
            return windowsPhoneAppLinks;
        } else if (result.isJsonObject()) {
            obj = result.getAsJsonObject();
            if (obj.has("data")) {
                if (obj.has("paging")) {
                    JsonObject paging = obj.get("paging").getAsJsonObject().get("cursors").getAsJsonObject();
                    String before = paging.has("before") ? paging.get("before").getAsString() : null;
                    String after = paging.has("after") ? paging.get("after").getAsString() : null;
                    windowsPhoneAppLinks.setPaging(before, after);
                }
                if (obj.get("data").isJsonArray()) {
                    // Second, check if it's a JSON array with "data"
                    arr = obj.get("data").getAsJsonArray();
                    for (int i = 0; i < arr.size(); i++) {
                        windowsPhoneAppLinks.add(loadJSON(arr.get(i).getAsJsonObject().toString(), context));
                    }
                    ;
                } else if (obj.get("data").isJsonObject()) {
                    // Third, check if it's a JSON object with "data"
                    obj = obj.get("data").getAsJsonObject();
                    boolean isRedownload = false;
                    for (String s : new String[] { "campaigns", "adsets", "ads" }) {
                        if (obj.has(s)) {
                            isRedownload = true;
                            obj = obj.getAsJsonObject(s);
                            for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                                windowsPhoneAppLinks.add(loadJSON(entry.getValue().toString(), context));
                            }
                            break;
                        }
                    }
                    if (!isRedownload) {
                        windowsPhoneAppLinks.add(loadJSON(obj.toString(), context));
                    }
                }
                return windowsPhoneAppLinks;
            } else if (obj.has("images")) {
                // Fourth, check if it's a map of image objects
                obj = obj.get("images").getAsJsonObject();
                for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
                    windowsPhoneAppLinks.add(loadJSON(entry.getValue().toString(), context));
                }
                return windowsPhoneAppLinks;
            } else {
                // Fifth, check if it's an array of objects indexed by id
                boolean isIdIndexedArray = true;
                for (Map.Entry entry : obj.entrySet()) {
                    String key = (String) entry.getKey();
                    if (key.equals("__fb_trace_id__")) {
                        continue;
                    }
                    JsonElement value = (JsonElement) entry.getValue();
                    if (value != null && value.isJsonObject() && value.getAsJsonObject().has("id")
                            && value.getAsJsonObject().get("id") != null
                            && value.getAsJsonObject().get("id").getAsString().equals(key)) {
                        windowsPhoneAppLinks.add(loadJSON(value.toString(), context));
                    } else {
                        isIdIndexedArray = false;
                        break;
                    }
                }
                if (isIdIndexedArray) {
                    return windowsPhoneAppLinks;
                }

                // Sixth, check if it's pure JsonObject
                windowsPhoneAppLinks.clear();
                windowsPhoneAppLinks.add(loadJSON(json, context));
                return windowsPhoneAppLinks;
            }
        }
    } catch (Exception e) {
        exception = e;
    }
    throw new MalformedResponseException("Invalid response string: " + json, exception);
}

From source file:com.facebook.buck.plugin.intellij.commands.event.EventFactory.java

License:Apache License

@Nullable
public static Event factory(JsonObject object) {
    String type = object.get("type").getAsString();
    int timestamp = object.get("timestamp").getAsInt();
    String buildId = object.get("buildId").getAsString();
    int threadId = object.get("threadId").getAsInt();
    if (RULE_START.equals(type)) {
        String name = object.get("buildRule").getAsJsonObject().get("name").getAsString();
        return new RuleStart(timestamp, buildId, threadId, name);
    } else if (RULE_END.equals(type)) {
        String name = object.get("buildRule").getAsJsonObject().get("name").getAsString();
        String status = object.get("status").getAsString();
        String cache = object.get("cacheResult").getAsString();
        return new RuleEnd(timestamp, buildId, threadId, name, status, cache.equals("HIT"));
    } else if (TEST_RESULTS_AVAILABLE.equals(type)) {
        return TestResultsAvailable.factory(object, timestamp, buildId, threadId);
    } else {//from  w  ww  .  j  av a  2 s  . c  o  m
        LOG.warn("Unhandled message: " + object.toString());
    }
    return null;
}

From source file:com.facebook.buck.rules.BuildInfoRecorder.java

License:Apache License

private String toJson(Multimap<String, String> multimap) {
    JsonObject out = new JsonObject();
    for (Map.Entry<String, Collection<String>> entry : multimap.asMap().entrySet()) {
        JsonArray values = new JsonArray();
        for (String value : entry.getValue()) {
            values.add(new JsonPrimitive(value));
        }//  w  w  w  .j  a  v a 2s  .  c  om
        out.add(entry.getKey(), values);
    }
    return out.toString();
}

From source file:com.farsunset.cim.handler.BindHandler.java

License:Apache License

public ReplyBody process(CIMSession newSession, SentBody message) {
    DefaultSessionManager sessionManager = ((DefaultSessionManager) ContextHolder.getBean("CIMSessionManager"));

    ReplyBody reply = new ReplyBody();
    reply.setCode(CIMConstant.ReturnCode.CODE_200);
    try {//from w ww  . j a v a 2 s. co  m

        String account = message.get("account");
        newSession.setGid(StringUtil.getUUID());
        newSession.setAccount(account);
        newSession.setDeviceId(message.get("deviceId"));
        newSession.setHost(InetAddress.getLocalHost().getHostAddress());
        newSession.setChannel(message.get("channel"));
        newSession.setDeviceModel(message.get("device"));
        newSession.setClientVersion(message.get("version"));
        newSession.setSystemVersion(message.get("osVersion"));
        newSession.setBindTime(System.currentTimeMillis());
        newSession.setPackageName(message.get("packageName"));
        /**
         * ????
         */
        CIMSession oldSession = sessionManager.get(account);

        // ?????

        if (newSession.fromOtherDevice(oldSession)) {
            sendForceOfflineMessage(oldSession, account, newSession.getDeviceModel());
        }

        //??
        if (newSession.equals(oldSession)) {

            oldSession.setStatus(CIMSession.STATUS_ENABLED);
            sessionManager.update(oldSession);
            reply.put("sid", oldSession.getGid());
            return reply;
        }

        closeQuietly(oldSession);

        //
        newSession.setBindTime(System.currentTimeMillis());
        newSession.setHeartbeat(System.currentTimeMillis());

        sessionManager.add(newSession);

    } catch (Exception e) {
        reply.setCode(CIMConstant.ReturnCode.CODE_500);
        e.printStackTrace();
    }
    JsonObject json = new JsonObject();
    Gson gson = new Gson();
    List<PackPMessage> pmessage = messageService.getPrivateMessage(Integer.valueOf(message.get("account")));
    List<PackPMessage> privateMessages = new ArrayList<PackPMessage>();
    List<PackPMessage> validateMessages = new ArrayList<PackPMessage>();
    for (PackPMessage pp : pmessage) {
        if (pp.getMessages().get(0).getType().equals("3")) {
            validateMessages.add(pp);
        } else {
            privateMessages.add(pp);
        }
    }
    List<PackGMessage> gmessage = messageService.getGroupMessage(Integer.valueOf(message.get("account")));
    json.addProperty("private", gson.toJson(privateMessages));
    json.addProperty("validate", gson.toJson(validateMessages));
    json.addProperty("group", gson.toJson(gmessage));
    if (validateMessages.size() > 0 || privateMessages.size() > 0 || gmessage.size() > 0) {
        Message mm = new Message();
        mm.setContent(json.toString());
        mm.setAction("4");
        mm.setSender("all");
        mm.setReceiver(message.get("account"));
        MessageDispatcher.execute(mm, "127.0.0.1");
        mm.setTitle("?");
    }

    logger.debug("bind :account:" + message.get("account") + "-----------------------------" + reply.getCode());
    reply.put("sid", newSession.getGid());
    return reply;
}

From source file:com.flipkart.android.proteus.builder.SimpleLayoutBuilder.java

License:Apache License

@Override
@Nullable// ww  w.j  a va 2s  .  co m
public ProteusView build(ViewGroup parent, JsonObject layout, JsonObject data, int index, Styles styles) {
    String type = Utils.getPropertyAsString(layout, ProteusConstants.TYPE);

    if (type == null) {
        throw new IllegalArgumentException("'type' missing in layout: " + layout.toString());
    }

    LayoutHandler handler = layoutHandlers.get(type);
    if (handler == null) {
        return onUnknownViewEncountered(type, parent, layout, data, index, styles);
    }

    /**
     * View creation.
     */
    final ProteusView view;

    onBeforeCreateView(handler, parent, layout, data, index, styles);
    view = createView(handler, parent, layout, data, index, styles);
    onAfterCreateView(handler, view, parent, layout, data, index, styles);

    ProteusViewManager viewManager = createViewManager(handler, parent, layout, data, index, styles);
    viewManager.setView((View) view);
    view.setViewManager(viewManager);

    /**
     * Parsing each attribute and setting it on the view.
     */
    JsonElement value;
    String attribute;

    for (Map.Entry<String, JsonElement> entry : layout.entrySet()) {
        if (ProteusConstants.TYPE.equals(entry.getKey())) {
            continue;
        }

        value = entry.getValue();
        attribute = entry.getKey();

        boolean handled = handleAttribute(handler, view, attribute, value);

        if (!handled) {
            onUnknownAttributeEncountered(attribute, value, view);
        }
    }

    return view;
}