fix key serializer for java.net.URI. passed test case of bpel-test
Project: http://git-wip-us.apache.org/repos/asf/ode/repo Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/0b5410e4 Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/0b5410e4 Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/0b5410e4 Branch: refs/heads/ODE-912 Commit: 0b5410e4655047e2615554c9d951699d947e1bec Parents: 103082a Author: fangzhen <[email protected]> Authored: Thu Jul 24 19:47:30 2014 +0800 Committer: fangzhen <[email protected]> Committed: Thu Jul 24 19:47:30 2014 +0800 ---------------------------------------------------------------------- .../bpel/obj/serde/KeyAsJsonDeserializer.java | 12 +++++ .../ode/bpel/obj/serde/KeyAsJsonSerializer.java | 8 +-- junit9200869905741114864.properties | 57 ++++++++++++++++++++ junitvmwatcher7054130341438736120.properties | 1 + 4 files changed, 75 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ode/blob/0b5410e4/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/KeyAsJsonDeserializer.java ---------------------------------------------------------------------- diff --git a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/KeyAsJsonDeserializer.java b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/KeyAsJsonDeserializer.java index 2baa787..7d93819 100644 --- a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/KeyAsJsonDeserializer.java +++ b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/KeyAsJsonDeserializer.java @@ -1,6 +1,8 @@ package org.apache.ode.bpel.obj.serde; import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; @@ -15,6 +17,16 @@ public class KeyAsJsonDeserializer extends KeyDeserializer{ @Override public Object deserializeKey(String key, DeserializationContext ctxt) throws IOException, JsonProcessingException { + if (key.startsWith(KeyAsJsonSerializer.URIPrefix)){ + key = key.substring(KeyAsJsonSerializer.URIPrefix.length()); + try { + return new URI(key); + } catch (URISyntaxException e) { + // should never get here. + e.printStackTrace(); + return null; + } + } return mapper.readValue(key, Object.class); } http://git-wip-us.apache.org/repos/asf/ode/blob/0b5410e4/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/KeyAsJsonSerializer.java ---------------------------------------------------------------------- diff --git a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/KeyAsJsonSerializer.java b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/KeyAsJsonSerializer.java index ede595e..ecc2161 100644 --- a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/KeyAsJsonSerializer.java +++ b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/serde/KeyAsJsonSerializer.java @@ -1,6 +1,7 @@ package org.apache.ode.bpel.obj.serde; import java.io.IOException; +import java.net.URI; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; @@ -13,17 +14,18 @@ public class KeyAsJsonSerializer extends JsonSerializer<Object> { static { mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); } + + public static String URIPrefix = "_-_-java.net.URI_TYPE_HACKER"; @Override public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { String json; - if (value instanceof String) { - json = (String)value; + if (value instanceof URI){ + json = URIPrefix + value; }else{ json = mapper.writeValueAsString(value); } - json = mapper.writeValueAsString(value); jgen.writeFieldName(json); } http://git-wip-us.apache.org/repos/asf/ode/blob/0b5410e4/junit9200869905741114864.properties ---------------------------------------------------------------------- diff --git a/junit9200869905741114864.properties b/junit9200869905741114864.properties new file mode 100644 index 0000000..b3f3150 --- /dev/null +++ b/junit9200869905741114864.properties @@ -0,0 +1,57 @@ +#Ant JUnitTask generated properties file +#Thu Jul 24 19:46:56 CST 2014 +java.runtime.name=Java(TM) SE Runtime Environment +sun.boot.library.path=/usr/java/jdk1.7.0_45/jre/lib/amd64 +java.vm.version=24.45-b08 +ant.version=Apache Ant(TM) version 1.8.3 compiled on February 26 2012 +ant.java.version=1.7 +java.vm.vendor=Oracle Corporation +java.vendor.url=http\://java.oracle.com/ +path.separator=\: +file.encoding.pkg=sun.io +java.vm.name=Java HotSpot(TM) 64-Bit Server VM +sun.os.patch.level=unknown +user.country=CN +user.dir=/home/fangzhen/documents/develop/ws/wkss/odegsoc/ode +java.vm.specification.name=Java Virtual Machine Specification +java.runtime.version=1.7.0_45-b18 +basedir=/home/fangzhen/documents/develop/ws/wkss/odegsoc/ode +java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment +os.arch=amd64 +java.endorsed.dirs=/usr/java/jdk1.7.0_45/jre/lib/endorsed +ant.project.default-target= +line.separator=\n +java.io.tmpdir=/tmp +ant.core.lib=/home/fangzhen/.m2/repository/org/apache/ant/ant/1.8.3/ant-1.8.3.jar +java.vm.specification.vendor=Oracle Corporation +os.name=Linux +ant.project.name=junit +sun.jnu.encoding=UTF-8 +java.library.path=/usr/java/packages/lib/amd64\:/usr/lib64\:/lib64\:/lib\:/usr/lib +java.specification.name=Java Platform API Specification +java.class.version=51.0 +sun.management.compiler=HotSpot 64-Bit Tiered Compilers +os.version=3.11.6-200.fc19.x86_64 +user.home=/home/fangzhen +user.timezone=Asia/Shanghai +java.awt.printerjob=sun.print.PSPrinterJob +file.encoding=UTF-8 +java.specification.version=1.7 +user.name=fangzhen +java.class.path=/home/fangzhen/.m2/repository/org/apache/ant/ant/1.8.3/ant-1.8.3.jar\:/home/fangzhen/.m2/repository/org/apache/ant/ant-launcher/1.8.3/ant-launcher-1.8.3.jar\:/usr/local/share/gems/gems/buildr-1.4.15/lib/buildr/java\:/home/fangzhen/.m2/repository/org/apache/derby/derby/10.1.2.1/derby-10.1.2.1.jar\:/home/fangzhen/.m2/repository/org/apache/derby/derbytools/10.1.2.1/derbytools-10.1.2.1.jar\:/home/fangzhen/.m2/repository/net/java/dev/javacc/javacc/4.0/javacc-4.0.jar\:/home/fangzhen/.m2/repository/org/mortbay/jetty/jetty/6.1.3/jetty-6.1.3.jar\:/home/fangzhen/.m2/repository/org/mortbay/jetty/jetty-util/6.1.3/jetty-util-6.1.3.jar\:/home/fangzhen/.m2/repository/org/mortbay/jetty/servlet-api-2.5/6.1.3/servlet-api-2.5-6.1.3.jar\:/home/fangzhen/.m2/repository/org/slf4j/slf4j-api/1.4.3/slf4j-api-1.4.3.jar\:/home/fangzhen/.m2/repository/org/slf4j/slf4j-simple/1.4.3/slf4j-simple-1.4.3.jar\:/home/fangzhen/.m2/repository/org/slf4j/jcl104-over-slf4j/1.4.3/jcl104-over-slf4j-1.4.3.jar\: /usr/local/share/gems/gems/buildr-1.4.15/addon/buildr\:/home/fangzhen/.m2/repository/org/apache/openjpa/openjpa/1.0.1/openjpa-1.0.1.jar\:/home/fangzhen/.m2/repository/commons-collections/commons-collections/3.1/commons-collections-3.1.jar\:/home/fangzhen/.m2/repository/commons-dbcp/commons-dbcp/1.2.1/commons-dbcp-1.2.1.jar\:/home/fangzhen/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar\:/home/fangzhen/.m2/repository/commons-pool/commons-pool/1.2/commons-pool-1.2.jar\:/home/fangzhen/.m2/repository/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar\:/home/fangzhen/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0/geronimo-j2ee-connector_1.5_spec-1.0.jar\:/home/fangzhen/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0/geronimo-jta_1.0.1B_spec-1.0.jar\:/home/fangzhen/.m2/repository/net/sourceforge/serp/serp/1.11.0/serp-1.11.0.jar\:/usr/java/default/lib/tools.jar +java.vm.specification.version=1.7 +sun.arch.data.model=64 +java.home=/usr/java/jdk1.7.0_45/jre +java.specification.vendor=Oracle Corporation +user.language=zh +awt.toolkit=sun.awt.X11.XToolkit +java.vm.info=mixed mode +java.version=1.7.0_45 +java.ext.dirs=/usr/java/jdk1.7.0_45/jre/lib/ext\:/usr/java/packages/lib/ext +sun.boot.class.path=/usr/java/jdk1.7.0_45/jre/lib/resources.jar\:/usr/java/jdk1.7.0_45/jre/lib/rt.jar\:/usr/java/jdk1.7.0_45/jre/lib/sunrsasign.jar\:/usr/java/jdk1.7.0_45/jre/lib/jsse.jar\:/usr/java/jdk1.7.0_45/jre/lib/jce.jar\:/usr/java/jdk1.7.0_45/jre/lib/charsets.jar\:/usr/java/jdk1.7.0_45/jre/lib/jfr.jar\:/usr/java/jdk1.7.0_45/jre/classes +java.vendor=Oracle Corporation +file.separator=/ +java.vendor.url.bug=http\://bugreport.sun.com/bugreport/ +sun.cpu.endian=little +sun.io.unicode.encoding=UnicodeLittle +sun.cpu.isalist= http://git-wip-us.apache.org/repos/asf/ode/blob/0b5410e4/junitvmwatcher7054130341438736120.properties ---------------------------------------------------------------------- diff --git a/junitvmwatcher7054130341438736120.properties b/junitvmwatcher7054130341438736120.properties new file mode 100644 index 0000000..78055ca --- /dev/null +++ b/junitvmwatcher7054130341438736120.properties @@ -0,0 +1 @@ +BeforeFirstTest
