Author: gk
Date: Tue Jan 20 11:32:35 2015
New Revision: 1653229
URL: http://svn.apache.org/r1653229
Log:
- Upgrade to FasterXML Jackson (2.x) Version 4.5
- Use Turbine Parent Snapshot
Modified:
turbine/fulcrum/trunk/json/jackson2/pom.xml
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/Jackson2MapperService.java
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/SimpleNameIntrospector.java
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/filters/FilterContext.java
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTypingTest.java
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java
turbine/fulcrum/trunk/json/pom.xml
Modified: turbine/fulcrum/trunk/json/jackson2/pom.xml
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/pom.xml?rev=1653229&r1=1653228&r2=1653229&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/jackson2/pom.xml (original)
+++ turbine/fulcrum/trunk/json/jackson2/pom.xml Tue Jan 20 11:32:35 2015
@@ -118,6 +118,6 @@
</dependency>
</dependencies>
<properties>
- <jackson2.version>2.2.3</jackson2.version>
+ <jackson2.version>2.4.5</jackson2.version>
</properties>
</project>
Modified:
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/Jackson2MapperService.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/Jackson2MapperService.java?rev=1653229&r1=1653228&r2=1653229&view=diff
==============================================================================
---
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/Jackson2MapperService.java
(original)
+++
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/Jackson2MapperService.java
Tue Jan 20 11:32:35 2015
@@ -25,7 +25,6 @@ import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Enumeration;
import java.util.Hashtable;
-import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -36,7 +35,6 @@ import org.apache.avalon.framework.confi
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.fulcrum.json.JsonService;
import org.apache.fulcrum.json.jackson.filters.CustomModuleWrapper;
-import org.apache.fulcrum.json.jackson.filters.FilterContext;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser;
@@ -62,12 +60,12 @@ import com.fasterxml.jackson.databind.in
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.DefaultSerializerProvider;
import com.fasterxml.jackson.databind.ser.FilterProvider;
+import com.fasterxml.jackson.databind.ser.PropertyFilter;
import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
/**
- * Jackson 2 Impl of {@link JsonService}.
*
*
* By default multiple serialization of the same object in a single thread is
@@ -76,7 +74,7 @@ import com.fasterxml.jackson.databind.se
*
* Note: If using {@link SimpleNameIntrospector}, filters are set by class id,
which are cached by default.
* By setting {@link #cacheFilters} to <code>false</code> each filter will be
unregistered and the cache cleaned.
- * By setting the Boolean parameter clean {@link #filter(Object, Class,
FilterContext, Boolean, String...)}
+ * By setting the Boolean parameter clean {@link #filter(Object, Class,
PropertyFilter, Boolean, String...)}
* you could filter a class differently for each call.
*
* @author <a href="mailto:[email protected]">Georg Kallidis</a>
@@ -253,11 +251,10 @@ public class Jackson2MapperService exten
public synchronized <T> String serializeAllExceptFilter(Object src,
Class<T> filterClass, Boolean clean, String... filterAttr) throws
Exception {
- FilterContext fc = new FilterContext();
+ PropertyFilter pf = null;
if (filterAttr != null)
- fc.setFilter(SimpleBeanPropertyFilter
- .serializeAllExcept(filterAttr));
- return filter(src, filterClass, fc, clean, filterAttr);
+ pf = SimpleBeanPropertyFilter.serializeAllExcept(filterAttr);
+ return filter(src, filterClass, pf, clean, filterAttr);
}
@Override
@@ -269,12 +266,12 @@ public class Jackson2MapperService exten
@Override
public synchronized <T> String serializeOnlyFilter(Object src,
Class<T> filterClass, Boolean refresh, String... filterAttr)
throws Exception {
- FilterContext fc = new FilterContext();
+ PropertyFilter pf = null;
if (filterAttr != null && filterAttr.length > 0) {
-
fc.setFilter(SimpleBeanPropertyFilter.filterOutAllExcept(filterAttr));
+ pf = SimpleBeanPropertyFilter.filterOutAllExcept(filterAttr);
getLogger().debug("setting filteroutAllexcept filter for size of
filterAttr: " + filterAttr.length);
}
- return filter(src, filterClass, fc, refresh, filterAttr);
+ return filter(src, filterClass, pf, refresh, filterAttr);
}
@Override
@@ -321,10 +318,10 @@ public class Jackson2MapperService exten
}
private <T> String filter(Object src, Class<T> filterClass,
- FilterContext fc, Boolean clean, String... filterAttr) throws
Exception {
+ PropertyFilter pf, Boolean clean, String... filterAttr) throws
Exception {
FilterProvider filter = null;
if (src != null) {
- filter = checkFilter(fc, src.getClass(), filterClass,
+ filter = checkFilter(pf, src.getClass(), filterClass,
filterAttr);
}
getLogger().info("filtering with filter "+ filter);
@@ -337,26 +334,27 @@ public class Jackson2MapperService exten
}
@SuppressWarnings("unchecked")
- private <T> FilterProvider checkFilter(FilterContext fc,
+ private <T> FilterProvider checkFilter(PropertyFilter pf,
Class rootFilterClass, Class<T> filterClass, String... filterAttr)
{
- SimpleFilterProvider filter = new SimpleFilterProvider();
+ SimpleFilterProvider filter = null;
if (filterAttr != null && filterAttr.length > 0
&& (filterClass == null ||
!rootFilterClass.equals(filterClass))) {
// filter attributes in root class
- filter = retrieveFilter(filter, fc, rootFilterClass, filterAttr);
+ filter = retrieveFilter(pf, rootFilterClass, filterAttr);
}
if (filterClass != null) {
- filter = retrieveFilter(filter, fc, filterClass, filterAttr);
+ filter = retrieveFilter(pf, filterClass, filterAttr);
}
return filter;
}
- private <T> SimpleFilterProvider retrieveFilter(SimpleFilterProvider
filter, FilterContext fc,
- Class<T> filterClass, String... filterAttr) {
+ private <T> SimpleFilterProvider retrieveFilter(PropertyFilter pf,
Class<T> filterClass, String... filterAttr) {
+ SimpleFilterProvider filter = new SimpleFilterProvider();
if (!this.filters.containsKey(filterClass.getName())) {
getLogger().debug("add filter for class " + filterClass.getName());
- if (fc.getFilter() != null) {
- filter.addFilter(filterClass.getName(), fc.getFilter());
+ if (pf != null) {
+ //filter.addFilter(filterClass.getName(), pf);
+ filter.setDefaultFilter(pf);
}
setCustomIntrospectorWithExternalFilterId(filterClass); // filter
// class
Modified:
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/SimpleNameIntrospector.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/SimpleNameIntrospector.java?rev=1653229&r1=1653228&r2=1653229&view=diff
==============================================================================
---
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/SimpleNameIntrospector.java
(original)
+++
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/SimpleNameIntrospector.java
Tue Jan 20 11:32:35 2015
@@ -22,6 +22,7 @@ package org.apache.fulcrum.json.jackson;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
+import com.fasterxml.jackson.databind.introspect.Annotated;
import com.fasterxml.jackson.databind.introspect.AnnotatedClass;
import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
@@ -37,6 +38,10 @@ import com.fasterxml.jackson.databind.se
*
*/
public class SimpleNameIntrospector extends JacksonAnnotationIntrospector {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
public List<String> externalFilterClasses = new
CopyOnWriteArrayList<String>();
/**
@@ -61,7 +66,7 @@ public class SimpleNameIntrospector exte
* filter itself currently is {@link SimpleFilterProvider}.
*/
@Override
- public Object findFilterId(AnnotatedClass ac) {
+ public Object findFilterId(Annotated ac) {
// Let's default to current behavior if annotation is found:
Object id = super.findFilterId(ac);
// but use simple class name if not
Modified:
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/filters/FilterContext.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/filters/FilterContext.java?rev=1653229&r1=1653228&r2=1653229&view=diff
==============================================================================
---
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/filters/FilterContext.java
(original)
+++
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/filters/FilterContext.java
Tue Jan 20 11:32:35 2015
@@ -19,17 +19,18 @@ package org.apache.fulcrum.json.jackson.
* under the License.
*/
-import com.fasterxml.jackson.databind.ser.BeanPropertyFilter;
+import com.fasterxml.jackson.databind.ser.PropertyFilter;
+@Deprecated
public class FilterContext {
- BeanPropertyFilter filter;
+ PropertyFilter filter;
- public BeanPropertyFilter getFilter() {
+ public PropertyFilter getFilter() {
return filter;
}
- public void setFilter(BeanPropertyFilter bpf) {
+ public void setFilter(PropertyFilter bpf) {
this.filter = bpf;
}
Modified:
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTypingTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTypingTest.java?rev=1653229&r1=1653228&r2=1653229&view=diff
==============================================================================
---
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTypingTest.java
(original)
+++
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTypingTest.java
Tue Jan 20 11:32:35 2015
@@ -39,7 +39,7 @@ import com.fasterxml.jackson.core.type.T
import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping;
/**
- * Jackson2 JSON Test with EnabledDefaultTyping {@link DefaultTyping#NON_FINAL}
+ * Jackson2 JSON Test with EnabledDefaultTyping {@link
DefaultTyping#NON_FINAL} the most verbose type information.
*
* cft. http://wiki.fasterxml.com/JacksonPolymorphicDeserialization
*
Modified:
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java?rev=1653229&r1=1653228&r2=1653229&view=diff
==============================================================================
---
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java
(original)
+++
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java
Tue Jan 20 11:32:35 2015
@@ -41,6 +41,8 @@ import com.fasterxml.jackson.annotation.
/**
* Jackson2 JSON Test
*
+ * Test without type setting
+ *
* @author gk
* @version $Id$
*/
Modified: turbine/fulcrum/trunk/json/pom.xml
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/pom.xml?rev=1653229&r1=1653228&r2=1653229&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/pom.xml (original)
+++ turbine/fulcrum/trunk/json/pom.xml Tue Jan 20 11:32:35 2015
@@ -21,7 +21,7 @@
<parent>
<artifactId>turbine-parent</artifactId>
<groupId>org.apache.turbine</groupId>
- <version>3</version>
+ <version>4-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.fulcrum</groupId>