[jboss-svn-commits] JBL Code SVN: r31600 - in labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz: drools-pipeline/drools-camel/src/test/java/org/drools/camel/component and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Feb 11 23:45:15 EST 2010
Author: lucazamador
Date: 2010-02-11 23:45:15 -0500 (Thu, 11 Feb 2010)
New Revision: 31600
Modified:
labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResults.java
labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java
labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/ResultTranslator.java
Log:
transformation to flatQueryResults completed
Modified: labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResults.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResults.java 2010-02-12 02:01:18 UTC (rev 31599)
+++ labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResults.java 2010-02-12 04:45:15 UTC (rev 31600)
@@ -33,7 +33,7 @@
this.results = results;
this.factHandles = factHandles;
}
-
+
public FlatQueryResults(org.drools.QueryResults results) {
Declaration[] declrs = results.getDeclarations().values().toArray( new Declaration[results.getDeclarations().size()] );
this.results = new ArrayList<ArrayList<Object>>( results.size() );
Modified: labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java 2010-02-12 02:01:18 UTC (rev 31599)
+++ labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java 2010-02-12 04:45:15 UTC (rev 31600)
@@ -309,10 +309,10 @@
String rule = "";
rule += "package org.drools \n";
- rule += "import org.drools.model.Person \n";
+ rule += "import org.drools.pipeline.camel.Person \n";
rule += "global java.util.List list \n";
rule += "query persons \n";
- rule += " $p : Person() \n";
+ rule += " $p : Person(name != null) \n";
rule += "end \n";
rule += "query personWithName(String param)\n";
rule += " $p : Person(name == param) \n";
Modified: labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/ResultTranslator.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/ResultTranslator.java 2010-02-12 02:01:18 UTC (rev 31599)
+++ labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/ResultTranslator.java 2010-02-12 04:45:15 UTC (rev 31600)
@@ -1,6 +1,9 @@
package org.drools.runtime.pipeline.impl;
import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -9,7 +12,10 @@
import javax.xml.transform.TransformerException;
import org.drools.FactHandle;
+import org.drools.QueryResult;
+import org.drools.QueryResults;
import org.drools.common.DisconnectedFactHandle;
+import org.drools.rule.Declaration;
import org.drools.runtime.impl.ExecutionResultImpl;
import org.drools.runtime.rule.impl.FlatQueryResults;
import org.drools.runtime.rule.impl.NativeQueryResults;
@@ -23,8 +29,35 @@
}
if (obj instanceof NativeQueryResults) {
- NativeQueryResults nativeQueryResults = (NativeQueryResults)obj;
- return new FlatQueryResults(nativeQueryResults.getResults());
+ NativeQueryResults nativeQueryResults = (NativeQueryResults) obj;
+ Declaration[] declrs = nativeQueryResults.getDeclarations().values().toArray( new Declaration[nativeQueryResults.getDeclarations().size()] );
+ int length = declrs.length;
+
+ HashMap<String, Integer> identifiers = new HashMap<String, Integer>( length );
+ for ( int i = 0; i < length; i++ ) {
+ identifiers.put( declrs[i].getIdentifier(), i );
+ }
+
+ ArrayList<ArrayList<Object>> results = new ArrayList<ArrayList<Object>>( nativeQueryResults.size() );
+ ArrayList<ArrayList<org.drools.runtime.rule.FactHandle>> factHandles = new ArrayList<ArrayList<org.drools.runtime.rule.FactHandle>> ( nativeQueryResults.size() );
+
+ QueryResults queryResults = nativeQueryResults.getResults();
+ Iterator<QueryResult> iterator = queryResults.iterator();
+ while (iterator.hasNext()) {
+ QueryResult result = iterator.next();
+ FactHandle[] handles = result.getFactHandles();
+ ArrayList<Object> objectList = new ArrayList<Object>();
+ ArrayList<org.drools.runtime.rule.FactHandle> factHandleList = new ArrayList<org.drools.runtime.rule.FactHandle>();
+ for (int i=0; i < handles.length; i++) {
+ DisconnectedFactHandle factHandle = (DisconnectedFactHandle) handles[i];
+ objectList.add(factHandle.getObject());
+ factHandleList.add(factHandle);
+ }
+ results.add(objectList);
+ factHandles.add(factHandleList);
+ }
+
+ return new FlatQueryResults(identifiers, results, factHandles);
}
Class<? extends Object> vClass = obj.getClass();
More information about the jboss-svn-commits
mailing list