Repository: johnzon Updated Branches: refs/heads/master 1638b9f09 -> adf1c6df8
fix JsonbAdapter gerneric types It's now 1:1 with the spec. Project: http://git-wip-us.apache.org/repos/asf/johnzon/repo Commit: http://git-wip-us.apache.org/repos/asf/johnzon/commit/adf1c6df Tree: http://git-wip-us.apache.org/repos/asf/johnzon/tree/adf1c6df Diff: http://git-wip-us.apache.org/repos/asf/johnzon/diff/adf1c6df Branch: refs/heads/master Commit: adf1c6df83496e64382d4d6f2386ed295c156648 Parents: 1638b9f Author: Mark Struberg <[email protected]> Authored: Fri Mar 31 15:55:35 2017 +0200 Committer: Mark Struberg <[email protected]> Committed: Fri Mar 31 15:55:35 2017 +0200 ---------------------------------------------------------------------- .../jsonb/converter/JohnzonJsonbAdapter.java | 14 +++++++------- .../org/apache/johnzon/jsonb/AdapterTest.java | 20 ++++++++++---------- .../apache/johnzon/jsonb/CdiAdapterTest.java | 4 ++-- .../johnzon/jsonb/ClassConverterTest.java | 2 +- .../javax/json/bind/adapter/JsonbAdapter.java | 6 +++--- 5 files changed, 23 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/johnzon/blob/adf1c6df/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JohnzonJsonbAdapter.java ---------------------------------------------------------------------- diff --git a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JohnzonJsonbAdapter.java b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JohnzonJsonbAdapter.java index c9992b2..7fc505f 100644 --- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JohnzonJsonbAdapter.java +++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/converter/JohnzonJsonbAdapter.java @@ -24,36 +24,36 @@ import javax.json.bind.JsonbException; import javax.json.bind.adapter.JsonbAdapter; import java.lang.reflect.Type; -public class JohnzonJsonbAdapter<A, B> implements TypeAwareAdapter<A, B> { - private final JsonbAdapter<A, B> delegate; +public class JohnzonJsonbAdapter<JsonType, OriginalType> implements TypeAwareAdapter<OriginalType, JsonType> { + private final JsonbAdapter<OriginalType, JsonType> delegate; private final Type from; private final Type to; - public JohnzonJsonbAdapter(final JsonbAdapter<A, B> delegate, final Type from, final Type to) { + public JohnzonJsonbAdapter(final JsonbAdapter<OriginalType, JsonType> delegate, final Type from, final Type to) { this.delegate = delegate; this.from = from; this.to = to; } @Override - public A to(final B obj) { + public OriginalType to(final JsonType obj) { if (obj == null) { return null; } try { - return delegate.adaptToJson(obj); + return delegate.adaptFromJson(obj); } catch (final Exception e) { throw new JsonbException(e.getMessage(), e); } } @Override - public B from(final A obj) { + public JsonType from(final OriginalType obj) { if (obj == null) { return null; } try { - return delegate.adaptFromJson(obj); + return delegate.adaptToJson(obj); } catch (final Exception e) { throw new JsonbException(e.getMessage(), e); } http://git-wip-us.apache.org/repos/asf/johnzon/blob/adf1c6df/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AdapterTest.java ---------------------------------------------------------------------- diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AdapterTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AdapterTest.java index 05b80da..775442e 100644 --- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AdapterTest.java +++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/AdapterTest.java @@ -132,12 +132,12 @@ public class AdapterTest { public static class PolyBarAdapter implements JsonbAdapter<Bar, TypeInstance> { @Override - public Bar adaptToJson(final TypeInstance obj) throws Exception { + public Bar adaptFromJson(final TypeInstance obj) throws Exception { return obj.value; } @Override - public TypeInstance adaptFromJson(final Bar obj) throws Exception { + public TypeInstance adaptToJson(final Bar obj) throws Exception { final TypeInstance typeInstance = new TypeInstance(); typeInstance.type = obj.getClass().getName(); typeInstance.value = obj; @@ -151,29 +151,29 @@ public class AdapterTest { public static class DummyAdapter implements JsonbAdapter<Dummy, String> { @Override - public Dummy adaptToJson(final String obj) throws Exception { + public Dummy adaptFromJson(final String obj) throws Exception { final Dummy bar = new Dummy(); bar.value = Long.parseLong(obj); return bar; } @Override - public String adaptFromJson(final Dummy obj) throws Exception { + public String adaptToJson(final Dummy obj) throws Exception { return Long.toString(obj.value); } } public static class BarAdapter implements JsonbAdapter<Bar, String> { @Override - public Bar adaptToJson(final String obj) throws Exception { - final Bar bar = new Bar(); - bar.value = Integer.parseInt(obj); - return bar; + public String adaptToJson(final Bar obj) throws Exception { + return Integer.toString(obj.value); } @Override - public String adaptFromJson(final Bar obj) throws Exception { - return Integer.toString(obj.value); + public Bar adaptFromJson(final String obj) throws Exception { + final Bar bar = new Bar(); + bar.value = Integer.parseInt(obj); + return bar; } } } http://git-wip-us.apache.org/repos/asf/johnzon/blob/adf1c6df/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CdiAdapterTest.java ---------------------------------------------------------------------- diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CdiAdapterTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CdiAdapterTest.java index 322325f..79685bb 100644 --- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CdiAdapterTest.java +++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CdiAdapterTest.java @@ -90,12 +90,12 @@ public class CdiAdapterTest { private Service service; @Override - public Model adaptToJson(final String obj) throws Exception { + public Model adaptFromJson(final String obj) throws Exception { throw new UnsupportedOperationException(); } @Override - public String adaptFromJson(final Model obj) throws Exception { + public String adaptToJson(final Model obj) throws Exception { assertTrue(OwbNormalScopeProxy.class.isInstance(service)); // additional test return service.toString(obj); } http://git-wip-us.apache.org/repos/asf/johnzon/blob/adf1c6df/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ClassConverterTest.java ---------------------------------------------------------------------- diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ClassConverterTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ClassConverterTest.java index 63a66c6..940404a 100644 --- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ClassConverterTest.java +++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ClassConverterTest.java @@ -93,7 +93,7 @@ public class ClassConverterTest { } } - public static class MyAdapter implements JsonbAdapter<Whole, Switch> { + public static class MyAdapter implements JsonbAdapter<Switch, Whole> { @Override public Whole adaptToJson(final Switch obj) throws Exception { final Whole whole = new Whole(); http://git-wip-us.apache.org/repos/asf/johnzon/blob/adf1c6df/jsonb-api/src/main/java/javax/json/bind/adapter/JsonbAdapter.java ---------------------------------------------------------------------- diff --git a/jsonb-api/src/main/java/javax/json/bind/adapter/JsonbAdapter.java b/jsonb-api/src/main/java/javax/json/bind/adapter/JsonbAdapter.java index bae6ae1..87bc0b7 100644 --- a/jsonb-api/src/main/java/javax/json/bind/adapter/JsonbAdapter.java +++ b/jsonb-api/src/main/java/javax/json/bind/adapter/JsonbAdapter.java @@ -18,7 +18,7 @@ */ package javax.json.bind.adapter; -public interface JsonbAdapter<A, B> { - A adaptToJson(B obj) throws Exception; - B adaptFromJson(A obj) throws Exception; +public interface JsonbAdapter<OriginalType, JsonType> { + JsonType adaptToJson(OriginalType obj) throws Exception; + OriginalType adaptFromJson(JsonType obj) throws Exception; } \ No newline at end of file
