[Git][java-team/jackson-jr][master] 9 commits: Switch to debhelper-compat = 12.
Markus Koschany
gitlab at salsa.debian.org
Sun Jul 21 23:30:15 BST 2019
Markus Koschany pushed to branch master at Debian Java Maintainers / jackson-jr
Commits:
ad09cd6a by Markus Koschany at 2019-07-21T22:16:09Z
Switch to debhelper-compat = 12.
- - - - -
de45620c by Markus Koschany at 2019-07-21T22:16:27Z
Declare compliance with Debian Policy 4.4.0.
- - - - -
29d893c2 by Markus Koschany at 2019-07-21T22:17:45Z
Update copyright years.
- - - - -
26e82eb9 by Markus Koschany at 2019-07-21T22:18:02Z
remove trailing whitespace
- - - - -
89ff3919 by Markus Koschany at 2019-07-21T22:20:53Z
New upstream version 2.9.9
- - - - -
881708d4 by Markus Koschany at 2019-07-21T22:20:57Z
Update upstream source from tag 'upstream/2.9.9'
Update to upstream version '2.9.9'
with Debian dir 9711d29045dc27fda8b531b556fd5e15db197d14
- - - - -
e0d3a735 by Markus Koschany at 2019-07-21T22:24:36Z
Use canonical VCS URI.
- - - - -
0831e579 by Markus Koschany at 2019-07-21T22:25:12Z
Update changelog
- - - - -
78846fc8 by Markus Koschany at 2019-07-21T22:25:27Z
Update jackson-base-version.patch
- - - - -
21 changed files:
- debian/changelog
- − debian/compat
- debian/control
- debian/copyright
- debian/patches/jackson-base-version.patch
- debian/rules
- jr-all/pom.xml
- jr-objects/pom.xml
- jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/ArrayReader.java
- jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/BeanPropertyReader.java
- jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/BeanReader.java
- jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/CollectionReader.java
- jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/JSONReader.java
- jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/MapReader.java
- jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/TypeDetector.java
- + jr-objects/src/test/java/com/fasterxml/jackson/jr/ob/ReadListTest.java
- jr-objects/src/test/java/com/fasterxml/jackson/jr/ob/ReadMapTest.java
- jr-retrofit2/pom.xml
- jr-stree/pom.xml
- pom.xml
- release-notes/VERSION
Changes:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,13 @@
+jackson-jr (2.9.9-1) unstable; urgency=medium
+
+ * New upstream version 2.9.9.
+ * Remove get-orig-source target.
+ * Switch to debhelper-compat = 12.
+ * Declare compliance with Debian Policy 4.4.0.
+ * Use canonical VCS URI.
+
+ -- Markus Koschany <apo at debian.org> Mon, 22 Jul 2019 00:24:45 +0200
+
jackson-jr (2.9.7-1) unstable; urgency=medium
* New upstream version 2.9.7.
=====================================
debian/compat deleted
=====================================
@@ -1 +0,0 @@
-11
=====================================
debian/control
=====================================
@@ -5,7 +5,7 @@ Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.or
Uploaders:
Markus Koschany <apo at debian.org>
Build-Depends:
- debhelper (>= 11),
+ debhelper-compat (= 12),
default-jdk,
default-jdk-doc,
junit4,
@@ -18,9 +18,9 @@ Build-Depends:
libreplacer-java,
maven-debian-helper (>= 2.1),
xmlstarlet
-Standards-Version: 4.2.1
-Vcs-Git: https://anonscm.debian.org/git/pkg-java/jackson-jr.git
-Vcs-Browser: https://anonscm.debian.org/git/pkg-java/jackson-jr.git
+Standards-Version: 4.4.0
+Vcs-Git: https://salsa.debian.org/java-team/jackson-jr.git
+Vcs-Browser: https://salsa.debian.org/java-team/jackson-jr
Homepage: https://github.com/FasterXML/jackson-jr
Package: libjackson2-jr-java
=====================================
debian/copyright
=====================================
@@ -3,11 +3,11 @@ Upstream-Name: Jackson jr
Source: https://github.com/FasterXML/jackson-jr/
Files: *
-Copyright: 2014-2017, FasterXML, LLC, Seattle, USA <info at fasterxml.com>
+Copyright: 2014-2019, FasterXML, LLC, Seattle, USA <info at fasterxml.com>
License: Apache-2.0
Files: debian/*
-Copyright: 2017-2018, Markus Koschany <apo at debian.org>
+Copyright: 2017-2019, Markus Koschany <apo at debian.org>
License: Apache-2.0
License: Apache-2.0
=====================================
debian/patches/jackson-base-version.patch
=====================================
@@ -15,7 +15,7 @@ index 7d448ff..1373f4c 100644
<parent>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-base</artifactId>
-- <version>2.9.7</version>
+- <version>2.9.9</version>
+ <version>debian</version>
</parent>
<groupId>com.fasterxml.jackson.jr</groupId>
=====================================
debian/rules
=====================================
@@ -5,4 +5,3 @@
override_dh_installchangelogs:
dh_installchangelogs release-notes/VERSION
-
=====================================
jr-all/pom.xml
=====================================
@@ -5,7 +5,7 @@
<parent>
<groupId>com.fasterxml.jackson.jr</groupId>
<artifactId>jackson-jr-parent</artifactId>
- <version>2.9.8</version>
+ <version>2.9.9</version>
</parent>
<artifactId>jackson-jr-all</artifactId>
<name>jackson-jr-all</name>
=====================================
jr-objects/pom.xml
=====================================
@@ -3,7 +3,7 @@
<parent>
<groupId>com.fasterxml.jackson.jr</groupId>
<artifactId>jackson-jr-parent</artifactId>
- <version>2.9.8</version>
+ <version>2.9.9</version>
</parent>
<artifactId>jackson-jr-objects</artifactId>
<packaging>bundle</packaging>
=====================================
jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/ArrayReader.java
=====================================
@@ -24,7 +24,7 @@ public class ArrayReader extends ValueReader
if (p.hasToken(JsonToken.VALUE_NULL)) {
return null;
}
- return JSONObjectException.from(p, "Unexpected token "+p.getCurrentToken()+"; should get START_ARRAY");
+ throw JSONObjectException.from(p, "Unexpected token "+p.getCurrentToken()+"; should get START_ARRAY");
}
CollectionBuilder b = r._collectionBuilder(null);
=====================================
jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/BeanPropertyReader.java
=====================================
@@ -81,8 +81,11 @@ public final class BeanPropertyReader
if (t instanceof InvocationTargetException) {
t = t.getCause();
}
- throw new JSONObjectException("Failed to set property '"+_name+"'; exception "+e.getClass().getName()+"): "
- +t.getMessage(), t);
+ final String valueTypeDesc = (value == null) ? "NULL" : value.getClass().getName();
+ throw new JSONObjectException(String.format(
+ "Failed to set property '%s' (raw type %s) to value of type %s; exception (%s): %s",
+ _name, _rawType().getName(), valueTypeDesc, e.getClass().getName(), t.getMessage()),
+ t);
}
}
@@ -93,6 +96,13 @@ public final class BeanPropertyReader
return _field.getDeclaringClass().getName();
}
+ protected Class<?> _rawType() {
+ if (_setter != null) {
+ return _setter.getParameterTypes()[0];
+ }
+ return _field.getType();
+ }
+
@Override
public String toString() {
return _name;
=====================================
jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/BeanReader.java
=====================================
@@ -118,8 +118,8 @@ public class BeanReader
handleUnknown(r, p, propName);
continue;
}
- ValueReader vr = prop.getReader();
- prop.setValueFor(bean, vr.readNext(r, p));
+ final Object value = prop.getReader().readNext(r, p);
+ prop.setValueFor(bean, value);
}
// also verify we are not confused...
if (!p.hasToken(JsonToken.END_OBJECT)) {
=====================================
jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/CollectionReader.java
=====================================
@@ -34,7 +34,7 @@ public class CollectionReader extends ValueReader
if (p.hasToken(JsonToken.VALUE_NULL)) {
return null;
}
- return JSONObjectException.from(p, "Unexpected token "+p.getCurrentToken()+"; should get START_ARRAY");
+ throw JSONObjectException.from(p, "Unexpected token "+p.getCurrentToken()+"; should get START_ARRAY");
}
CollectionBuilder b = r._collectionBuilder(_collectionType);
if (p.nextToken() == JsonToken.END_ARRAY) {
=====================================
jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/JSONReader.java
=====================================
@@ -245,7 +245,8 @@ public class JSONReader
@SuppressWarnings("unchecked")
public <T> T readBean(Class<T> type) throws IOException {
ValueReader vr = _typeDetector.findReader(type);
- return (T) vr.read(this, _parser);
+ final Object ob = vr.read(this, _parser);
+ return (T) ob;
}
@SuppressWarnings("unchecked")
=====================================
jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/MapReader.java
=====================================
@@ -27,7 +27,7 @@ public class MapReader extends ValueReader
if (p.hasToken(JsonToken.VALUE_NULL)) {
return null;
}
- return JSONObjectException.from(p, "Unexpected token "+p.getCurrentToken()+"; should get START_OBJECT");
+ throw JSONObjectException.from(p, "Unexpected token "+p.getCurrentToken()+"; should get START_OBJECT");
}
MapBuilder b = r._mapBuilder(_mapType);
=====================================
jr-objects/src/main/java/com/fasterxml/jackson/jr/ob/impl/TypeDetector.java
=====================================
@@ -517,16 +517,18 @@ public class TypeDetector
protected ValueReader collectionReader(Class<?> collectionType, ResolvedType valueType)
{
- Class<?> raw = valueType.erasedType();
- if (Collection.class.isAssignableFrom(raw)) {
+ final Class<?> rawValueType = valueType.erasedType();
+ final ValueReader valueReader;
+ if (Collection.class.isAssignableFrom(rawValueType)) {
List<ResolvedType> params = valueType.typeParametersFor(Collection.class);
- return collectionReader(raw, params.get(0));
- }
- if (Map.class.isAssignableFrom(raw)) {
+ valueReader = collectionReader(rawValueType, params.get(0));
+ } else if (Map.class.isAssignableFrom(rawValueType)) {
List<ResolvedType> params = valueType.typeParametersFor(Map.class);
- return mapReader(raw, params.get(1));
+ valueReader = mapReader(rawValueType, params.get(1));
+ } else {
+ valueReader = createReader(null, rawValueType, rawValueType);
}
- return new CollectionReader(collectionType, createReader(null, raw, raw));
+ return new CollectionReader(collectionType, valueReader);
}
protected ValueReader mapReader(Class<?> contextType, Type mapType)
@@ -535,19 +537,21 @@ public class TypeDetector
List<ResolvedType> params = t.typeParametersFor(Map.class);
return mapReader(t.erasedType(), params.get(1));
}
-
+
protected ValueReader mapReader(Class<?> mapType, ResolvedType valueType)
{
- Class<?> raw = valueType.erasedType();
- if (Collection.class.isAssignableFrom(raw)) {
+ final Class<?> rawValueType = valueType.erasedType();
+ final ValueReader valueReader;
+ if (Collection.class.isAssignableFrom(rawValueType)) {
List<ResolvedType> params = valueType.typeParametersFor(Collection.class);
- return collectionReader(raw, params.get(0));
- }
- if (Map.class.isAssignableFrom(raw)) {
+ valueReader = collectionReader(rawValueType, params.get(0));
+ } else if (Map.class.isAssignableFrom(rawValueType)) {
List<ResolvedType> params = valueType.typeParametersFor(Map.class);
- return mapReader(raw, params.get(1));
+ valueReader = mapReader(rawValueType, params.get(1));
+ } else {
+ valueReader = createReader(null, rawValueType, rawValueType);
}
- return new MapReader(mapType, createReader(null, raw, raw));
+ return new MapReader(mapType, valueReader);
}
/*
=====================================
jr-objects/src/test/java/com/fasterxml/jackson/jr/ob/ReadListTest.java
=====================================
@@ -0,0 +1,37 @@
+package com.fasterxml.jackson.jr.ob;
+
+import java.util.List;
+import java.util.Map;
+
+public class ReadListTest extends TestBase
+{
+ static class ListHolder {
+ public List<Map<String, Integer>> stuff;
+ }
+
+ public void testListOfMaps() throws Exception
+ {
+ ListHolder h = JSON.std
+ .with(JSON.Feature.FAIL_ON_UNKNOWN_BEAN_PROPERTY)
+ .with(JSON.Feature.USE_FIELDS)
+ .beanFrom(ListHolder.class,
+ aposToQuotes("{'stuff':[{'a':4}, {'a':6}]}"));
+ List<Map<String, Integer>> list = h.stuff;
+ assertNotNull(list);
+ assertEquals(2, list.size());
+ assertEquals(Integer.valueOf(6), list.get(1).get("a"));
+ }
+
+ public void testInvalidListOfMaps() throws Exception
+ {
+ try {
+ JSON.std
+ .with(JSON.Feature.FAIL_ON_UNKNOWN_BEAN_PROPERTY)
+ .with(JSON.Feature.USE_FIELDS)
+ .beanFrom(ListHolder.class,
+ aposToQuotes("{'stuff':{ 'a' : 3 }}"));
+ } catch (JSONObjectException e) {
+ verifyException(e, "Unexpected token START_OBJECT");
+ }
+ }
+}
=====================================
jr-objects/src/test/java/com/fasterxml/jackson/jr/ob/ReadMapTest.java
=====================================
@@ -7,6 +7,10 @@ import com.fasterxml.jackson.jr.ob.JSON;
// for [jackson-jr#49], where `DeferredMap` explodes
public class ReadMapTest extends TestBase
{
+ static class MapHolder {
+ public Map<String, List<Integer>> stuff;
+ }
+
public void testIssues49() throws Exception
{
for (int i : new int[] { 7, 99, 513, 1099, 3003, 5005, 10001, 90003, 111111 }) {
@@ -24,4 +28,31 @@ public class ReadMapTest extends TestBase
assertNotNull(result);
assertEquals(size, result.size());
}
+
+ public void testMapOfLists() throws Exception
+ {
+ MapHolder m = JSON.std
+ .with(JSON.Feature.FAIL_ON_UNKNOWN_BEAN_PROPERTY)
+ .with(JSON.Feature.USE_FIELDS)
+ .beanFrom(MapHolder.class,
+ aposToQuotes("{'stuff':{'a':[1, 2, 3], 'b' : [7, 2]}}"));
+ Map<String, List<Integer>> map = m.stuff;
+ assertNotNull(map);
+ assertEquals(2, map.size());
+ assertEquals(Arrays.asList(Integer.valueOf(7), Integer.valueOf(2)),
+ map.get("b"));
+ }
+
+ public void testInvalidMapOfLists() throws Exception
+ {
+ try {
+ JSON.std
+ .with(JSON.Feature.FAIL_ON_UNKNOWN_BEAN_PROPERTY)
+ .with(JSON.Feature.USE_FIELDS)
+ .beanFrom(MapHolder.class,
+ aposToQuotes("{'stuff':[ 1 ]}"));
+ } catch (JSONObjectException e) {
+ verifyException(e, "Unexpected token START_ARRAY");
+ }
+ }
}
=====================================
jr-retrofit2/pom.xml
=====================================
@@ -3,7 +3,7 @@
<parent>
<groupId>com.fasterxml.jackson.jr</groupId>
<artifactId>jackson-jr-parent</artifactId>
- <version>2.9.8</version>
+ <version>2.9.9</version>
</parent>
<artifactId>jackson-jr-retrofit2</artifactId>
<packaging>bundle</packaging>
=====================================
jr-stree/pom.xml
=====================================
@@ -3,7 +3,7 @@
<parent>
<groupId>com.fasterxml.jackson.jr</groupId>
<artifactId>jackson-jr-parent</artifactId>
- <version>2.9.8</version>
+ <version>2.9.9</version>
</parent>
<artifactId>jackson-jr-stree</artifactId>
<packaging>bundle</packaging>
=====================================
pom.xml
=====================================
@@ -3,12 +3,12 @@
<parent>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-base</artifactId>
- <version>2.9.8</version>
+ <version>2.9.9</version>
</parent>
<groupId>com.fasterxml.jackson.jr</groupId>
<artifactId>jackson-jr-parent</artifactId>
<name>Parent pom for Jackson jr components</name>
- <version>2.9.8</version>
+ <version>2.9.9</version>
<packaging>pom</packaging>
<description>Parent pom for Jackson jr components
</description>
@@ -25,7 +25,7 @@
<connection>scm:git:git at github.com:FasterXML/jackson-jr.git</connection>
<developerConnection>scm:git:git at github.com:FasterXML/jackson-jr.git</developerConnection>
<url>http://github.com/FasterXML/jackson-jr</url>
- <tag>jackson-jr-parent-2.9.8</tag>
+ <tag>jackson-jr-parent-2.9.9</tag>
</scm>
<properties>
=====================================
release-notes/VERSION
=====================================
@@ -4,6 +4,10 @@ Project: jackson-jr
=== Releases ===
------------------------------------------------------------------------
+2.9.9 (16-May-2019)
+
+- Fix an issue with Maps-of-Lists, Lists-of-Maps
+
2.9.8 (15-Dec-2018)
2.9.7 (19-Sep-2018)
2.9.6 (12-Jun-2018)
View it on GitLab: https://salsa.debian.org/java-team/jackson-jr/compare/603041bd589275f26223b498821e1d05c0af6d19...78846fc8a5af17a7d6512fe744c7ac28873011c3
--
View it on GitLab: https://salsa.debian.org/java-team/jackson-jr/compare/603041bd589275f26223b498821e1d05c0af6d19...78846fc8a5af17a7d6512fe744c7ac28873011c3
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20190721/ed782cc4/attachment.html>
More information about the pkg-java-commits
mailing list