List of usage examples for com.google.gwt.json.client JSONValue isArray
public JSONArray isArray()
From source file:org.eurekastreams.web.client.ui.connect.widget.ReadStreamWidget.java
License:Apache License
/** * Determines the page/view within Eureka to link to for the given stream request. * /* w ww.ja v a 2 s. com*/ * @param jsonRequestString * The JSON activity query request. * @return URL request for stream page; null to skip link. */ private CreateUrlRequest determineStreamLink(final String jsonRequestString) { try { JSONObject request = StreamJsonRequestFactory.getJSONRequest(jsonRequestString); JSONObject query = request.get("query").isObject(); JSONValue value = query.get("recipient"); if (value != null) { JSONArray recipients = value.isArray(); if (recipients.size() == 1) { JSONObject obj = recipients.get(0).isObject(); String type = obj.get("type").isString().stringValue(); Page page = scopeToPageMap.get(type); if (page != null) { String name = obj.get("name").isString().stringValue(); CreateUrlRequest info = new CreateUrlRequest(page, name); if (query.containsKey("keywords")) { info.getParameters().put("search", query.get("keywords").isString().stringValue()); } return info; } } } } catch (Exception ex) { int makeCheckstyleShutUp = 1; } return null; }
From source file:org.freemedsoftware.gwt.client.JsonUtil.java
License:Open Source License
@SuppressWarnings({ "unchecked", "rawtypes" }) public static synchronized Object shoehornJson(JSONValue r, String t) { if (r == null || r.toString().equals("null")) return null; if (t.equals("HashMap<String,HashMap<String,String>[]>")) { HashMap<String, HashMap<String, String>[]> oResult = new HashMap<String, HashMap<String, String>[]>(); JSONObject oA = r.isObject();/*from w w w. java2 s . c o m*/ if (oA != null) { Iterator<String> outerIter = oA.keySet().iterator(); while (outerIter.hasNext()) { String innerKey = outerIter.next(); List<HashMap<?, ?>> result = new ArrayList<HashMap<?, ?>>(); JSONArray a = oA.get(innerKey).isArray(); for (int oIter = 0; oIter < a.size(); oIter++) { HashMap<String, String> item = new HashMap<String, String>(); JSONObject obj = a.get(oIter).isObject(); Iterator<String> iter = obj.keySet().iterator(); while (iter.hasNext()) { String k = iter.next(); if (obj.get(k).isString() != null) { item.put(k, obj.get(k).isString().stringValue()); } } result.add(oIter, item); } oResult.put(innerKey, (HashMap<String, String>[]) result.toArray(new HashMap<?, ?>[0])); } } return (HashMap<String, HashMap<String, String>[]>) oResult; } if (t.equals("HashMap<String,String>[]")) { List<HashMap<?, ?>> result = new ArrayList<HashMap<?, ?>>(); JSONArray a = r.isArray(); for (int oIter = 0; oIter < a.size(); oIter++) { HashMap<String, String> item = new HashMap<String, String>(); JSONObject obj = a.get(oIter).isObject(); Iterator<String> iter = obj.keySet().iterator(); while (iter.hasNext()) { String k = iter.next(); if (obj.get(k).isString() != null) { item.put(k, obj.get(k).isString().stringValue()); } } result.add(oIter, item); } return (HashMap<String, String>[]) result.toArray(new HashMap<?, ?>[0]); } if (t.equals("HashMap<String,Object>[]")) { List<HashMap<?, ?>> result = new ArrayList<HashMap<?, ?>>(); JSONArray a = r.isArray(); for (int oIter = 0; oIter < a.size(); oIter++) { HashMap<String, Object> item = new HashMap<String, Object>(); JSONObject obj = a.get(oIter).isObject(); Iterator<String> iter = obj.keySet().iterator(); while (iter.hasNext()) { String k = iter.next(); if (obj.get(k).isString() != null) { item.put(k, obj.get(k)); } } result.add(oIter, item); } return (HashMap<String, String>[]) result.toArray(new HashMap<?, ?>[0]); } if (t.equals("HashMap<String,String>[][]")) { List<HashMap<?, ?>[]> result = new ArrayList<HashMap<?, ?>[]>(); JSONArray oArray = r.isArray(); for (int wayOuterIter = 0; wayOuterIter < oArray.size(); wayOuterIter++) { List<HashMap<?, ?>> innerResult = new ArrayList<HashMap<?, ?>>(); JSONArray a = r.isArray(); for (int oIter = 0; oIter < a.size(); oIter++) { HashMap<String, String> item = new HashMap<String, String>(); JSONObject obj = a.get(oIter).isObject(); Iterator<String> iter = obj.keySet().iterator(); while (iter.hasNext()) { String k = iter.next(); if (obj.get(k).isString() != null) { item.put(k, obj.get(k).isString().stringValue()); } } innerResult.add(oIter, item); } result.add(wayOuterIter, innerResult.toArray(new HashMap<?, ?>[0])); } return (HashMap<String, String>[][]) result.toArray(new HashMap<?, ?>[0][0]); } if (t.equals("HashMap<String,String>")) { JSONObject obj = r.isObject(); HashMap<String, String> result = new HashMap<String, String>(); Iterator<String> iter = obj.keySet().iterator(); while (iter.hasNext()) { String k = iter.next(); if (obj.get(k).isString() != null) { result.put(k, obj.get(k).isString().stringValue()); } } return (HashMap<String, String>) result; } if (t.equals("HashMap<String,Object>")) { JSONObject obj = r.isObject(); HashMap<String, Object> result = new HashMap<String, Object>(); Iterator<String> iter = obj.keySet().iterator(); while (iter.hasNext()) { String k = iter.next(); if (obj.get(k) != null) { result.put(k, obj.get(k)); } } return (HashMap<String, Object>) result; } if (t.equals("HashMap<String,HashMap<String,String>>")) { HashMap<String, HashMap<String, String>> oResult = new HashMap<String, HashMap<String, String>>(); JSONObject oA = r.isObject(); if (oA != null) { Iterator<String> outerIter = oA.keySet().iterator(); while (outerIter.hasNext()) { String innerKey = outerIter.next(); HashMap<String, String> item = new HashMap<String, String>(); JSONObject obj = oA.get(innerKey).isObject(); Iterator<String> iter = obj.keySet().iterator(); while (iter.hasNext()) { String k = iter.next(); if (obj.get(k).isString() != null) { item.put(k, obj.get(k).isString().stringValue()); } } oResult.put(innerKey, (HashMap<String, String>) item); } } return (HashMap<String, HashMap<String, String>>) oResult; } if (t.equals("HashMap<String,HashMap<String,Integer>>")) { HashMap<String, HashMap<String, Integer>> oResult = new HashMap<String, HashMap<String, Integer>>(); JSONObject oA = r.isObject(); if (oA != null) { Iterator<String> outerIter = oA.keySet().iterator(); while (outerIter.hasNext()) { String innerKey = outerIter.next(); HashMap<String, Integer> item = new HashMap<String, Integer>(); JSONObject obj = oA.get(innerKey).isObject(); Iterator<String> iter = obj.keySet().iterator(); while (iter.hasNext()) { String k = iter.next(); if (obj.get(k).isNumber() != null) { item.put(k, (int) obj.get(k).isNumber().doubleValue()); } } oResult.put(innerKey, (HashMap<String, Integer>) item); } } return (HashMap<String, HashMap<String, Integer>>) oResult; } if (t.equals("HashMap<Integer,String>")) { JSONObject obj = r.isObject(); HashMap<Integer, String> result = new HashMap<Integer, String>(); Iterator<String> iter = obj.keySet().iterator(); while (iter.hasNext()) { String k = iter.next(); if (obj.get(k).isString() != null) { result.put(Integer.valueOf(k), obj.get(k).isString().stringValue()); } } return (HashMap<Integer, String>) result; } if (t.equals("HashMap<String,Integer>")) { JSONObject obj = r.isObject(); HashMap<String, Integer> result = new HashMap<String, Integer>(); Iterator<String> iter = obj.keySet().iterator(); while (iter.hasNext()) { String k = iter.next(); if (obj.get(k).isNumber() != null) { result.put(k, (int) obj.get(k).isNumber().doubleValue()); } } return (HashMap<String, Integer>) result; } if (t.equals("String[][]")) { JSONArray outer = r.isArray(); List<String[]> x = new ArrayList<String[]>(); if (r.isArray() != null) { for (int oIter = 0; oIter < outer.size(); oIter++) { if (outer.get(oIter).isArray() != null) { JSONArray inner = outer.get(oIter).isArray(); List<String> xI = new ArrayList<String>(); if (inner.isArray() != null) { for (int iIter = 0; iIter < inner.size(); iIter++) { if (inner.get(iIter).isString() != null) { xI.add(iIter, inner.get(iIter).isString().stringValue()); } else if (inner.get(iIter).isNumber() != null) { xI.add(iIter, inner.get(iIter).isNumber().toString()); } } } x.add((String[]) xI.toArray(new String[0])); } } return (String[][]) x.toArray(new String[0][0]); } } if (t.equals("String[]")) { JSONArray a = r.isArray(); List<String> x = new ArrayList<String>(); if (r.isArray() != null) { for (int iter = 0; iter < a.size(); iter++) { if (a.get(iter).isString() != null) { x.add(iter, a.get(iter).isString().stringValue()); } } } return (String[]) x.toArray(new String[0]); } if (t.compareToIgnoreCase("HashMap<String,String[]>") == 0) { HashMap<String, String[]> oResult = new HashMap<String, String[]>(); JSONObject oA = r.isObject(); if (oA != null) { Iterator<String> outerIter = oA.keySet().iterator(); while (outerIter.hasNext()) { String innerKey = outerIter.next(); JSONArray a = oA.get(innerKey).isArray(); String[] x = new String[a.size()]; if (a.isArray() != null) { for (int iter = 0; iter < a.size(); iter++) { if (a.get(iter).isString() != null) { // x.add(iter, // a.get(iter).isString().stringValue()); x[iter] = a.get(iter).isString().stringValue(); } } } oResult.put(innerKey, x); } } return (HashMap<String, String[]>) oResult; } if (t.compareToIgnoreCase("HashMap<String,List>") == 0) { HashMap<String, List> oResult = new HashMap<String, List>(); JSONObject oA = r.isObject(); if (oA != null) { Iterator<String> outerIter = oA.keySet().iterator(); while (outerIter.hasNext()) { String innerKey = outerIter.next(); JSONArray a = oA.get(innerKey).isArray(); List x = new ArrayList(); if (a.isArray() != null) { for (int iter = 0; iter < a.size(); iter++) { if (a.get(iter).isString() != null) { // x.add(iter, // a.get(iter).isString().stringValue()); x.add(a.get(iter).isString().stringValue()); } } } oResult.put(innerKey, x); } } return (HashMap<String, List>) oResult; } if (t.compareToIgnoreCase("String") == 0) { if (r.isString() != null) { return (String) r.isString().stringValue(); } } if (t.compareToIgnoreCase("Integer") == 0) { if (r.isNumber() != null) { return (Integer) new Integer((int) r.isNumber().doubleValue()); } } if (t.compareToIgnoreCase("Float") == 0) { if (r.isNumber() != null) { return (Float) new Float((float) r.isNumber().doubleValue()); } } if (t.compareToIgnoreCase("Boolean") == 0) { if (r.isBoolean() != null) { return (Boolean) r.isBoolean().booleanValue(); } } // If anything else bombs out... GWT.log("Could not parse type " + t, null); return null; }
From source file:org.fusesource.restygwt.client.callback.CachingCallbackFilter.java
License:Apache License
/** * when using the {@link Domain} annotation on services, we are able to group responses * of a service to invalidate them later on more fine grained. this method resolves a * possible ``domain`` to allow grouping. * * @return array of names of cache domains *//*from w ww . j a v a 2s .c o m*/ protected String[] getCacheDomains(final Method method) { if (null == method.getData().get(Domain.CACHE_DOMAIN_KEY)) return null; final JSONValue jsonValue = JSONParser.parseStrict(method.getData().get(Domain.CACHE_DOMAIN_KEY)); if (null == jsonValue) { return null; } final JSONArray jsonArray = jsonValue.isArray(); if (null != jsonArray) { final String[] dd = new String[jsonArray.size()]; for (int i = 0; i < jsonArray.size(); ++i) { dd[i] = jsonArray.get(i).isString().stringValue(); } return dd; } return null; }
From source file:org.fusesource.restygwt.client.callback.ModelChangeCallbackFilter.java
License:Apache License
/** * the real filter method, called independent of the response code * * TODO method.getResponse() is not equal to response. unfortunately *///from w w w. j a v a2 s .c o m @Override public RequestCallback filter(final Method method, final Response response, RequestCallback callback) { final int code = response.getStatusCode(); if (code < Response.SC_MULTIPLE_CHOICES // code < 300 && code >= Response.SC_OK) { // code >= 200 String modelChangeIdentifier = method.getData().get(ModelChange.MODEL_CHANGED_DOMAIN_KEY); if (modelChangeIdentifier != null) { if (getLogger() != null) { getLogger() .fine("found modelChangeIdentifier \"" + modelChangeIdentifier + "\" in " + response); } JSONValue jsonValue = JSONParser.parseStrict(modelChangeIdentifier); JSONArray jsonArray = jsonValue.isArray(); if (jsonArray != null) { for (int i = 0; i < jsonArray.size(); ++i) { ModelChangeEvent e = new ModelChangeEvent(jsonArray.get(i).isString().stringValue()); if (getLogger() != null) { getLogger().info("fire event \"" + e + "\" ..."); } eventBus.fireEvent(e); } } else { if (getLogger() != null) { getLogger().info("found null array for model-change events"); } } } return callback; } if (getLogger() != null) { getLogger().fine("no event processing due to invalid response code: " + code); } return callback; }
From source file:org.fusesource.restygwt.client.Method.java
License:Apache License
public <T extends JavaScriptObject> void send(final OverlayCallback<T> callback) { defaultAcceptType(Resource.CONTENT_TYPE_JSON); try {//from w w w. j a va 2 s. c o m send(new AbstractRequestCallback<T>(this, callback) { protected T parseResult() throws Exception { try { JSONValue val = JSONParser.parse(response.getText()); if (val.isObject() != null) { return (T) val.isObject().getJavaScriptObject(); } else if (val.isArray() != null) { return (T) val.isArray().getJavaScriptObject(); } else { throw new ResponseFormatException("Response was NOT a JSON object"); } } catch (JSONException e) { throw new ResponseFormatException("Response was NOT a valid JSON document", e); } catch (IllegalArgumentException e) { throw new ResponseFormatException("Response was NOT a valid JSON document", e); } } }); } catch (Throwable e) { GWT.log("Received http error for: " + builder.getHTTPMethod() + " " + builder.getUrl(), e); callback.onFailure(this, e); } }
From source file:org.fusesource.restygwt.client.ObjectEncoderDecoder.java
License:Apache License
@Override public Object decode(JSONValue value) throws org.fusesource.restygwt.client.JsonEncoderDecoder.DecodingException { if (value instanceof JSONNumber) return ((JSONNumber) value).doubleValue(); else if (value instanceof JSONBoolean) return ((JSONBoolean) value).booleanValue(); else if (value instanceof JSONString) return ((JSONString) value).stringValue(); else if (value instanceof JSONArray) { JSONArray array = value.isArray(); List<Object> list = new ArrayList<Object>(array.size()); for (int ct = 0; ct < array.size(); ct++) list.add(decode(array.get(ct))); return list; } else if (value instanceof JSONObject) { JSONObject object = value.isObject(); Map<String, Object> map = new HashMap<String, Object>(); for (String key : object.keySet()) map.put(key, decode(object.get(key))); return map; } else/*from w ww . ja v a 2s . c o m*/ return null; }
From source file:org.geomajas.gwt2.client.service.JsonService.java
License:Open Source License
/** * Get a child JSON array from a parent JSON object. * //from w w w . ja va 2 s .c om * @param jsonObject The parent JSON object. * @param key The name of the child object. * @return Returns the child JSON array if it could be found, or null if the value was null. * @throws JSONException In case something went wrong while searching for the child. */ public static JSONArray getChildArray(JSONObject jsonObject, String key) throws JSONException { checkArguments(jsonObject, key); JSONValue value = jsonObject.get(key); if (value != null) { if (value.isArray() != null) { return value.isArray(); } else if (value.isNull() != null) { return null; } throw new JSONException("Child is not a JSONArray, but a: " + value.getClass()); } return null; }
From source file:org.gk.engine.client.utils.StringUtils.java
License:Open Source License
/** * ??jsonEventObject// w w w. ja v a 2s .c om * * @param eventId * @param jsonString * @return EventObject */ public static EventObject toEventObject(String eventId, String jsonString) { JSONValue val = JSONParser.parseLenient(jsonString); EventObject eo = null; if (jsonString.startsWith("{")) { eo = new EventObject(eventId, JsonConvert.jsonToMap(val.isObject())); } else if (jsonString.startsWith("[")) { eo = new EventObject(eventId, JsonConvert.jsonToList(val.isArray())); } else { eo = new EventObject(eventId, jsonString); } return eo; }
From source file:org.gwm.splice.client.service.json.JSONSerializer.java
License:Apache License
private Object convertValue(JSONValue val) { if (val.isBoolean() != null) { return new Boolean(val.isBoolean().booleanValue()); } else if (val.isNumber() != null) { return new Double(val.isNumber().getValue()); } else if (val.isString() != null) { return val.isString().stringValue(); } else if (val.isObject() != null) { Attributes attrs = new Attributes(); convertAttributes(val.isObject(), attrs); return attrs; } else if (val.isArray() != null) { JSONArray ja = val.isArray(); Object[] array = new Object[ja.size()]; for (int i = 0; i < ja.size(); i++) { array[i] = convertValue(ja.get(i)); }/*from ww w . ja v a 2 s. c o m*/ return array; } return null; }
From source file:org.gwt.dynamic.common.client.util.JsonHelper.java
License:MIT License
public static <T> List<T> fromJsonList(Class<T> beanClass, String json) { JSONValue value = JSONParser.parseStrict(json); return getReaderForBean(beanClass).readList(value.isArray()); }