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/master
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

Reply via email to