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());
}