Example usage for com.google.gson JsonElement getAsString

List of usage examples for com.google.gson JsonElement getAsString

Introduction

In this page you can find the example usage for com.google.gson JsonElement getAsString.

Prototype

public String getAsString() 

Source Link

Document

convenience method to get this element as a string value.

Usage

From source file:GeoLocation.java

public static void main(String args[]) {
    try {//from www  . j  ava 2 s  .  co  m

        URL myURL = new URL(
                "https://maps.googleapis.com/maps/api/geocode/json?latlng=17.451425,%2078.380957&key=AIzaSyDe_RBKl4DBGy6YCWRPXi9eQzYACt05Tr8");
        URLConnection myURLConnection = myURL.openConnection();
        myURLConnection.connect();
        BufferedReader in = new BufferedReader(new InputStreamReader(myURLConnection.getInputStream()));

        StringBuilder sb = new StringBuilder();

        String line = null;

        while ((line = in.readLine()) != null) {
            sb.append(line + "\n");
        }

        JsonElement json = new JsonParser().parse(sb.toString());
        JsonObject j = json.getAsJsonObject();
        JsonElement je = j.get("results");
        JsonArray ja = je.getAsJsonArray();
        JsonElement je1 = ja.get(1);
        JsonObject j1 = je1.getAsJsonObject();
        JsonElement je2 = j1.get("formatted_address");
        System.out.println(je2.getAsString());
    } catch (MalformedURLException e) {
        // new URL() failed
        // ...
    } catch (IOException e) {
        // openConnection() failed
        // ...
    }

}

From source file:ai.api.model.Result.java

License:Apache License

void trimParameters() {
    if (parameters != null) {
        final List<String> parametersToTrim = new LinkedList<String>();
        for (final String key : parameters.keySet()) {
            final JsonElement jsonElement = parameters.get(key);
            if (jsonElement != null && jsonElement.isJsonPrimitive()) {
                if (((JsonPrimitive) jsonElement).isString() && TextUtils.isEmpty(jsonElement.getAsString())) {
                    parametersToTrim.add(key);
                }/*  w  ww . j a v a  2 s .  co m*/
            }
        }
        for (final String key : parametersToTrim) {
            parameters.remove(key);
        }
    }
}

From source file:ai.nitro.bot4j.integration.slack.receive.webhook.impl.SlackEventWebhookImpl.java

License:Open Source License

protected String handleUrlVerification(final JsonObject jsonReq, final HttpServletResponse res)
        throws IOException {
    res.setContentType("application/x-www-form-urlencoded");

    final JsonElement jsonElementChallenge = jsonReq.get(CHALLENGE);
    final String challenge = jsonElementChallenge.getAsString();

    LOG.info("Responding challenge {}", challenge);

    return challenge;
}

From source file:ai.nitro.bot4j.integration.slack.receive.webhook.impl.SlackEventWebhookImpl.java

License:Open Source License

@Override
public String post(final HttpServletRequest req, final HttpServletResponse res) {
    String result = "";

    try {/*w  w w.j a va  2s .  c o  m*/
        final String body = CharStreams.toString(req.getReader());
        final JsonParser jsonParser = new JsonParser();
        final JsonObject jsonReq = jsonParser.parse(body).getAsJsonObject();

        if (!jsonReq.has(TYPE)) {
            LOG.warn("no type in JSON");
        } else {
            final JsonElement typeJsonElement = jsonReq.get(TYPE);
            final String type = typeJsonElement.getAsString();

            switch (type) {
            case URL_VERIFICATION:
                result = handleUrlVerification(jsonReq, res);
                break;
            case EVENT_CALLBACK:
                handleEvent(jsonReq, res);
                break;
            default:
                LOG.info("unknown type {}", type);
                break;
            }
        }
    } catch (final Exception e) {
        handleException(e);
    }

    return result;
}

From source file:angularBeans.remote.InvocationHandler.java

License:LGPL

private void genericInvoke(Object service, String methodName, JsonObject params, Map<String, Object> returns,
        long reqID, String UID, HttpServletRequest request)

        throws SecurityException, ClassNotFoundException, IllegalAccessException, IllegalArgumentException,
        InvocationTargetException, NoSuchMethodException {

    Object mainReturn = null;// ww  w . ja  v a 2 s . c o m
    Method m = null;
    JsonElement argsElem = params.get("args");

    if (reqID > 0) {
        returns.put("reqId", reqID);
    }
    if (argsElem != null) {

        JsonArray args = params.get("args").getAsJsonArray();

        for (Method mt : service.getClass().getMethods()) {

            if (mt.getName().equals(methodName)) {
                m = mt;
                Type[] parameters = mt.getParameterTypes();

                if (parameters.length == args.size()) {

                    List<Object> argsValues = new ArrayList<>();

                    for (int i = 0; i < parameters.length; i++) {

                        Class typeClass;

                        String typeString = ((parameters[i]).toString());

                        if (typeString.startsWith("interface")) {

                            typeString = typeString.substring(10);
                            typeClass = Class.forName(typeString);
                        } else {
                            if (typeString.startsWith("class")) {

                                typeString = typeString.substring(6);
                                typeClass = Class.forName(typeString);
                            } else {
                                typeClass = builtInMap.get(typeString);
                            }
                        }

                        JsonElement element = args.get(i);

                        if (element.isJsonPrimitive()) {

                            String val = element.getAsString();

                            argsValues.add(CommonUtils.convertFromString(val, typeClass));

                        } else if (element.isJsonArray()) {

                            JsonArray arr = element.getAsJsonArray();

                            argsValues.add(util.deserialise(arrayTypesMap.get(typeString), arr));

                        } else {

                            argsValues.add(util.deserialise(typeClass, element));
                        }
                    }

                    if (!CommonUtils.isGetter(mt)) {
                        update(service, params);
                    }

                    try {
                        mainReturn = mt.invoke(service, argsValues.toArray());
                    } catch (Exception e) {
                        handleException(mt, e);
                        e.printStackTrace();
                    }
                }
            }
        }
    } else {

        for (Method mt : service.getClass().getMethods()) {

            if (mt.getName().equals(methodName)) {

                Type[] parameters = mt.getParameterTypes();

                // handling methods that took HttpServletRequest as parameter

                if (parameters.length == 1) {

                    //                   if(mt.getParameters()[0].getType()==HttpServletRequest.class)   
                    //                    {
                    //                      System.out.println("hehe...");
                    //                      mt.invoke(service, request);
                    //                  
                    //                    }

                } else {
                    if (!CommonUtils.isGetter(m)) {
                        update(service, params);
                    }
                    mainReturn = mt.invoke(service);
                }

            }
        }

    }

    ModelQueryImpl qImpl = (ModelQueryImpl) modelQueryFactory.get(service.getClass());

    Map<String, Object> scMap = new HashMap<>(qImpl.getData());

    returns.putAll(scMap);

    qImpl.getData().clear();

    if (!modelQueryFactory.getRootScope().getRootScopeMap().isEmpty()) {
        returns.put("rootScope", new HashMap<>(modelQueryFactory.getRootScope().getRootScopeMap()));
        modelQueryFactory.getRootScope().getRootScopeMap().clear();
    }

    String[] updates = null;

    if (m.isAnnotationPresent(NGReturn.class)) {

        if (mainReturn == null)
            mainReturn = "";

        NGReturn ngReturn = m.getAnnotation(NGReturn.class);
        updates = ngReturn.updates();

        if (ngReturn.model().length() > 0) {
            returns.put(ngReturn.model(), mainReturn);
            Map<String, String> binding = new HashMap<>();

            binding.put("boundTo", ngReturn.model());

            mainReturn = binding;
        }
    }

    if (m.isAnnotationPresent(NGPostConstruct.class)) {
        NGPostConstruct ngPostConstruct = m.getAnnotation(NGPostConstruct.class);
        updates = ngPostConstruct.updates();

    }

    if (updates != null) {
        if ((updates.length == 1) && (updates[0].equals("*"))) {

            List<String> upd = new ArrayList<>();
            for (Method met : service.getClass().getDeclaredMethods()) {

                if (CommonUtils.isGetter(met)) {

                    String fieldName = (met.getName()).substring(3);
                    String firstCar = fieldName.substring(0, 1);
                    upd.add((firstCar.toLowerCase() + fieldName.substring(1)));

                }
            }

            updates = new String[upd.size()];

            for (int i = 0; i < upd.size(); i++) {
                updates[i] = upd.get(i);
            }
        }
    }

    if (updates != null) {
        for (String up : updates) {

            String getterName = GETTER_PREFIX + up.substring(0, 1).toUpperCase() + up.substring(1);
            Method getter;
            try {
                getter = service.getClass().getMethod(getterName);
            } catch (NoSuchMethodException e) {
                getter = service.getClass()
                        .getMethod((getterName.replace(GETTER_PREFIX, BOOLEAN_GETTER_PREFIX)));
            }

            Object result = getter.invoke(service);
            returns.put(up, result);

        }
    }

    returns.put("mainReturn", mainReturn);

    if (!logger.getLogPool().isEmpty()) {
        returns.put("log", logger.getLogPool().toArray());
        logger.getLogPool().clear();
    }
}

From source file:angularBeans.remote.InvocationHandler.java

License:LGPL

private void update(Object o, JsonObject params) {

    if (params != null) {

        // boolean firstIn = false;

        for (Map.Entry<String, JsonElement> entry : params.entrySet()) {

            JsonElement value = entry.getValue();
            String name = entry.getKey();

            if ((name.equals("sessionUID")) || (name.equals("args"))) {
                continue;
            }//  w w  w .  ja v a  2 s.c  o  m

            if ((value.isJsonObject()) && (!value.isJsonNull())) {

                String getName;
                try {
                    getName = CommonUtils.obtainGetter(o.getClass().getDeclaredField(name));

                    Method getter = o.getClass().getMethod(getName);

                    Object subObj = getter.invoke(o);

                    // logger.log(Level.INFO, "#entring sub object "+name);
                    update(subObj, value.getAsJsonObject());

                } catch (NoSuchFieldException | SecurityException | IllegalAccessException
                        | IllegalArgumentException | InvocationTargetException | NoSuchMethodException e) {

                    e.printStackTrace();
                }

            }
            // ------------------------------------
            if (value.isJsonArray()) {

                try {
                    String getter = CommonUtils.obtainGetter(o.getClass().getDeclaredField(name));

                    Method get = o.getClass().getDeclaredMethod(getter);

                    Type type = get.getGenericReturnType();
                    ParameterizedType pt = (ParameterizedType) type;
                    Type actType = pt.getActualTypeArguments()[0];

                    String className = actType.toString();

                    className = className.substring(className.indexOf("class") + 6);
                    Class clazz = Class.forName(className);

                    JsonArray array = value.getAsJsonArray();

                    Collection collection = (Collection) get.invoke(o);
                    Object elem;
                    for (JsonElement element : array) {
                        if (element.isJsonPrimitive()) {
                            JsonPrimitive primitive = element.getAsJsonPrimitive();

                            elem = element;
                            if (primitive.isBoolean())
                                elem = primitive.getAsBoolean();
                            if (primitive.isString()) {
                                elem = primitive.getAsString();
                            }
                            if (primitive.isNumber())
                                elem = primitive.isNumber();

                        } else {

                            elem = util.deserialise(clazz, element);
                        }

                        try {

                            if (collection instanceof List) {

                                if (collection.contains(elem))
                                    collection.remove(elem);
                            }

                            collection.add(elem);
                        } catch (UnsupportedOperationException e) {
                            Logger.getLogger("AngularBeans").log(java.util.logging.Level.WARNING,
                                    "trying to modify an immutable collection : " + name);
                        }

                    }

                } catch (Exception e) {
                    e.printStackTrace();

                }

            }

            // ------------------------------------------
            if (value.isJsonPrimitive() && (!name.equals("setSessionUID"))) {
                try {

                    if (!CommonUtils.hasSetter(o.getClass(), name)) {
                        continue;
                    }
                    name = "set" + name.substring(0, 1).toUpperCase() + name.substring(1);

                    Class type = null;
                    for (Method set : o.getClass().getDeclaredMethods()) {
                        if (CommonUtils.isSetter(set)) {
                            if (set.getName().equals(name)) {
                                Class<?>[] pType = set.getParameterTypes();

                                type = pType[0];
                                break;

                            }
                        }

                    }

                    if (type.equals(LobWrapper.class))
                        continue;

                    Object param = null;
                    if ((params.entrySet().size() >= 1) && (type != null)) {

                        param = CommonUtils.convertFromString(value.getAsString(), type);

                    }

                    o.getClass().getMethod(name, type).invoke(o, param);

                } catch (Exception e) {
                    e.printStackTrace();

                }
            }

        }
    }

}

From source file:arces.unibo.SEPA.client.pattern.ApplicationProfile.java

License:Open Source License

/**
  "updates": {//  w  w  w  .j a va 2 s . com
   "ADD_PERSON":{
    "sparql":"INSERT DATA { ?person rdf:type iot:Person . ?person iot:hasName ?name }",
    "forcedBindings": {
   "person" : {"type":"uri", "value":""},
   "name" : {"type":"literal", "value":""}}}
 }, 
 */
public String update(String updateID) {
    JsonElement elem = null;
    if ((elem = doc.get("updates")) != null)
        if ((elem = elem.getAsJsonObject().get(updateID)) != null)
            if ((elem = elem.getAsJsonObject().get("sparql")) != null)
                return elem.getAsString();
    return null;
}

From source file:arces.unibo.SEPA.client.pattern.ApplicationProfile.java

License:Open Source License

public String subscribe(String subscribeID) {
    JsonElement elem = null;
    if ((elem = doc.get("subscribes")) != null)
        if ((elem = elem.getAsJsonObject().get(subscribeID)) != null)
            if ((elem = elem.getAsJsonObject().get("sparql")) != null)
                return elem.getAsString();
    return null;// ww w . jav a 2  s .com
}

From source file:arces.unibo.SEPA.client.pattern.ApplicationProfile.java

License:Open Source License

public String getNamespaceURI(String prefix) {
    JsonElement elem;
    String ret = null;/*from  ww  w. jav  a 2 s  .  c o m*/
    if ((elem = doc.get("namespaces")) != null)
        if ((elem = elem.getAsJsonObject().get(prefix)) != null)
            return elem.getAsString();
    return ret;
}

From source file:arces.unibo.SEPA.commons.SPARQL.BindingsResults.java

License:Open Source License

public Set<String> getVariables() {
    Set<String> vars = new HashSet<String>();
    JsonArray variables = getVariablesArray();
    if (variables == null)
        return vars;

    for (JsonElement var : variables)
        vars.add(var.getAsString());
    return vars;/*from   w  w  w.j av a 2  s  . c o  m*/
}