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>


Reply via email to