[jboss-svn-commits] JBL Code SVN: r31623 - labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/xml/jaxb/util.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Feb 12 12:21:59 EST 2010
Author: baunax
Date: 2010-02-12 12:21:58 -0500 (Fri, 12 Feb 2010)
New Revision: 31623
Modified:
labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/xml/jaxb/util/JaxbFlatQueryResultsAdapter.java
Log:
changed to be more generic
Modified: labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/xml/jaxb/util/JaxbFlatQueryResultsAdapter.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/xml/jaxb/util/JaxbFlatQueryResultsAdapter.java 2010-02-12 16:52:54 UTC (rev 31622)
+++ labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/xml/jaxb/util/JaxbFlatQueryResultsAdapter.java 2010-02-12 17:21:58 UTC (rev 31623)
@@ -1,7 +1,7 @@
package org.drools.xml.jaxb.util;
import java.util.ArrayList;
-import java.util.List;
+import java.util.Arrays;
import javax.xml.bind.annotation.adapters.XmlAdapter;
@@ -11,26 +11,38 @@
@Override
public Object[] marshal(ArrayList<ArrayList<Object>> value) throws Exception {
if (value == null || value.isEmpty()) {
- return new JaxbPair[0];
+ return new Object[0];
}
- List<Object> ret = new ArrayList<Object>();
- for (ArrayList<Object> arrayList : value) {
- for (Object object : arrayList) {
- ret.add(object);
+ Object[] ret = new Object[value.size()];
+ int i = 0;
+ for (ArrayList<Object> list : value) {
+ int j = 0;
+ Object[] sublist = new Object[list.size()];
+ for (Object object : list) {
+ sublist[j++] = object;
}
+ ret[i++] = sublist;
}
- return ret.toArray(new Object[ret.size()]);
+ return ret;
}
@Override
public ArrayList<ArrayList<Object>> unmarshal(Object[] value) throws Exception {
- ArrayList<Object> objects = new ArrayList<Object>();
+ ArrayList<ArrayList<Object>> ret = new ArrayList<ArrayList<Object>>();
for( Object o : value ) {
- objects.add(o);
+ ArrayList<Object> subList;
+ if (o instanceof Object[]) {
+ Object[] list = (Object[]) o;
+ subList = new ArrayList<Object>(list.length);
+ for (Object obj : list) {
+ subList.add(obj);
+ }
+ } else {
+ subList = new ArrayList<Object>(Arrays.asList(new Object[] {o}));
+ }
+ ret.add(subList);
}
- ArrayList<ArrayList<Object>> list = new ArrayList<ArrayList<Object>>();
- list.add(objects);
- return list;
+ return ret;
}
}
More information about the jboss-svn-commits
mailing list