diff --git a/genson/pom.xml b/genson/pom.xml
index ced1127c..28219097 100644
--- a/genson/pom.xml
+++ b/genson/pom.xml
@@ -1,250 +1,280 @@
- 4.0.0
-
-
- com.owlike
- genson-parent
- 1.5-SNAPSHOT
-
-
- genson
- jar
- Genson
- Genson library
-
-
- 4.1.0.RELEASE
- 3.6.1
-
-
-
-
- javax.json
- javax.json-api
- 1.0-b06
- provided
- true
-
-
-
- org.ow2.asm
- asm-commons
- 5.0.3
- true
-
-
-
- javax.servlet
- javax.servlet-api
- 3.0.1
- true
-
-
-
- org.springframework
- spring-core
- ${org.springframework.version}
- true
-
-
- org.springframework
- spring-beans
- ${org.springframework.version}
- true
-
-
- org.springframework
- spring-context
- ${org.springframework.version}
- true
-
-
- org.springframework
- spring-context-support
- ${org.springframework.version}
- true
-
-
- org.springframework
- spring-web
- ${org.springframework.version}
- true
-
-
- org.springframework
- spring-webmvc
- ${org.springframework.version}
- true
-
-
-
- org.springframework
- spring-test
- ${org.springframework.version}
- true
-
-
-
- org.glassfish.jersey.core
- jersey-common
- 2.12
- true
-
-
-
- org.jboss.resteasy
- resteasy-jaxrs
- 3.0.10.Final
- true
-
-
-
- com.google.guava
- guava
- 15.0
- true
-
-
-
- joda-time
- joda-time
- 2.3
- true
-
-
-
- org.glassfish.jersey.containers
- jersey-container-servlet
- 2.12
- test
-
-
-
- org.eclipse.jetty
- jetty-server
- 8.1.8.v20121106
- test
-
-
-
- org.eclipse.jetty
- jetty-servlet
- 8.1.8.v20121106
- test
-
-
-
- com.fasterxml.jackson.core
- jackson-databind
- 2.4.0
- test
-
-
-
- com.google.code.gson
- gson
- 2.2.4
- test
-
-
-
- org.glassfish
- javax.json
- 1.0-b06
- test
-
-
-
- junit
- junit
- 4.10
- test
-
-
-
-
-
-
- ${basedir}
- false
-
- LICENSE
- README
-
-
-
- src/main/resources
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${maven.compiler.plugin.version}
-
- ${jdk.version}
- ${jdk.version}
- true
- true
- ${project.build.sourceEncoding}
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 2.17
-
- junit:junit
- -Dfile.encoding=UTF-8
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
-
-
- package
-
- shade
-
-
- true
- false
- false
-
-
-
- org/objectweb/asm
-
-
-
-
-
- org.objectweb.asm
- com.owlike.genson.internal.asm
-
-
- org.ow2.asm
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
-
-
-
+ 4.0.0
+
+
+ com.owlike
+ genson-parent
+ 1.5-SNAPSHOT
+
+
+ genson
+ jar
+ Genson
+ Genson library
+
+
+ 5.1.0.RELEASE
+ 3.6.1
+
+
+
+
+ javax.json
+ javax.json-api
+ 1.1.2
+ provided
+ true
+
+
+
+ org.ow2.asm
+ asm-commons
+ 7.0-beta
+ true
+
+
+
+ javax.servlet
+ javax.servlet-api
+ 4.0.1
+ true
+
+
+
+ org.springframework
+ spring-core
+ ${org.springframework.version}
+ true
+
+
+ org.springframework
+ spring-beans
+ ${org.springframework.version}
+ true
+
+
+ org.springframework
+ spring-context
+ ${org.springframework.version}
+ true
+
+
+ org.springframework
+ spring-context-support
+ ${org.springframework.version}
+ true
+
+
+ org.springframework
+ spring-web
+ ${org.springframework.version}
+ true
+
+
+ org.springframework
+ spring-webmvc
+ ${org.springframework.version}
+ true
+
+
+
+ org.springframework
+ spring-test
+ ${org.springframework.version}
+ true
+
+
+
+ org.glassfish.jersey.core
+ jersey-common
+ 2.27
+ true
+
+
+ org.glassfish.jersey.containers
+ jersey-container-servlet
+ 2.27
+ test
+
+
+ org.glassfish.jersey.inject
+ jersey-hk2
+ 2.27
+ true
+
+
+
+ org.jboss.resteasy
+ resteasy-jaxrs
+ 4.0.0.Beta5
+ true
+
+
+
+
+ com.google.guava
+ guava
+ 15.0
+ true
+
+
+
+ joda-time
+ joda-time
+ 2.3
+ true
+
+
+
+
+
+ org.eclipse.jetty
+ jetty-server
+ 9.4.12.v20180830
+ test
+
+
+
+ org.eclipse.jetty
+ jetty-servlet
+ 9.4.12.v20180830
+ test
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.9.7
+ test
+
+
+
+ com.google.code.gson
+ gson
+ 2.8.5
+ test
+
+
+
+ org.glassfish
+ javax.json
+ 1.1.2
+ test
+
+
+
+
+ junit
+ junit
+ 4.10
+ test
+
+
+
+
+
+
+
+
+ javax.xml.bind
+ jaxb-api
+ 2.3.0
+
+
+ com.sun.xml.bind
+ jaxb-impl
+ 2.3.0.1
+
+
+ com.sun.activation
+ javax.activation
+ 1.2.0
+
+
+
+
+
+
+ ${basedir}
+ false
+
+ LICENSE
+ README
+
+
+
+ src/main/resources
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven.compiler.plugin.version}
+
+ 10
+ 10
+ true
+ true
+ ${project.build.sourceEncoding}
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.17
+
+ junit:junit
+ -Dfile.encoding=UTF-8
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+
+
+ package
+
+ shade
+
+
+ true
+ false
+ false
+
+
+
+ org/objectweb/asm
+
+
+
+
+
+ org.objectweb.asm
+ com.owlike.genson.internal.asm
+
+
+ org.ow2.asm
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+
+
diff --git a/genson/src/main/java/com/owlike/genson/ext/jsr353/GensonJsonGenerator.java b/genson/src/main/java/com/owlike/genson/ext/jsr353/GensonJsonGenerator.java
index 6509065d..58fcbadb 100644
--- a/genson/src/main/java/com/owlike/genson/ext/jsr353/GensonJsonGenerator.java
+++ b/genson/src/main/java/com/owlike/genson/ext/jsr353/GensonJsonGenerator.java
@@ -53,6 +53,11 @@ public JsonGenerator writeStartObject(String name) {
return this;
}
+ @Override
+ public JsonGenerator writeKey(String s) {
+ return this;
+ }
+
@Override
public JsonGenerator writeStartArray() {
try {
diff --git a/genson/src/main/java/com/owlike/genson/reflect/ASMCreatorParameterNameResolver.java b/genson/src/main/java/com/owlike/genson/reflect/ASMCreatorParameterNameResolver.java
index 18e76144..b3131459 100644
--- a/genson/src/main/java/com/owlike/genson/reflect/ASMCreatorParameterNameResolver.java
+++ b/genson/src/main/java/com/owlike/genson/reflect/ASMCreatorParameterNameResolver.java
@@ -132,7 +132,7 @@ private class ClassConstructorsVisitor extends ClassVisitor {
public ClassConstructorsVisitor(Class> forClass,
Map, String[]> ctrParameterNames,
Map methodParameterNames) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM7);
this.forClass = forClass;
this.ctrParameterNames = ctrParameterNames;
this.methodParameterNames = methodParameterNames;
@@ -161,7 +161,7 @@ private abstract class BaseMethodVisitor extends MethodVisitor {
public BaseMethodVisitor(Class> forClass, boolean ztatic, String desc,
Map parameterNamesMap) {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM7);
this.forClass = forClass;
this.ztatic = ztatic;
paramTypes = Type.getArgumentTypes(desc);
diff --git a/genson/src/main/java/module-info.java__ b/genson/src/main/java/module-info.java__
new file mode 100644
index 00000000..0b954d8b
--- /dev/null
+++ b/genson/src/main/java/module-info.java__
@@ -0,0 +1,10 @@
+module genson {
+ requires java.xml;
+ requires javax.annotation.api;
+ requires java.xml.bind;
+ requires jersey.common;
+ requires java.json;
+ requires java.sql;
+ requires org.objectweb.asm.commons;
+
+}
\ No newline at end of file
diff --git a/genson/src/test/java/com/owlike/genson/JsonSerDeserSymetricTest.java b/genson/src/test/java/com/owlike/genson/JsonSerDeserSymetricTest.java
index e6b6feb1..10abb502 100644
--- a/genson/src/test/java/com/owlike/genson/JsonSerDeserSymetricTest.java
+++ b/genson/src/test/java/com/owlike/genson/JsonSerDeserSymetricTest.java
@@ -149,9 +149,9 @@ public void testDeserializeSerializeTweets() throws JsonParseException, JsonMapp
// we first deserialize the original data and ensure that genson deserialized it exactly as
// jackson
- Tweet[] jacksonTweets = mapper.readValue(ClassLoader.class
+ Tweet[] jacksonTweets = mapper.readValue(getClass()
.getResourceAsStream("/TWEETS.json"), Tweet[].class);
- Tweet[] gensonTweets = genson.deserialize(new InputStreamReader(ClassLoader.class
+ Tweet[] gensonTweets = genson.deserialize(new InputStreamReader(getClass()
.getResourceAsStream("/TWEETS.json")), Tweet[].class);
assertArrayEquals(jacksonTweets, gensonTweets);
@@ -170,9 +170,8 @@ public void testDeserializeSerializeReaderShort() throws IOException {
Genson genson = getGenson();
// same test as before...
- Feed jacksonShortFeed = mapper.readValue(ClassLoader.class
- .getResourceAsStream("/READER_SHORT.json"), Feed.class);
- Feed gensonShortFeed = genson.deserialize(new InputStreamReader(ClassLoader.class
+ Feed jacksonShortFeed = mapper.readValue(getClass().getResourceAsStream("/READER_SHORT.json"), Feed.class);
+ Feed gensonShortFeed = genson.deserialize(new InputStreamReader(getClass()
.getResourceAsStream("/READER_SHORT.json")), Feed.class);
assertEquals(jacksonShortFeed, gensonShortFeed);
String shortFeedString = genson.serialize(gensonShortFeed);
@@ -187,9 +186,9 @@ public void testDeserializeSerializeReaderLong() throws IOException {
Genson genson = getGenson();
// and again for the long reader data...
- Feed jacksonLongFeed = mapper.readValue(ClassLoader.class
+ Feed jacksonLongFeed = mapper.readValue(getClass()
.getResourceAsStream("/READER_LONG.json"), Feed.class);
- Feed gensonLongFeed = genson.deserialize(new InputStreamReader(ClassLoader.class
+ Feed gensonLongFeed = genson.deserialize(new InputStreamReader(getClass()
.getResourceAsStream("/READER_LONG.json")), Feed.class);
assertEquals(jacksonLongFeed, gensonLongFeed);
String longFeedString = genson.serialize(gensonLongFeed);
@@ -241,9 +240,9 @@ public void testSerializeDeserializeMediaContent() throws JsonParseException,
JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
Genson genson = new Genson();
- MediaContent jacksonContent = mapper.readValue(ClassLoader.class
+ MediaContent jacksonContent = mapper.readValue(getClass()
.getResourceAsStream("/MEDIA_CONTENT.json"), MediaContent.class);
- MediaContent gensonContent = genson.deserialize(new InputStreamReader(ClassLoader.class
+ MediaContent gensonContent = genson.deserialize(new InputStreamReader(getClass()
.getResourceAsStream("/MEDIA_CONTENT.json")), MediaContent.class);
assertEquals(jacksonContent, gensonContent);
String json = genson.serialize(gensonContent);
diff --git a/pom.xml b/pom.xml
index 6c7b4af3..fae62dd9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,7 +82,7 @@
org.apache.maven.plugins
maven-gpg-plugin
- 1.1
+ 1.6
sign-artifacts
@@ -139,7 +139,7 @@
org.apache.maven.plugins
maven-release-plugin
- 2.5
+ 2.5.3
deploy
forked-path
@@ -153,19 +153,19 @@
Why: Plugin used to generate OSGi MANIFEST.MF headers, to make Genson OSGi-aware.
Used: process-classes phase, after compilation.
-->
-
- org.apache.felix
- maven-bundle-plugin
- 3.2.0
-
-
- jar
-
-
- ${project.artifactId}
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
org.apache.maven.plugins
@@ -176,25 +176,25 @@
org.apache.maven.plugins
maven-project-info-reports-plugin
- 2.7
+ 3.0.0
org.apache.maven.plugins
maven-dependency-plugin
- 2.8
+ 3.1.1
org.apache.maven.plugins
maven-shade-plugin
- 2.3
+ 3.2.0
org.apache.maven.plugins
maven-javadoc-plugin
- 3.0.0
+ 3.0.1
attach-javadocs