progress in get rid of settless properties to void jackson-databind issue 501
Project: http://git-wip-us.apache.org/repos/asf/ode/repo Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/7899f73e Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/7899f73e Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/7899f73e Branch: refs/heads/master Commit: 7899f73ec9a590ac77d09a92eb7e52899cc9d1f3 Parents: adb1984 Author: fangzhen <[email protected]> Authored: Mon Aug 11 13:02:05 2014 +0800 Committer: fangzhen <[email protected]> Committed: Mon Aug 11 13:02:05 2014 +0800 ---------------------------------------------------------------------- .../apache/ode/bpel/obj/serde/JsonOmDeserializer.java | 12 +++++++++++- dependencies.rb | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ode/blob/7899f73e/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/JsonOmDeserializer.java ---------------------------------------------------------------------- diff --git a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/JsonOmDeserializer.java b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/JsonOmDeserializer.java index 97d66d0..e5e4efc 100644 --- a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/JsonOmDeserializer.java +++ b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/JsonOmDeserializer.java @@ -32,6 +32,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyName; import com.fasterxml.jackson.databind.deser.BeanDeserializerModifier; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; +import com.fasterxml.jackson.databind.introspect.AnnotatedField; import com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition; import com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder; import com.fasterxml.jackson.databind.jsontype.TypeDeserializer; @@ -255,11 +256,20 @@ public class JsonOmDeserializer implements OmDeserializer { return propDefs; } Iterator<BeanPropertyDefinition> itor = propDefs.iterator(); - BeanPropertyDefinition modified = null; + POJOPropertyBuilder modified = null; while(itor.hasNext()){ BeanPropertyDefinition prop = itor.next(); if (prop.getName().equalsIgnoreCase("extensibilityElements")){ modified = new POJOPropertyBuilder((POJOPropertyBuilder)prop, new PropertyName("extElements")); + try { + AnnotatedField f = new AnnotatedField(AbstractWSDLElement.class.getDeclaredField("extElements"), null); + modified.addField(f, new PropertyName("extElements"), false, true, false); + } catch (NoSuchFieldException e) { + SerializaionRtException e1 = new SerializaionRtException( + "cann't find field, probably implementation of AbstractWSDLElement has changed"); + e1.initCause(e); + throw e1; + } itor.remove(); break; } http://git-wip-us.apache.org/repos/asf/ode/blob/7899f73e/dependencies.rb ---------------------------------------------------------------------- diff --git a/dependencies.rb b/dependencies.rb index 9039110..a4c194d 100644 --- a/dependencies.rb +++ b/dependencies.rb @@ -75,7 +75,7 @@ HIBERNATE = [ "org.hibernate:hibernate-core:jar:3.3.2.GA", "javassist: "asm:asm:jar:3.3.1", "cglib:cglib:jar:2.2", "net.sf.ehcache:ehcache:jar:1.2.3" ] HSQLDB = "hsqldb:hsqldb:jar:1.8.0.7" JACKSON = [ "com.fasterxml.jackson.core:jackson-core:jar:2.4.0", - "com.fasterxml.jackson.core:jackson-databind:jar:2.4.1-SNAPSHOT", + "com.fasterxml.jackson.core:jackson-databind:jar:2.4.0", "com.fasterxml.jackson.core:jackson-annotations:jar:2.4.0", "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar:2.4.0", "com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.4.0"]
