Author: gk
Date: Tue Mar 16 16:37:37 2021
New Revision: 1887732
URL: http://svn.apache.org/viewvc?rev=1887732&view=rev
Log:
- Update Jackson2 to 2.12.2
- Security Update Jackson version 2.10.5.1 (CVE-2020-25649)
- Fix not supported and unresolved issue in test
- remove jackson module from module build (it's not supported any more with
java 8 and parent module dependencies)
Modified:
turbine/fulcrum/trunk/json/jackson/pom.xml
turbine/fulcrum/trunk/json/jackson/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java
turbine/fulcrum/trunk/json/jackson/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java
turbine/fulcrum/trunk/json/jackson2/pom.xml
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/mixins/TypedRectangle.java
turbine/fulcrum/trunk/json/pom.xml
Modified: turbine/fulcrum/trunk/json/jackson/pom.xml
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson/pom.xml?rev=1887732&r1=1887731&r2=1887732&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/jackson/pom.xml (original)
+++ turbine/fulcrum/trunk/json/jackson/pom.xml Tue Mar 16 16:37:37 2021
@@ -58,11 +58,11 @@
</build>
<dependencies>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.9</version>
- </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.9</version>
+ </dependency>
<dependency>
<groupId>org.apache.avalon.framework</groupId>
<artifactId>avalon-framework-api</artifactId>
@@ -89,6 +89,13 @@
<artifactId>jackson-xc</artifactId>
<version>${jackson.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-nop</artifactId>
+ <version>1.7.25</version>
+ <optional>true</optional>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<properties>
<!-- 1.9.13, released 14-Jul-2013: latest version see
https://github.com/FasterXML/jackson -->
Modified:
turbine/fulcrum/trunk/json/jackson/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java?rev=1887732&r1=1887731&r2=1887732&view=diff
==============================================================================
---
turbine/fulcrum/trunk/json/jackson/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java
(original)
+++
turbine/fulcrum/trunk/json/jackson/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java
Tue Mar 16 16:37:37 2021
@@ -7,6 +7,8 @@ import org.apache.fulcrum.json.TestClass
import org.apache.fulcrum.testcontainer.BaseUnit5Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.platform.runner.JUnitPlatform;
+import org.junit.runner.RunWith;
/**
@@ -15,6 +17,7 @@ import org.junit.jupiter.api.Test;
* @author gk
* @version $Id$
*/
+@RunWith(JUnitPlatform.class)
public class DefaultServiceTest extends BaseUnit5Test {
private JsonService sc = null;
private final String preDefinedOutput =
Modified:
turbine/fulcrum/trunk/json/jackson/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java?rev=1887732&r1=1887731&r2=1887732&view=diff
==============================================================================
---
turbine/fulcrum/trunk/json/jackson/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java
(original)
+++
turbine/fulcrum/trunk/json/jackson/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java
Tue Mar 16 16:37:37 2021
@@ -40,6 +40,8 @@ import org.codehaus.jackson.annotate.Jso
import org.codehaus.jackson.annotate.JsonProperty;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.platform.runner.JUnitPlatform;
+import org.junit.runner.RunWith;
/**
* Jackson1 JSON Test
@@ -47,6 +49,7 @@ import org.junit.jupiter.api.Test;
* @author gk
* @version $Id$
*/
+@RunWith(JUnitPlatform.class)
public class JacksonMapperTest extends BaseUnit5Test {
private JsonService sc = null;
private final String preDefinedOutput =
"{\"container\":{\"cf\":\"Config.xml\"},\"configurationName\":\"Config.xml\",\"name\":\"mytest\"}";
Modified: turbine/fulcrum/trunk/json/jackson2/pom.xml
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/pom.xml?rev=1887732&r1=1887731&r2=1887732&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/jackson2/pom.xml (original)
+++ turbine/fulcrum/trunk/json/jackson2/pom.xml Tue Mar 16 16:37:37 2021
@@ -58,11 +58,11 @@
</build>
<dependencies>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.9</version>
- </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.9</version>
+ </dependency>
<dependency>
<groupId>org.apache.avalon.framework</groupId>
<artifactId>avalon-framework-api</artifactId>
@@ -138,7 +138,7 @@
<properties>
<!-- 2.7.x hase Java 7 baseline, but is compiled with Java 6 support,
cft. https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.7.
With Jackson 2.8, Java 7 languages features will be allowed -->
- <jackson2.version>2.10.3</jackson2.version>
+ <jackson2.version>2.12.2</jackson2.version>
</properties>
<profiles>
<profile>
Modified:
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java?rev=1887732&r1=1887731&r2=1887732&view=diff
==============================================================================
---
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java
(original)
+++
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java
Tue Mar 16 16:37:37 2021
@@ -124,7 +124,7 @@ public class DefaultServiceTest extends
ObjectMapper objectMapper = new ObjectMapper(new
MappingJsonFactory(((Jackson2MapperService) sc).getMapper()));
// use other configuration
if (withType)
-
objectMapper.enableDefaultTypingAsProperty(DefaultTyping.NON_FINAL, "type");
+
objectMapper.activateDefaultTypingAsProperty(objectMapper.getPolymorphicTypeValidator(),
DefaultTyping.NON_FINAL, "type");
AnnotationIntrospector ai =
objectMapper.getSerializationConfig().getAnnotationIntrospector();
// AnnotationIntrospector is by default
JacksonAnnotationIntrospector
assertTrue(ai != null && ai instanceof
JacksonAnnotationIntrospector, "Expected Default
JacksonAnnotationIntrospector");
@@ -265,7 +265,6 @@ public class DefaultServiceTest extends
*/
@Test
public void testSerializeExcludeField() throws Exception {
-
String serJson = sc.serializeAllExceptFilter(new
TestClass("mytest"), "configurationName");
assertEquals("{\"container\":{\"cf\":\"Config.xml\"},\"name\":\"mytest\"}",
serJson, "Serialization failed ");
sc.addAdapter("Mixin Adapter", TestClass.class,
TextClassMixin.class);
@@ -617,6 +616,7 @@ public class DefaultServiceTest extends
/**
* @throws Exception generic exception
+ *
*/
@Test
public void testSerializeCollectionWithOnlyFilterAndType() throws
Exception {
@@ -627,7 +627,7 @@ public class DefaultServiceTest extends
rectList.add(filteredRect);
}
Class<?> clazz =
Class.forName("org.apache.fulcrum.json.jackson.mixins.TypedRectangle");
- // no type cft.
https://github.com/FasterXML/jackson-databind/issues/303 !!
+ //
String jsonResult = sc.serializeOnlyFilter(rectList, clazz, true, "w");
assertEquals("[{\"w\":0},{\"w\":1}]", jsonResult);
// could not deserialize easily with missing property type
@@ -635,8 +635,14 @@ public class DefaultServiceTest extends
/**
* @throws Exception generic exception
+ *
+ * This test was a workaround for no type cft.
https://github.com/FasterXML/jackson-databind/issues/303
+ *
+ * and is not supported in v > 10.2 (assign a type to Object). Use e.g.
type references
+ *
+ * {@link #testSerializeCollectionWithTypedReference(TestReporter)} or
write a custom serializer
*/
- @Test
+ @Deprecated
public void testSerializeCollectionWithOnlyFilterAndMixin() throws
Exception {
List<TypedRectangle> rectList = new ArrayList<TypedRectangle>();
@@ -645,10 +651,12 @@ public class DefaultServiceTest extends
rectList.add(filteredRect);
}
Class<?> clazz =
Class.forName("org.apache.fulcrum.json.jackson.mixins.TypedRectangle");
- sc.addAdapter("Collection Adapter", Object.class,
TypedRectangle.Mixins.class);
+ sc.addAdapter("Collection Adapter", Object.class,
TypedRectangle.class);
+ System.out.println( "********++********** sc" + sc );
+ String result = sc.serializeOnlyFilter(rectList, clazz, true, "w");
assertEquals(
"[\"java.util.ArrayList\",[{\"type\":\"org.apache.fulcrum.json.jackson.mixins.TypedRectangle\",\"w\":0},{\"type\":\"org.apache.fulcrum.json.jackson.mixins.TypedRectangle\",\"w\":1}]]",
- sc.serializeOnlyFilter(rectList, clazz, true, "w"));
+ result);
}
/**
Modified:
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/mixins/TypedRectangle.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/mixins/TypedRectangle.java?rev=1887732&r1=1887731&r2=1887732&view=diff
==============================================================================
---
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/mixins/TypedRectangle.java
(original)
+++
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/mixins/TypedRectangle.java
Tue Mar 16 16:37:37 2021
@@ -27,7 +27,7 @@ import com.fasterxml.jackson.annotation.
public final class TypedRectangle {
// This is only need if no DefaultTyping is set; you have then assign this to
object if using collections
- @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include =
JsonTypeInfo.As.PROPERTY, property = "type")
+ @JsonTypeInfo(use = Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property
= "type")
public static class Mixins { }
private int w, h;
Modified: turbine/fulcrum/trunk/json/pom.xml
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/pom.xml?rev=1887732&r1=1887731&r2=1887732&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/pom.xml (original)
+++ turbine/fulcrum/trunk/json/pom.xml Tue Mar 16 16:37:37 2021
@@ -21,7 +21,7 @@
<parent>
<artifactId>turbine-parent</artifactId>
<groupId>org.apache.turbine</groupId>
- <version>7</version>
+ <version>8-SNAPSHOT</version>
<relativePath />
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -72,7 +72,7 @@
<modules>
<module>api</module>
<module>gson</module>
- <module>jackson</module>
+ <!--module>jackson</module-->
<module>jackson2</module>
<module>dist</module>
</modules>