[jboss-svn-commits] JBL Code SVN: r18967 - labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Mar 14 09:53:26 EDT 2008
Author: mark.proctor at jboss.com
Date: 2008-03-14 09:53:25 -0400 (Fri, 14 Mar 2008)
New Revision: 18967
Modified:
labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
JBRULES-1415 Certain uses of from causes NullPointerException in WorkingMemoryLogger
-fixed nullpointer in logger for derived facthandles.
Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-03-14 12:43:43 UTC (rev 18966)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-03-14 13:53:25 UTC (rev 18967)
@@ -81,6 +81,8 @@
import org.drools.WorkingMemory;
import org.drools.Cheesery.Maturity;
import org.drools.audit.WorkingMemoryFileLogger;
+import org.drools.audit.WorkingMemoryInMemoryLogger;
+import org.drools.audit.WorkingMemoryLogger;
import org.drools.base.ClassObjectFilter;
import org.drools.common.AbstractWorkingMemory;
import org.drools.common.InternalFactHandle;
@@ -1119,7 +1121,43 @@
Package pkg = builder.getPackage();
pkg.checkValidity();
}
+
+ public void testFromDeclarationWithWorkingMemoryLogger() throws Exception {
+ String rule = "package org.test;\n";
+ rule += "import org.drools.Cheesery\n";
+ rule += "import org.drools.Cheese\n";
+ rule += "global java.util.List list\n";
+ rule += "rule \"Test Rule\"\n";
+ rule += "when\n";
+ rule += " $cheesery : Cheesery()\n";
+ rule += " Cheese( $type : type) from $cheesery.cheeses\n";
+ rule += "then\n";
+ rule += " list.add( $type );\n";
+ rule += "end";
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new StringReader( rule ));
+ final Package pkg = builder.getPackage();
+
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage(pkg);
+ final StatefulSession session = ruleBase.newStatefulSession();
+
+ WorkingMemoryInMemoryLogger logger = new WorkingMemoryInMemoryLogger( session );
+ List list = new ArrayList();
+ session.setGlobal( "list", list );
+
+ Cheesery cheesery = new Cheesery();
+ cheesery.addCheese( new Cheese("stilton", 22) );
+
+ session.insert( cheesery );
+
+ session.fireAllRules();
+
+ assertEquals( 1, list.size());
+ assertEquals( "stilton", list.get(0));
+ }
+
public void testWithInvalidRule() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl(new InputStreamReader(getClass()
More information about the jboss-svn-commits
mailing list