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