[jboss-svn-commits] JBL Code SVN: r23204 - in labs/jbossrules/branches/drools-api-refactor-20080929: 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
Tue Sep 30 00:33:25 EDT 2008
Author: mark.proctor at jboss.com
Date: 2008-09-30 00:33:25 -0400 (Tue, 30 Sep 2008)
New Revision: 23204
Modified:
labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java
labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/TruthMaintenanceTest.java
labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
Log:
JBRULES-1734 Drools API
-Updated some more of TruthMaintenanceTest to support new api
Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java 2008-09-30 04:01:16 UTC (rev 23203)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java 2008-09-30 04:33:25 UTC (rev 23204)
@@ -29,6 +29,8 @@
Future<?> asyncFireAllRules();
+ FactHandle getFactHandle(Object object);
+
Collection<?> getObjects();
Collection<?> getObjects(ObjectFilter filter);
Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/TruthMaintenanceTest.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/TruthMaintenanceTest.java 2008-09-30 04:01:16 UTC (rev 23203)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/TruthMaintenanceTest.java 2008-09-30 04:33:25 UTC (rev 23204)
@@ -58,7 +58,7 @@
public void testLogicalInsertionsDynamicRule() throws Exception {
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
- kbuilder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_LogicalInsertionsDynamicRule.drl" ) ) );
+ kbuilder.addPackageFromDrl( getClass().getResource( "test_LogicalInsertionsDynamicRule.drl" ) );
Collection<KnowledgePackage> kpkgs = kbuilder.getKnowledgePackages();
KnowledgeBase kbase = getKnowledgeBase();
@@ -87,9 +87,8 @@
assertTrue( list.contains( new Person( c3.getType() ) ) );
// this rule will make a logical assertion for c1 too
- final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_LogicalInsertionsDynamicRule2.drl" ) );
kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
- kbuilder.addPackageFromDrl( reader );
+ kbuilder.addPackageFromDrl( getClass().getResource( "test_LogicalInsertionsDynamicRule2.drl" ) );
Collection<KnowledgePackage> kpkgs2 = kbuilder.getKnowledgePackages();
kbase.addKnowledgePackages( kpkgs2 );
kbase = SerializationHelper.serializeObject( kbase );
@@ -171,165 +170,163 @@
}
public void testLogicalInsertions() throws Exception {
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_LogicalInsertions.drl" ) ) );
- final Package pkg = builder.getPackage();
+ final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.addPackageFromDrl( getClass().getResource( "test_LogicalInsertions.drl" ) );
+ Collection<KnowledgePackage> kpkgs = kbuilder.getKnowledgePackages();
- RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject(ruleBase);
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kpkgs );
+ kbase = SerializationHelper.serializeObject( kbase );
+ final StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
final List list = new ArrayList();
- workingMemory.setGlobal( "list",
+ session.setGlobal( "list",
list );
final Cheese brie = new Cheese( "brie",
12 );
- final FactHandle brieHandle = workingMemory.insert( brie );
+ final FactHandle brieHandle = session.insert( brie );
final Cheese provolone = new Cheese( "provolone",
12 );
- final FactHandle provoloneHandle = workingMemory.insert( provolone );
+ final FactHandle provoloneHandle = session.insert( provolone );
- workingMemory.fireAllRules();
+ session.fireAllRules();
assertEquals( 3,
list.size() );
assertEquals( 3,
- IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+ session.getObjects().size() );
- workingMemory.retract( brieHandle );
+ session.retract( brieHandle );
assertEquals( 2,
- IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+ session.getObjects().size() );
- workingMemory.retract( provoloneHandle );
+ session.retract( provoloneHandle );
assertEquals( 0,
- IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+ session.getObjects().size() );
}
public void testLogicalInsertionsBacking() throws Exception {
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_LogicalInsertionsBacking.drl" ) ) );
- final Package pkg = builder.getPackage();
+ final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.addPackageFromDrl( getClass().getResource( "test_LogicalInsertionsBacking.drl" ) );
+ Collection<KnowledgePackage> kpkgs = kbuilder.getKnowledgePackages();
- RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject(ruleBase);
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kpkgs );
+ kbase = SerializationHelper.serializeObject( kbase );
+ final StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
final Cheese cheese1 = new Cheese( "c",
1 );
final Cheese cheese2 = new Cheese( cheese1.getType(),
1 );
- List list;
+
- final FactHandle h1 = workingMemory.insert( cheese1 );
- workingMemory.fireAllRules();
- list = IteratorToList.convert( workingMemory.iterateObjects( new ClassObjectFilter( cheese1.getType().getClass() ) ) );
+ final FactHandle h1 = session.insert( cheese1 );
+ session.fireAllRules();
+ Collection<?> list = session.getObjects( new ClassObjectFilter( cheese1.getType().getClass() ) );
assertEquals( 1,
list.size() );
// probably dangerous, as contains works with equals, not identity
assertEquals( cheese1.getType(),
- list.get( 0 ) );
+ list.iterator().next() );
// FactHandle ht = workingMemory.getFactHandle(c1.getType());
- final FactHandle h2 = workingMemory.insert( cheese2 );
- workingMemory.fireAllRules();
- list = IteratorToList.convert( workingMemory.iterateObjects(new ClassObjectFilter( cheese1.getType().getClass() ) ) );
+ final FactHandle h2 = session.insert( cheese2 );
+ session.fireAllRules();
+ list = session.getObjects(new ClassObjectFilter( cheese1.getType().getClass() ) );
assertEquals( 1,
list.size() );
assertEquals( cheese1.getType(),
- list.get( 0 ) );
+ list.iterator().next() );
- assertEquals( 3, IteratorToList.convert( workingMemory.iterateObjects() ).size() );
+ assertEquals( 3, session.getObjects().size() );
- workingMemory.retract( h1 );
- workingMemory.fireAllRules();
- list = IteratorToList.convert( workingMemory.iterateObjects(new ClassObjectFilter( cheese1.getType().getClass() ) ) );
+ session.retract( h1 );
+ session.fireAllRules();
+ list = session.getObjects(new ClassObjectFilter( cheese1.getType().getClass() ) );
assertEquals( "cheese-type " + cheese1.getType() + " was retracted, but should not. Backed by cheese2 => type.",
1,
list.size() );
assertEquals( "cheese-type " + cheese1.getType() + " was retracted, but should not. Backed by cheese2 => type.",
cheese1.getType(),
- list.get( 0 ) );
+ list.iterator().next() );
- workingMemory.retract( h2 );
- workingMemory.fireAllRules();
- list = IteratorToList.convert( workingMemory.iterateObjects(new ClassObjectFilter( cheese1.getType().getClass() ) ) );
+ session.retract( h2 );
+ session.fireAllRules();
+ list = session.getObjects(new ClassObjectFilter( cheese1.getType().getClass() ) );
assertEquals( "cheese-type " + cheese1.getType() + " was not retracted, but should have. Neither cheese1 => type nor cheese2 => type is true.",
0,
list.size() );
}
public void testLogicalInsertionsSelfreferencing() throws Exception {
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_LogicalInsertionsSelfreferencing.drl" ) ) );
- final Package pkg = builder.getPackage();
+ final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.addPackageFromDrl( getClass().getResource( "test_LogicalInsertionsSelfreferencing.drl" ) );
+ Collection<KnowledgePackage> kpkgs = kbuilder.getKnowledgePackages();
- RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject(ruleBase);
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kpkgs );
+ kbase = SerializationHelper.serializeObject( kbase );
+ final StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
- List list;
-
final Person b = new Person( "b" );
final Person a = new Person( "a" );
- workingMemory.setGlobal( "b",
+ session.setGlobal( "b",
b );
- FactHandle h1 = workingMemory.insert( a );
- workingMemory.fireAllRules();
- list = IteratorToList.convert( workingMemory.iterateObjects(new ClassObjectFilter( a.getClass() ) ) );
+ FactHandle h1 = session.insert( a );
+ session.fireAllRules();
+ Collection<?> list = session.getObjects( new ClassObjectFilter( a.getClass() ) );
assertEquals( 2,
list.size() );
assertTrue( list.contains( a ) );
assertTrue( list.contains( b ) );
- workingMemory.retract( h1 );
- workingMemory.fireAllRules();
- list = IteratorToList.convert( workingMemory.iterateObjects(new ClassObjectFilter( a.getClass() ) ) );
+ session.retract( h1 );
+ session.fireAllRules();
+ list = session.getObjects( new ClassObjectFilter( a.getClass() ) );
assertEquals( "b was retracted, but it should not have. Is backed by b => b being true.",
1,
list.size() );
assertEquals( "b was retracted, but it should not have. Is backed by b => b being true.",
b,
- list.get( 0 ) );
+ list.iterator().next() );
- h1 = workingMemory.getFactHandle( b );
- workingMemory.retract( h1 );
- workingMemory.fireAllRules();
- list = IteratorToList.convert( workingMemory.iterateObjects(new ClassObjectFilter( a.getClass() ) ) );
+ h1 = session.getFactHandle( b );
+ session.retract( h1 );
+ session.fireAllRules();
+ list = session.getObjects( new ClassObjectFilter( a.getClass() ) );
assertEquals( 0,
list.size() );
}
public void testLogicalInsertionsLoop() throws Exception {
- final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_LogicalInsertionsLoop.drl" ) ) );
- final Package pkg = builder.getPackage();
+ final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.addPackageFromDrl( getClass().getResource( "test_LogicalInsertionsLoop.drl" ) );
+ Collection<KnowledgePackage> kpkgs = kbuilder.getKnowledgePackages();
- RuleBase ruleBase = getRuleBase();
- ruleBase.addPackage( pkg );
- ruleBase = SerializationHelper.serializeObject(ruleBase);
- final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kpkgs );
+ kbase = SerializationHelper.serializeObject( kbase );
+ final StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
- List list;
+
final List l = new ArrayList();
final Person a = new Person( "a" );
- workingMemory.setGlobal( "a",
+ session.setGlobal( "a",
a );
- workingMemory.setGlobal( "l",
+ session.setGlobal( "l",
l );
- workingMemory.fireAllRules();
- list = IteratorToList.convert( workingMemory.iterateObjects(new ClassObjectFilter( a.getClass() ) ) );
+ session.fireAllRules();
+ Collection<?> list = session.getObjects(new ClassObjectFilter( a.getClass() ) );
assertEquals( "a still asserted.",
0,
list.size() );
Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java 2008-09-30 04:01:16 UTC (rev 23203)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java 2008-09-30 04:33:25 UTC (rev 23204)
@@ -64,6 +64,10 @@
object );
}
+ public FactHandle getFactHandle(Object object) {
+ return this.session.getFactHandle( object );
+ }
+
public ProcessInstance getProcessInstance(long id) {
return this.session.getProcessInstance( id );
}
More information about the jboss-svn-commits
mailing list