You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by rm...@apache.org on 2016/05/12 10:10:16 UTC
incubator-johnzon git commit: reupdating jsonb api
Repository: incubator-johnzon
Updated Branches:
refs/heads/master a126a080d -> e38e44b22
reupdating jsonb api
Project: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/commit/e38e44b2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/tree/e38e44b2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/diff/e38e44b2
Branch: refs/heads/master
Commit: e38e44b22680c69944355ef8507227006ac7be87
Parents: a126a08
Author: Romain manni-Bucau <rm...@gmail.com>
Authored: Thu May 12 12:09:50 2016 +0200
Committer: Romain manni-Bucau <rm...@gmail.com>
Committed: Thu May 12 12:10:05 2016 +0200
----------------------------------------------------------------------
.../JohnzonDeserializationContext.java | 12 +++++----
.../serializer/JohnzonSerializationContext.java | 5 ----
.../apache/johnzon/mapper/MappingGenerator.java | 4 ---
.../johnzon/mapper/MappingGeneratorImpl.java | 5 ----
.../apache/johnzon/mapper/MappingParser.java | 5 +---
.../johnzon/mapper/MappingParserImpl.java | 27 ++++++--------------
.../json/bind/annotation/JsonbTypeAdapter.java | 2 +-
.../bind/annotation/JsonbTypeDeserializer.java | 3 ++-
.../bind/annotation/JsonbTypeSerializer.java | 3 ++-
.../bind/serializer/DeserializationContext.java | 2 --
.../bind/serializer/SerializationContext.java | 2 --
11 files changed, 21 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonDeserializationContext.java
----------------------------------------------------------------------
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonDeserializationContext.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonDeserializationContext.java
index 2049603..929589c 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonDeserializationContext.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonDeserializationContext.java
@@ -18,12 +18,15 @@
*/
package org.apache.johnzon.jsonb.serializer;
+import org.apache.johnzon.core.JsonReaderImpl;
import org.apache.johnzon.mapper.MappingParser;
+import javax.json.JsonValue;
import javax.json.bind.serializer.DeserializationContext;
import javax.json.stream.JsonParser;
import java.lang.reflect.Type;
+// TODO: test it
public class JohnzonDeserializationContext implements DeserializationContext {
private final MappingParser runtime;
@@ -33,16 +36,15 @@ public class JohnzonDeserializationContext implements DeserializationContext {
@Override
public <T> T deserialize(final Class<T> clazz, final JsonParser parser) {
- return null;
+ return runtime.readObject(read(parser), clazz);
}
@Override
public <T> T deserialize(final Type type, final JsonParser parser) {
- return null;
+ return runtime.readObject(read(parser), type);
}
- @Override
- public <T> T convertDefault(final Class<T> clazz, final String value) {
- return null;
+ private JsonValue read(final JsonParser parser) { // TODO: use jsonp 1.1 and not johnzon internals
+ return new JsonReaderImpl(parser).readValue();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonSerializationContext.java
----------------------------------------------------------------------
diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonSerializationContext.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonSerializationContext.java
index d40ca24..bf19344 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonSerializationContext.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/serializer/JohnzonSerializationContext.java
@@ -40,9 +40,4 @@ public class JohnzonSerializationContext implements SerializationContext {
public <T> void serialize(final T object, final JsonGenerator generator) {
runtime.writeObject(object, generator);
}
-
- @Override
- public <T> String convertDefault(final T obj, final JsonGenerator generator) {
- return runtime.convert(obj);
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGenerator.java
----------------------------------------------------------------------
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGenerator.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGenerator.java
index bd02cfe..8dd1e1a 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGenerator.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGenerator.java
@@ -57,8 +57,4 @@ public interface MappingGenerator {
* @return itself, for easier chaining of commands
*/
MappingGenerator writeObject(Object o, JsonGenerator generator);
-
-
- // @Experimental
- <T> String convert(T obj);
}
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGeneratorImpl.java
----------------------------------------------------------------------
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGeneratorImpl.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGeneratorImpl.java
index f984373..97e7fb4 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGeneratorImpl.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingGeneratorImpl.java
@@ -59,11 +59,6 @@ public class MappingGeneratorImpl implements MappingGenerator {
return this;
}
- @Override
- public <T> String convert(final T obj) {
- return (String) config.findAdapter(obj.getClass()).to(obj);
- }
-
public void doWriteObject(Object object, JsonGenerator generator, boolean writeBody) {
try {
if (object instanceof Map) {
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParser.java
----------------------------------------------------------------------
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParser.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParser.java
index 6269884..c129264 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParser.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParser.java
@@ -18,9 +18,8 @@
*/
package org.apache.johnzon.mapper;
-import java.lang.reflect.Type;
-
import javax.json.JsonValue;
+import java.lang.reflect.Type;
/**
* Handles reading Json for Objects.
@@ -31,6 +30,4 @@ public interface MappingParser {
<T> T readObject(Type targetType);
<T> T readObject(JsonValue jsonValue, Type targetType);
-
- <T> T convert(Class<T> clazz, String value);
}
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java
----------------------------------------------------------------------
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java
index 812b7a6..ae1eea6 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java
@@ -26,6 +26,14 @@ import org.apache.johnzon.mapper.internal.AdapterKey;
import org.apache.johnzon.mapper.internal.ConverterAdapter;
import org.apache.johnzon.mapper.reflection.JohnzonParameterizedType;
+import javax.json.JsonArray;
+import javax.json.JsonNumber;
+import javax.json.JsonObject;
+import javax.json.JsonReader;
+import javax.json.JsonString;
+import javax.json.JsonStructure;
+import javax.json.JsonValue;
+import javax.xml.bind.DatatypeConverter;
import java.lang.reflect.Array;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
@@ -56,15 +64,6 @@ import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.xml.bind.DatatypeConverter;
-
/**
* This class is not concurrently usable as it contains state.
*/
@@ -115,11 +114,6 @@ public class MappingParserImpl implements MappingParser {
return readObject(jsonValue, targetType, targetType instanceof Class || targetType instanceof ParameterizedType);
}
- @Override
- public <T> T convert(final Class<T> clazz, final String value) {
- return (T) config.findAdapter(clazz).to(value);
- }
-
private <T> T readObject(JsonValue jsonValue, Type targetType, boolean applyObjectConverter) {
if (JsonStructure.class == targetType || JsonObject.class == targetType || JsonValue.class == targetType) {
return (T) jsonValue;
@@ -631,11 +625,6 @@ public class MappingParserImpl implements MappingParser {
}
return delegate.readObject(jsonValue, targetType);
}
-
- @Override
- public <T> T convert(final Class<T> clazz, final String value) {
- return delegate.convert(clazz, value);
- }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeAdapter.java
----------------------------------------------------------------------
diff --git a/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeAdapter.java b/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeAdapter.java
index 6e9f281..8ceef17 100644
--- a/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeAdapter.java
+++ b/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeAdapter.java
@@ -26,7 +26,7 @@ import java.lang.annotation.Target;
@JsonbAnnotation
@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD})
+@Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})
public @interface JsonbTypeAdapter {
Class<? extends JsonbAdapter> value();
}
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeDeserializer.java
----------------------------------------------------------------------
diff --git a/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeDeserializer.java b/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeDeserializer.java
index ad8fba2..0427a3a 100644
--- a/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeDeserializer.java
+++ b/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeDeserializer.java
@@ -26,10 +26,11 @@ import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
@JsonbAnnotation
@Retention(RetentionPolicy.RUNTIME)
-@Target({ANNOTATION_TYPE, FIELD, METHOD})
+@Target({ANNOTATION_TYPE, TYPE, FIELD, METHOD})
public @interface JsonbTypeDeserializer {
Class<? extends JsonbDeserializer> value();
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeSerializer.java
----------------------------------------------------------------------
diff --git a/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeSerializer.java b/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeSerializer.java
index f2efdda..a0c7980 100644
--- a/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeSerializer.java
+++ b/jsonb-api/src/main/java/javax/json/bind/annotation/JsonbTypeSerializer.java
@@ -26,10 +26,11 @@ import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
@JsonbAnnotation
@Retention(RetentionPolicy.RUNTIME)
-@Target({ANNOTATION_TYPE, FIELD, METHOD})
+@Target({ANNOTATION_TYPE, TYPE, FIELD, METHOD})
public @interface JsonbTypeSerializer {
Class<? extends JsonbSerializer> value();
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/jsonb-api/src/main/java/javax/json/bind/serializer/DeserializationContext.java
----------------------------------------------------------------------
diff --git a/jsonb-api/src/main/java/javax/json/bind/serializer/DeserializationContext.java b/jsonb-api/src/main/java/javax/json/bind/serializer/DeserializationContext.java
index 05952fb..5b6ebae 100644
--- a/jsonb-api/src/main/java/javax/json/bind/serializer/DeserializationContext.java
+++ b/jsonb-api/src/main/java/javax/json/bind/serializer/DeserializationContext.java
@@ -28,6 +28,4 @@ public interface DeserializationContext {
<T> T deserialize(Class<T> clazz, JsonParser parser);
<T> T deserialize(Type type, JsonParser parser);
-
- <T> T convertDefault(Class<T> clazz, String value);
}
http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/e38e44b2/jsonb-api/src/main/java/javax/json/bind/serializer/SerializationContext.java
----------------------------------------------------------------------
diff --git a/jsonb-api/src/main/java/javax/json/bind/serializer/SerializationContext.java b/jsonb-api/src/main/java/javax/json/bind/serializer/SerializationContext.java
index f26cd1c..aac3b6b 100644
--- a/jsonb-api/src/main/java/javax/json/bind/serializer/SerializationContext.java
+++ b/jsonb-api/src/main/java/javax/json/bind/serializer/SerializationContext.java
@@ -24,6 +24,4 @@ public interface SerializationContext {
<T> void serialize(String key, T object, JsonGenerator generator);
<T> void serialize(T object, JsonGenerator generator);
-
- <T> String convertDefault(T obj, JsonGenerator generator);
}