[jboss-svn-commits] JBL Code SVN: r33360 - in labs/jbossrules/trunk: drools-compiler/src/test/java/org/drools/integrationtests and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Jun 5 00:39:41 EDT 2010
Author: mark.proctor at jboss.com
Date: 2010-06-05 00:39:40 -0400 (Sat, 05 Jun 2010)
New Revision: 33360
Modified:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/Row.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/QueryTest.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResultRow.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResults.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/NativeQueryResultRow.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/NativeQueryResults.java
Log:
JBRULES-2514 Open Live Querries
-removed int accessors, only identifiers.
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/Row.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/Row.java 2010-06-05 04:26:28 UTC (rev 33359)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/rule/Row.java 2010-06-05 04:39:40 UTC (rev 33360)
@@ -8,34 +8,13 @@
* @return
*/
public Object get(String identifier);
+
/**
- * Return the Object for the specified position
- *
- * @param i
- * @return
- */
- public Object get(final int i);
-
- /**
* Return the FactHandle associated with the given identifier
* @param identifier
* @return
*/
public FactHandle getFactHandle(String identifier);
- /**
- * Return the FactHandle for the specified position
- *
- * @param i
- * @return
- */
- public FactHandle getFactHandle(final int i);
-
- /**
- * Number of objects in the row
- *
- * @return
- */
- public int size();
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/QueryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/QueryTest.java 2010-06-05 04:26:28 UTC (rev 33359)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/QueryTest.java 2010-06-05 04:39:40 UTC (rev 33360)
@@ -102,7 +102,25 @@
assertEquals( new InsertedObject( "value1" ),
results.get( 0 ).get( 0 ) );
}
+
+ public void testQuery2KnowledgeBuilder() throws Exception {
+ final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_Query.drl", getClass() ), ResourceType.DRL );
+ KnowledgeBase kbase = kbuilder.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbase.getKnowledgePackages() );
+ kbase = SerializationHelper.serializeObject( kbase );
+
+ final StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+ ksession.fireAllRules();
+
+ final org.drools.runtime.rule.QueryResults results = ksession.getQueryResults( "assertedobjquery" );
+ assertEquals( 1,
+ results.size() );
+ assertEquals( new InsertedObject( "value1" ),
+ results.iterator().next().get( "assertedobj" ) );
+ }
+
public void testQueryWithParams() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_QueryWithParams.drl" ) ) );
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResultRow.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResultRow.java 2010-06-05 04:26:28 UTC (rev 33359)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResultRow.java 2010-06-05 04:39:40 UTC (rev 33360)
@@ -9,12 +9,13 @@
public class FlatQueryResultRow
implements
QueryResultsRow {
- Map<String, Integer> identifiers;
- private List result;
+ Map<String, Integer> identifiers;
+ private List result;
private List<FactHandle> factHandles;
- private int size;
- public FlatQueryResultRow(Map<String, Integer> identifiers, List result, List<FactHandle> factHandles, int size) {
+ public FlatQueryResultRow(Map<String, Integer> identifiers,
+ List result,
+ List<FactHandle> factHandles) {
this.identifiers = identifiers;
this.result = result;
this.factHandles = factHandles;
@@ -24,23 +25,8 @@
return this.result.get( identifiers.get( identifier ) );
}
- public Object get(int i) {
- return this.result.get( i );
- }
-
-
public FactHandle getFactHandle(String identifier) {
return this.factHandles.get( identifiers.get( identifier ) );
- }
-
- public FactHandle getFactHandle(int i) {
- return this.factHandles.get( i );
}
- public int size() {
- return this.size;
- }
-
-
-
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResults.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResults.java 2010-06-05 04:26:28 UTC (rev 33359)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/FlatQueryResults.java 2010-06-05 04:39:40 UTC (rev 33360)
@@ -3,6 +3,7 @@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@@ -19,7 +20,7 @@
public class FlatQueryResults
implements
QueryResults {
- private HashMap<String, Integer> identifiers;
+ private Map<String, Integer> identifiers;
@XmlJavaTypeAdapter(JaxbFlatQueryResultsAdapter.class)
@XmlElement(name="results")
private ArrayList<ArrayList<Object>> results;
@@ -31,7 +32,7 @@
}
- public FlatQueryResults(HashMap<String, Integer> identifiers,
+ public FlatQueryResults(Map<String, Integer> identifiers,
ArrayList<ArrayList<Object>> results,
ArrayList<ArrayList<FactHandle>> factHandles) {
this.identifiers = identifiers;
@@ -45,6 +46,14 @@
this.factHandles = new ArrayList<ArrayList<FactHandle>> ( results.size() );
int length = declrs.length;
+
+ identifiers = new HashMap<String, Integer>( length );
+ for ( int i = 0; i < length; i++ ) {
+ identifiers.put( declrs[i].getIdentifier(),
+ i );
+ }
+
+
for ( org.drools.QueryResult result : results ) {
ArrayList<Object> row = new ArrayList<Object>();
@@ -60,12 +69,8 @@
this.factHandles.add( rowHandle );
}
- identifiers = new HashMap<String, Integer>( length );
- for ( int i = 0; i < length; i++ ) {
- identifiers.put( declrs[i].getIdentifier(),
- i );
- }
+
}
public String[] getIdentifiers() {
@@ -83,11 +88,11 @@
}
private class QueryResultsIterator implements Iterator<QueryResultsRow> {
- private HashMap<String, Integer> identifiers;
+ private Map<String, Integer> identifiers;
private Iterator<ArrayList<Object>> iterator;
private Iterator<ArrayList<FactHandle>> handleIterator;
- public QueryResultsIterator(HashMap<String, Integer> identifiers,
+ public QueryResultsIterator(Map<String, Integer> identifiers,
final Iterator<ArrayList<Object>> iterator,
final Iterator<ArrayList<FactHandle>> handleIterator) {
this.identifiers = identifiers;
@@ -102,8 +107,7 @@
public QueryResultsRow next() {
return new FlatQueryResultRow( identifiers,
this.iterator.next(),
- this.handleIterator.next(),
- size() );
+ this.handleIterator.next() );
}
public void remove() {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/NativeQueryResultRow.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/NativeQueryResultRow.java 2010-06-05 04:26:28 UTC (rev 33359)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/NativeQueryResultRow.java 2010-06-05 04:39:40 UTC (rev 33360)
@@ -15,21 +15,9 @@
public Object get(String identifier) {
return this.result.get( identifier );
}
-
- public Object get(int i) {
- return this.result.get( i );
- }
public FactHandle getFactHandle(String identifier) {
return this.result.getFactHandle( identifier );
}
- public FactHandle getFactHandle(int i) {
- return this.result.getFactHandle( i );
- }
-
- public int size() {
- return result.size();
- }
-
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/NativeQueryResults.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/NativeQueryResults.java 2010-06-05 04:26:28 UTC (rev 33359)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/rule/impl/NativeQueryResults.java 2010-06-05 04:39:40 UTC (rev 33360)
@@ -1,14 +1,19 @@
package org.drools.runtime.rule.impl;
+import java.util.ArrayList;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
+import org.drools.base.ClassObjectType;
+import org.drools.base.DroolsQuery;
import org.drools.rule.Declaration;
import org.drools.runtime.rule.QueryResults;
import org.drools.runtime.rule.QueryResultsRow;
+import org.drools.spi.ObjectType;
@XmlAccessorType( XmlAccessType.FIELD )
public class NativeQueryResults
@@ -29,7 +34,17 @@
}
public String[] getIdentifiers() {
- return getDeclarations().keySet().toArray( new String[this.getResults().getDeclarations().size()] );
+ List<String> actualIds = new ArrayList();
+ for ( Declaration declr : results.getDeclarations().values() ) {
+ ObjectType objectType = declr.getPattern().getObjectType();
+ if ( objectType instanceof ClassObjectType ) {
+ if ( ((ClassObjectType) objectType).getClassType() == DroolsQuery.class ) {
+ continue;
+ }
+ }
+ actualIds.add( declr.getIdentifier() );
+ }
+ return actualIds.toArray( new String[actualIds.size() ] );
}
More information about the jboss-svn-commits
mailing list