You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by st...@apache.org on 2017/02/20 21:06:07 UTC

johnzon git commit: JOHNZON-96 upgrade to last version of the JSON-P-1.1 spec

Repository: johnzon
Updated Branches:
  refs/heads/JSONP-1.1 6aea7acc3 -> 184e477c5


JOHNZON-96 upgrade to last version of the JSON-P-1.1 spec

WIP.
Make it compile again.
Tests still broken.
Some methods still missing.


Project: http://git-wip-us.apache.org/repos/asf/johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/johnzon/commit/184e477c
Tree: http://git-wip-us.apache.org/repos/asf/johnzon/tree/184e477c
Diff: http://git-wip-us.apache.org/repos/asf/johnzon/diff/184e477c

Branch: refs/heads/JSONP-1.1
Commit: 184e477c571604b0ff94454706ba6425b7808927
Parents: 6aea7ac
Author: Mark Struberg <st...@apache.org>
Authored: Mon Feb 20 22:05:11 2017 +0100
Committer: Mark Struberg <st...@apache.org>
Committed: Mon Feb 20 22:05:11 2017 +0100

----------------------------------------------------------------------
 .../johnzon/core/JsonPatchBuilderImpl.java      |  19 ----
 .../org/apache/johnzon/core/JsonPatchImpl.java  |   3 +-
 .../apache/johnzon/core/JsonPointerImpl.java    |  10 ++
 .../apache/johnzon/core/JsonProviderImpl.java   | 105 +++++++++++++------
 .../apache/johnzon/core/JsonPointerTest.java    |   6 +-
 5 files changed, 90 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/johnzon/blob/184e477c/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchBuilderImpl.java
----------------------------------------------------------------------
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchBuilderImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchBuilderImpl.java
index 1dc5ae4..0d8fe55 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchBuilderImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchBuilderImpl.java
@@ -20,7 +20,6 @@ import javax.json.JsonArray;
 import javax.json.JsonObject;
 import javax.json.JsonPatch;
 import javax.json.JsonPatchBuilder;
-import javax.json.JsonStructure;
 import javax.json.JsonValue;
 import java.util.ArrayList;
 import java.util.List;
@@ -54,24 +53,6 @@ class JsonPatchBuilderImpl implements JsonPatchBuilder {
     }
 
 
-
-    //X TODO this should get simplified to only one method like JsonPatch
-    @Override
-    public JsonStructure apply(JsonStructure target) {
-        return build().apply(target);
-    }
-
-    @Override
-    public JsonObject apply(JsonObject target) {
-        return build().apply(target);
-    }
-
-    @Override
-    public JsonArray apply(JsonArray target) {
-        return build().apply(target);
-    }
-
-
     @Override
     public JsonPatchBuilder add(String path, JsonValue value) {
         return addOperation(new JsonPatchImpl.PatchValue(JsonPatchOperation.ADD,

http://git-wip-us.apache.org/repos/asf/johnzon/blob/184e477c/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchImpl.java
----------------------------------------------------------------------
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchImpl.java
index 813dba0..ae45792 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPatchImpl.java
@@ -114,7 +114,8 @@ class JsonPatchImpl implements JsonPatch {
     }
 
 
-    JsonArray toJsonArray() {
+    @Override
+    public JsonArray toJsonArray() {
 
         JsonArrayBuilder builder = Json.createArrayBuilder();
         for (PatchValue patch : patches) {

http://git-wip-us.apache.org/repos/asf/johnzon/blob/184e477c/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPointerImpl.java
----------------------------------------------------------------------
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPointerImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPointerImpl.java
index 0b01c3d..b674ad9 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPointerImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonPointerImpl.java
@@ -116,6 +116,16 @@ public class JsonPointerImpl implements JsonPointer {
         return jsonValue;
     }
 
+    @Override
+    public boolean containsValue(JsonStructure target) {
+        try {
+            getValue(target);
+            return true;
+        } catch (JsonException je) {
+            return false;
+        }
+    }
+
     /**
      * Adds or replaces a value at the referenced location in the specified
      * {@code target} with the specified {@code value}.

http://git-wip-us.apache.org/repos/asf/johnzon/blob/184e477c/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
----------------------------------------------------------------------
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
index 4b011a7..9d105fa 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
@@ -23,17 +23,24 @@ import java.io.OutputStream;
 import java.io.Reader;
 import java.io.Serializable;
 import java.io.Writer;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Collection;
 import java.util.Map;
 
 import javax.json.JsonArray;
 import javax.json.JsonArrayBuilder;
 import javax.json.JsonBuilderFactory;
+import javax.json.JsonMergePatch;
+import javax.json.JsonNumber;
+import javax.json.JsonObject;
 import javax.json.JsonObjectBuilder;
 import javax.json.JsonPatch;
 import javax.json.JsonPatchBuilder;
 import javax.json.JsonPointer;
 import javax.json.JsonReader;
 import javax.json.JsonReaderFactory;
+import javax.json.JsonString;
 import javax.json.JsonStructure;
 import javax.json.JsonValue;
 import javax.json.JsonWriter;
@@ -121,35 +128,90 @@ public class JsonProviderImpl extends JsonProvider implements Serializable {
     public JsonBuilderFactory createBuilderFactory(final Map<String, ?> stringMap) {
         return DELEGATE.createBuilderFactory(stringMap);
     }
+    
+    @Override
+    public JsonPatchBuilder createPatchBuilder() {
+        return DELEGATE.createPatchBuilder();
+    }
 
     @Override
-    public JsonPointer createJsonPointer(String path) {
-        return DELEGATE.createJsonPointer(path);
+    public JsonPatchBuilder createPatchBuilder(JsonArray initialData) {
+        return DELEGATE.createPatchBuilder(initialData);
     }
 
     @Override
-    public JsonPatch createPatch(JsonStructure source, JsonStructure target) {
-        return DELEGATE.createPatch(source, target);
+    public JsonObjectBuilder createObjectBuilder(JsonObject jsonObject) {
+        return DELEGATE.createObjectBuilder(jsonObject);
     }
 
     @Override
-    public JsonPatchBuilder createPatchBuilder() {
-        return DELEGATE.createPatchBuilder();
+    public JsonObjectBuilder createObjectBuilder(Map<String, Object> map) {
+        return DELEGATE.createObjectBuilder(map);
     }
 
     @Override
-    public JsonPatchBuilder createPatchBuilder(JsonArray initialData) {
-        return DELEGATE.createPatchBuilder(initialData);
+    public JsonArrayBuilder createArrayBuilder(JsonArray initialData) {
+        return DELEGATE.createArrayBuilder(initialData);
+    }
+
+    @Override
+    public JsonArrayBuilder createArrayBuilder(Collection<Object> initialData) {
+        return DELEGATE.createArrayBuilder(initialData);
+    }
+
+    @Override
+    public JsonPointer createPointer(String path) {
+        return DELEGATE.createPointer(path);
+    }
+
+    @Override
+    public JsonString createValue(String value) {
+        return DELEGATE.createValue(value);
+    }
+
+    @Override
+    public JsonNumber createValue(int value) {
+        return DELEGATE.createValue(value);
+    }
+
+    @Override
+    public JsonNumber createValue(long value) {
+        return DELEGATE.createValue(value);
     }
 
     @Override
-    public JsonValue createMergePatch(JsonValue source, JsonValue target) {
-        return DELEGATE.createMergePatch(source, target);
+    public JsonNumber createValue(double value) {
+        return DELEGATE.createValue(value);
     }
 
     @Override
-    public JsonValue mergePatch(JsonValue source, JsonValue patch) {
-        return DELEGATE.mergePatch(source, patch);
+    public JsonNumber createValue(BigDecimal value) {
+        return DELEGATE.createValue(value);
+    }
+
+    @Override
+    public JsonNumber createValue(BigInteger value) {
+        return DELEGATE.createValue(value);
+    }
+
+    @Override
+    public JsonPatch createPatch(JsonArray array) {
+        return DELEGATE.createPatch(array);
+    }
+
+    @Override
+    public JsonPatch createDiff(JsonStructure source, JsonStructure target) {
+        return DELEGATE.createDiff(source, target);
+    }
+
+    @Override
+    public JsonMergePatch createMergePatch(JsonValue patch) {
+        return DELEGATE.createMergePatch(patch);
+    }
+
+    @Override
+    public JsonMergePatch createMergeDiff(JsonValue source, JsonValue target) {
+        return DELEGATE.createMergeDiff(source, target);
     }
 
     static class JsonProviderDelegate extends JsonProvider {
@@ -235,16 +297,6 @@ public class JsonProviderImpl extends JsonProvider implements Serializable {
         }
 
         @Override
-        public JsonPointer createJsonPointer(String path) {
-            return new JsonPointerImpl(path);
-        }
-
-        @Override
-        public JsonPatch createPatch(JsonStructure source, JsonStructure target) {
-            throw new UnsupportedOperationException("TODO JSON-P 1.1");
-        }
-
-        @Override
         public JsonPatchBuilder createPatchBuilder() {
             return new JsonPatchBuilderImpl();
         }
@@ -254,14 +306,7 @@ public class JsonProviderImpl extends JsonProvider implements Serializable {
             return new JsonPatchBuilderImpl(initialData);
         }
 
-        @Override
-        public JsonValue createMergePatch(JsonValue source, JsonValue target) {
-            throw new UnsupportedOperationException("TODO JSON-P 1.1");
-        }
+        //X TODO add missing methods
 
-        @Override
-        public JsonValue mergePatch(JsonValue source, JsonValue patch) {
-            throw new UnsupportedOperationException("TODO JSON-P 1.1");
-        }
     }
 }

http://git-wip-us.apache.org/repos/asf/johnzon/blob/184e477c/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPointerTest.java
----------------------------------------------------------------------
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPointerTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPointerTest.java
index 5c345e8..acab1c9 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPointerTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPointerTest.java
@@ -83,7 +83,7 @@ public class JsonPointerTest {
             assertEquals("1", result.toString());
         }
         {
-            JsonPointer jsonPointer = Json.createJsonPointer("/a~1b");
+            JsonPointer jsonPointer = Json.createPointer("/a~1b");
             JsonValue result = jsonPointer.getValue(jsonDocument);
             assertEquals("1", result.toString());
         }
@@ -108,7 +108,7 @@ public class JsonPointerTest {
             assertEquals("3", result.toString());
         }
         {
-            JsonPointer jsonPointer = Json.createJsonPointer("/e^f");
+            JsonPointer jsonPointer = Json.createPointer("/e^f");
             JsonValue result = jsonPointer.getValue(jsonDocument);
             assertEquals("3", result.toString());
         }
@@ -124,7 +124,7 @@ public class JsonPointerTest {
             assertEquals("4", result.toString());
         }
         {
-            JsonPointer jsonPointer = Json.createJsonPointer("/g|h");
+            JsonPointer jsonPointer = Json.createPointer("/g|h");
             JsonValue result = jsonPointer.getValue(jsonDocument);
             assertEquals("4", result.toString());
         }