[jboss-svn-commits] JBL Code SVN: r31557 - labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Feb 10 15:50:44 EST 2010
Author: baunax
Date: 2010-02-10 15:50:43 -0500 (Wed, 10 Feb 2010)
New Revision: 31557
Added:
labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultPair.java
Modified:
labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultAdapter.java
labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultImpl.java
Log:
changed ExecutionResultAdapter for marshalling internal maps as ExecutionResultPair[]
Modified: labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultAdapter.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultAdapter.java 2010-02-10 20:49:14 UTC (rev 31556)
+++ labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultAdapter.java 2010-02-10 20:50:43 UTC (rev 31557)
@@ -1,22 +1,32 @@
package org.drools.runtime.impl;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.xml.bind.annotation.adapters.XmlAdapter;
-public class ExecutionResultAdapter extends XmlAdapter<Object[], Map<String,Object>> {
+public class ExecutionResultAdapter extends XmlAdapter<ExecutionResultPair[], Map<String,Object>> {
@Override
- public Object[] marshal(Map<String, Object> value) throws Exception {
- return value.values().toArray(new Object[value.size()]);
+ public ExecutionResultPair[] marshal(Map<String, Object> value) throws Exception {
+ if (value == null || value.isEmpty()) {
+ return new ExecutionResultPair[0];
+ }
+ List<ExecutionResultPair> ret = new ArrayList<ExecutionResultPair>(value.size());
+ for (Map.Entry<String, Object> entry : value.entrySet()) {
+ ret.add(new ExecutionResultPair(entry.getKey(), entry.getValue()));
+ }
+
+ return ret.toArray(new ExecutionResultPair[value.size()]);
}
@Override
- public Map<String, Object> unmarshal(Object[] value) throws Exception {
+ public Map<String, Object> unmarshal(ExecutionResultPair[] value) throws Exception {
Map<String, Object> r = new HashMap<String, Object>();
- for( Object c : value ) {
- r.put(c.toString(), c);
+ for( ExecutionResultPair p : value ) {
+ r.put(p.getKey(), p.getValue());
}
return r;
}
Modified: labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultImpl.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultImpl.java 2010-02-10 20:49:14 UTC (rev 31556)
+++ labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultImpl.java 2010-02-10 20:50:43 UTC (rev 31557)
@@ -7,7 +7,9 @@
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.drools.runtime.ExecutionResults;
@@ -17,11 +19,12 @@
private static final long serialVersionUID = 1L;
-// @XmlJavaTypeAdapter(ExecutionResultAdapter.class)
-// @XmlElement(name="results")
+ @XmlJavaTypeAdapter(ExecutionResultAdapter.class)
+ @XmlElement(name="results")
HashMap<String, Object> results = new HashMap<String, Object>();
-// @XmlJavaTypeAdapter(ExecutionResultAdapter.class)
-// @XmlElement(name="facts")
+
+ @XmlJavaTypeAdapter(ExecutionResultAdapter.class)
+ @XmlElement(name="facts")
HashMap<String, Object> facts = new HashMap<String, Object>();
/* (non-Javadoc)
Added: labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultPair.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultPair.java (rev 0)
+++ labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultPair.java 2010-02-10 20:50:43 UTC (rev 31557)
@@ -0,0 +1,71 @@
+package org.drools.runtime.impl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+
+ at XmlAccessorType(XmlAccessType.NONE)
+public class ExecutionResultPair {
+
+ @XmlAttribute(name = "key")
+ private String key;
+
+ @XmlElement
+ private Object value;
+
+ public ExecutionResultPair() {
+ }
+
+ public ExecutionResultPair(String key, Object value) {
+ this.key = key;
+ this.value = value;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public void setValue(Object value) {
+ this.value = value;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((key == null) ? 0 : key.hashCode());
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ExecutionResultPair other = (ExecutionResultPair) obj;
+ if (key == null) {
+ if (other.key != null)
+ return false;
+ } else if (!key.equals(other.key))
+ return false;
+ if (value == null) {
+ if (other.value != null)
+ return false;
+ } else if (!value.equals(other.value))
+ return false;
+ return true;
+ }
+}
Property changes on: labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/impl/ExecutionResultPair.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
More information about the jboss-svn-commits
mailing list