diff -Nru JsonPath-json-path-2.1.0/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonOrgJsonProvider.java JsonPath-json-path-2.1.0.json.org/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonOrgJsonProvider.java --- JsonPath-json-path-2.1.0/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonOrgJsonProvider.java 2015-11-22 16:21:23.000000000 +0100 +++ JsonPath-json-path-2.1.0.json.org/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonOrgJsonProvider.java 1970-01-01 01:00:00.000000000 +0100 @@ -1,220 +0,0 @@ -package com.jayway.jsonpath.spi.json; - -import com.google.gson.JsonObject; -import com.jayway.jsonpath.InvalidJsonException; -import com.jayway.jsonpath.JsonPathException; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import org.json.JSONTokener; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.UnsupportedEncodingException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -public class JsonOrgJsonProvider extends AbstractJsonProvider { - - private static final Logger logger = LoggerFactory.getLogger(GsonJsonProvider.class); - - @Override - public Object parse(String json) throws InvalidJsonException { - try { - return new JSONTokener(json).nextValue(); - } catch (JSONException e) { - throw new InvalidJsonException(e); - } - } - - @Override - public Object parse(InputStream jsonStream, String charset) throws InvalidJsonException { - - try { - return new JSONTokener(new InputStreamReader(jsonStream, charset)).nextValue(); - } catch (UnsupportedEncodingException e) { - throw new JsonPathException(e); - } catch (JSONException e) { - throw new InvalidJsonException(e); - } - } - - @Override - public Object unwrap(Object obj) { - if(obj == JSONObject.NULL){ - return null; - } - return obj; - } - - @Override - public String toJson(Object obj) { - return obj.toString(); - } - - @Override - public Object createArray() { - return new JSONArray(); - } - - @Override - public Object createMap() { - return new JsonObject(); - } - - @Override - public boolean isArray(Object obj) { - return (obj instanceof JSONArray || obj instanceof List); - } - - @Override - public Object getArrayIndex(Object obj, int idx) { - try { - return toJsonArray(obj).get(idx); - } catch (JSONException e) { - throw new JsonPathException(e); - } - } - - @Override - public void setArrayIndex(Object array, int index, Object newValue) { - try { - if (!isArray(array)) { - throw new UnsupportedOperationException(); - } else { - toJsonArray(array).put(index, createJsonElement(newValue)); - } - } catch (JSONException e) { - throw new JsonPathException(e); - } - } - - @Override - public Object getMapValue(Object obj, String key) { - try { - JSONObject jsonObject = toJsonObject(obj); - Object o = jsonObject.get(key); - if (!jsonObject.has(key)) { - return UNDEFINED; - } else { - return unwrap(o); - } - } catch (JSONException e) { - throw new JsonPathException(e); - } - } - - @Override - public void setProperty(Object obj, Object key, Object value) { - try { - if (isMap(obj)) - toJsonObject(obj).put(key.toString(), createJsonElement(value)); - else { - JSONArray array = toJsonArray(obj); - int index; - if (key != null) { - index = key instanceof Integer ? (Integer) key : Integer.parseInt(key.toString()); - } else { - index = array.length(); - } - if (index == array.length()) { - array.put(createJsonElement(value)); - } else { - array.put(index, createJsonElement(value)); - } - } - } catch (JSONException e) { - throw new JsonPathException(e); - } - } - - @SuppressWarnings("unchecked") - public void removeProperty(Object obj, Object key) { - if (isMap(obj)) - toJsonObject(obj).remove(key.toString()); - else { - JSONArray array = toJsonArray(obj); - int index = key instanceof Integer ? (Integer) key : Integer.parseInt(key.toString()); - array.remove(index); - } - } - - @Override - public boolean isMap(Object obj) { - return (obj instanceof JSONObject); - } - - @Override - public Collection getPropertyKeys(Object obj) { - JSONObject jsonObject = toJsonObject(obj); - List keys = new ArrayList(); - try { - for (int i = 0; i < jsonObject.names().length(); i++) { - String key = (String) jsonObject.names().get(i); - keys.add(key); - - } - return keys; - } catch (JSONException e) { - throw new JsonPathException(e); - } - } - - @Override - public int length(Object obj) { - if (isArray(obj)) { - return toJsonArray(obj).length(); - } else if (isMap(obj)) { - return toJsonObject(obj).length(); - } else { - if (obj instanceof String) { - return ((String) obj).length(); - } - } - throw new JsonPathException("length operation can not applied to " + obj != null ? obj.getClass().getName() : "null"); - } - - @Override - public Iterable toIterable(Object obj) { - try { - if (isArray(obj)) { - JSONArray arr = toJsonArray(obj); - List values = new ArrayList(arr.length()); - for (int i = 0; i < arr.length(); i++) { - values.add(unwrap(arr.get(i))); - } - return values; - } else { - JSONObject jsonObject = toJsonObject(obj); - List values = new ArrayList(); - - for (int i = 0; i < jsonObject.names().length(); i++) { - String key = (String) jsonObject.names().get(i); - Object val = jsonObject.get(key); - values.add(unwrap(val)); - - } - - return values; - } - } catch (JSONException e) { - throw new JsonPathException(e); - } - } - - private Object createJsonElement(Object o) { - return o; - } - - private JSONArray toJsonArray(Object o) { - return (JSONArray) o; - } - - private JSONObject toJsonObject(Object o) { - return (JSONObject) o; - } - -} diff -Nru JsonPath-json-path-2.1.0/json-path/src/main/java/com/jayway/jsonpath/spi/mapper/JsonOrgMappingProvider.java JsonPath-json-path-2.1.0.json.org/json-path/src/main/java/com/jayway/jsonpath/spi/mapper/JsonOrgMappingProvider.java --- JsonPath-json-path-2.1.0/json-path/src/main/java/com/jayway/jsonpath/spi/mapper/JsonOrgMappingProvider.java 2015-11-22 16:21:23.000000000 +0100 +++ JsonPath-json-path-2.1.0.json.org/json-path/src/main/java/com/jayway/jsonpath/spi/mapper/JsonOrgMappingProvider.java 1970-01-01 01:00:00.000000000 +0100 @@ -1,58 +0,0 @@ -package com.jayway.jsonpath.spi.mapper; - -import com.jayway.jsonpath.Configuration; -import com.jayway.jsonpath.TypeRef; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class JsonOrgMappingProvider implements MappingProvider { - @Override - public T map(Object source, Class targetType, Configuration configuration) { - if(source == null){ - return null; - } - if(targetType.equals(Object.class) || targetType.equals(List.class) || targetType.equals(Map.class)){ - return (T) mapToObject(source); - } - return (T)source; - } - - @Override - public T map(Object source, TypeRef targetType, Configuration configuration) { - throw new UnsupportedOperationException("JsonOrg provider does not support TypeRef! Use a Jackson or Gson based provider"); - } - - - private Object mapToObject(Object source){ - if(source instanceof JSONArray){ - List mapped = new ArrayList(); - JSONArray array = (JSONArray) source; - - for (int i = 0; i < array.length(); i++){ - mapped.add(mapToObject(array.get(i))); - } - - return mapped; - } - else if (source instanceof JSONObject){ - Map mapped = new HashMap(); - JSONObject obj = (JSONObject) source; - - for (Object o : obj.keySet()) { - String key = o.toString(); - mapped.put(key, mapToObject(obj.get(key))); - } - return mapped; - } - else if (source == JSONObject.NULL){ - return null; - } else { - return source; - } - } -} diff -Nru JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/BaseTest.java JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/BaseTest.java --- JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/BaseTest.java 2015-11-22 16:21:23.000000000 +0100 +++ JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/BaseTest.java 2016-06-08 16:42:52.250197491 +0200 @@ -5,23 +5,15 @@ import com.jayway.jsonpath.spi.json.GsonJsonProvider; import com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider; import com.jayway.jsonpath.spi.json.JacksonJsonProvider; -import com.jayway.jsonpath.spi.json.JsonOrgJsonProvider; import com.jayway.jsonpath.spi.json.JsonSmartJsonProvider; import com.jayway.jsonpath.spi.mapper.GsonMappingProvider; import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider; -import com.jayway.jsonpath.spi.mapper.JsonOrgMappingProvider; import com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider; import java.util.HashMap; public class BaseTest { - public static final Configuration JSON_ORG_CONFIGURATION = Configuration - .builder() - .mappingProvider(new JsonOrgMappingProvider()) - .jsonProvider(new JsonOrgJsonProvider()) - .build(); - public static final Configuration GSON_CONFIGURATION = Configuration .builder() .mappingProvider(new GsonMappingProvider()) diff -Nru JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/Configurations.java JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/Configurations.java --- JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/Configurations.java 2015-11-22 16:21:23.000000000 +0100 +++ JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/Configurations.java 2016-06-08 16:44:52.263228220 +0200 @@ -3,23 +3,15 @@ import com.jayway.jsonpath.spi.json.GsonJsonProvider; import com.jayway.jsonpath.spi.json.JacksonJsonNodeJsonProvider; import com.jayway.jsonpath.spi.json.JacksonJsonProvider; -import com.jayway.jsonpath.spi.json.JsonOrgJsonProvider; import com.jayway.jsonpath.spi.json.JsonSmartJsonProvider; import com.jayway.jsonpath.spi.mapper.GsonMappingProvider; import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider; -import com.jayway.jsonpath.spi.mapper.JsonOrgMappingProvider; import com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider; import java.util.Arrays; public class Configurations { - public static final Configuration JSON_ORG_CONFIGURATION = Configuration - .builder() - .mappingProvider(new JsonOrgMappingProvider()) - .jsonProvider(new JsonOrgJsonProvider()) - .build(); - public static final Configuration GSON_CONFIGURATION = Configuration .builder() .mappingProvider(new GsonMappingProvider()) @@ -50,7 +42,6 @@ ,GSON_CONFIGURATION ,JACKSON_CONFIGURATION ,JACKSON_JSON_NODE_CONFIGURATION - ,JSON_ORG_CONFIGURATION ); } diff -Nru JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/JsonOrgJsonProviderTest.java JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/JsonOrgJsonProviderTest.java --- JsonPath-json-path-2.1.0/json-path/src/test/java/com/jayway/jsonpath/JsonOrgJsonProviderTest.java 2015-11-22 16:21:23.000000000 +0100 +++ JsonPath-json-path-2.1.0.json.org/json-path/src/test/java/com/jayway/jsonpath/JsonOrgJsonProviderTest.java 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -package com.jayway.jsonpath; - -import org.json.JSONArray; -import org.json.JSONObject; -import org.junit.Test; - -import java.util.List; -import java.util.Map; - -import static com.jayway.jsonpath.JsonPath.using; -import static org.assertj.core.api.Assertions.assertThat; - -public class JsonOrgJsonProviderTest extends BaseTest { - - - @Test - public void an_object_can_be_read() { - - JSONObject book = using(JSON_ORG_CONFIGURATION).parse(JSON_DOCUMENT).read("$.store.book[0]"); - - assertThat(book.get("author").toString()).isEqualTo("Nigel Rees"); - } - - @Test - public void a_property_can_be_read() { - - String category = using(JSON_ORG_CONFIGURATION).parse(JSON_DOCUMENT).read("$.store.book[0].category"); - - assertThat(category).isEqualTo("reference"); - } - - @Test - public void a_filter_can_be_applied() { - - JSONArray fictionBooks = using(JSON_ORG_CONFIGURATION).parse(JSON_DOCUMENT).read("$.store.book[?(@.category == 'fiction')]"); - - assertThat(fictionBooks.length()).isEqualTo(3); - } - - @Test - public void result_can_be_mapped_to_object() { - - List> books = using(JSON_ORG_CONFIGURATION).parse(JSON_DOCUMENT).read("$.store.book", List.class); - - assertThat(books.size()).isEqualTo(4); - } -}