diff --git a/genson-scala/pom.xml b/genson-scala/pom.xml
index 28ceec34..23ac3849 100644
--- a/genson-scala/pom.xml
+++ b/genson-scala/pom.xml
@@ -14,8 +14,8 @@
Genson extension for Scala language
- 2.11
- 2.11.11
+ 2.12
+ 2.12.15
@@ -49,7 +49,7 @@
org.ow2.asm
asm-commons
- 5.0.3
+ 9.2
test
diff --git a/genson/pom.xml b/genson/pom.xml
index 38a320ab..01995bcc 100644
--- a/genson/pom.xml
+++ b/genson/pom.xml
@@ -29,7 +29,7 @@
org.ow2.asm
asm-commons
- 5.0.3
+ 9.2
true
@@ -40,6 +40,13 @@
true
+
+ jakarta.xml.bind
+ jakarta.xml.bind-api
+ 2.3.3
+ true
+
+
org.springframework
spring-core
@@ -129,7 +136,7 @@
org.eclipse.jetty
jetty-servlet
- 8.1.8.v20121106
+ 9.4.17.v20190418
test
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/com/owlike/genson/reflect/VisibilityFilter.java b/genson/src/main/java/com/owlike/genson/reflect/VisibilityFilter.java
index 089b37f5..9926cdf1 100644
--- a/genson/src/main/java/com/owlike/genson/reflect/VisibilityFilter.java
+++ b/genson/src/main/java/com/owlike/genson/reflect/VisibilityFilter.java
@@ -70,7 +70,14 @@ public VisibilityFilter(int... modifier) {
* @return true if this member is visible according to this filter.
*/
public final boolean isVisible(Member member) {
- return isVisible(member.getModifiers());
+ Class> clazz = member.getDeclaringClass();
+ String className = clazz.getName();
+ if(className.startsWith("java.") || className.startsWith("javax.")){
+ return Modifier.isPublic(member.getModifiers());
+ }
+ else{
+ return isVisible(member.getModifiers());
+ }
}
public final boolean isVisible(int modifiers) {
diff --git a/genson/src/test/java/com/owlike/genson/JsonSerDeserSymetricTest.java b/genson/src/test/java/com/owlike/genson/JsonSerDeserSymetricTest.java
index e6b6feb1..cfc2cad7 100644
--- a/genson/src/test/java/com/owlike/genson/JsonSerDeserSymetricTest.java
+++ b/genson/src/test/java/com/owlike/genson/JsonSerDeserSymetricTest.java
@@ -149,10 +149,10 @@ 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
- .getResourceAsStream("/TWEETS.json"), Tweet[].class);
- Tweet[] gensonTweets = genson.deserialize(new InputStreamReader(ClassLoader.class
- .getResourceAsStream("/TWEETS.json")), Tweet[].class);
+ Tweet[] jacksonTweets = mapper.readValue(ClassLoader
+ .getSystemResourceAsStream("TWEETS.json"), Tweet[].class);
+ Tweet[] gensonTweets = genson.deserialize(new InputStreamReader(ClassLoader
+ .getSystemResourceAsStream("TWEETS.json")), Tweet[].class);
assertArrayEquals(jacksonTweets, gensonTweets);
// and then we serialize it and try to deserialize again and match again what was
@@ -170,10 +170,10 @@ 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
- .getResourceAsStream("/READER_SHORT.json")), Feed.class);
+ Feed jacksonShortFeed = mapper.readValue(ClassLoader
+ .getSystemResourceAsStream("READER_SHORT.json"), Feed.class);
+ Feed gensonShortFeed = genson.deserialize(new InputStreamReader(ClassLoader
+ .getSystemResourceAsStream("READER_SHORT.json")), Feed.class);
assertEquals(jacksonShortFeed, gensonShortFeed);
String shortFeedString = genson.serialize(gensonShortFeed);
gensonShortFeed = genson.deserialize(shortFeedString, Feed.class);
@@ -187,10 +187,10 @@ public void testDeserializeSerializeReaderLong() throws IOException {
Genson genson = getGenson();
// and again for the long reader data...
- Feed jacksonLongFeed = mapper.readValue(ClassLoader.class
- .getResourceAsStream("/READER_LONG.json"), Feed.class);
- Feed gensonLongFeed = genson.deserialize(new InputStreamReader(ClassLoader.class
- .getResourceAsStream("/READER_LONG.json")), Feed.class);
+ Feed jacksonLongFeed = mapper.readValue(ClassLoader
+ .getSystemResourceAsStream("READER_LONG.json"), Feed.class);
+ Feed gensonLongFeed = genson.deserialize(new InputStreamReader(ClassLoader
+ .getSystemResourceAsStream("READER_LONG.json")), Feed.class);
assertEquals(jacksonLongFeed, gensonLongFeed);
String longFeedString = genson.serialize(gensonLongFeed);
gensonLongFeed = genson.deserialize(longFeedString, Feed.class);
@@ -241,10 +241,10 @@ public void testSerializeDeserializeMediaContent() throws JsonParseException,
JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
Genson genson = new Genson();
- MediaContent jacksonContent = mapper.readValue(ClassLoader.class
- .getResourceAsStream("/MEDIA_CONTENT.json"), MediaContent.class);
- MediaContent gensonContent = genson.deserialize(new InputStreamReader(ClassLoader.class
- .getResourceAsStream("/MEDIA_CONTENT.json")), MediaContent.class);
+ MediaContent jacksonContent = mapper.readValue(ClassLoader
+ .getSystemResourceAsStream("MEDIA_CONTENT.json"), MediaContent.class);
+ MediaContent gensonContent = genson.deserialize(new InputStreamReader(ClassLoader
+ .getSystemResourceAsStream("MEDIA_CONTENT.json")), MediaContent.class);
assertEquals(jacksonContent, gensonContent);
String json = genson.serialize(gensonContent);
gensonContent = genson.deserialize(json, MediaContent.class);
diff --git a/pom.xml b/pom.xml
index 89525720..8f83278e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,7 +58,7 @@
-Xdoclint:none
- 1.8
+ 17