[jboss-svn-commits] JBL Code SVN: r19826 - 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
Thu May 1 19:29:18 EDT 2008
Author: mark.proctor at jboss.com
Date: 2008-05-01 19:29:18 -0400 (Thu, 01 May 2008)
New Revision: 19826
Modified:
labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
JBRULES-1438 FactTemplate Property Access leads to RuleBuilder Exception
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-05-01 23:29:12 UTC (rev 19825)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-05-01 23:29:18 UTC (rev 19826)
@@ -669,7 +669,46 @@
fact.getFieldValue( "price" ) );
}
+
+ public void testFactTemplateFieldBinding() throws Exception {
+ // from JBRULES-1512
+ String rule1 = "package org.drools.entity\n" +
+ " global java.util.List list\n" +
+ "template Settlement\n" +
+ " String InstrumentType\n" +
+ " String InstrumentName\n" +
+ "end\n" +
+ "rule TestEntity\n" +
+ " when\n" +
+ " Settlement(InstrumentType == \"guitar\", name : InstrumentName)\n" +
+ " then \n" +
+ " list.add( name ) ;\n" +
+ "end\n";
+
+ PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new StringReader( rule1 ));
+ Package pkg = builder.getPackage();
+
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ ruleBase.addPackage(pkg);
+
+ WorkingMemory wm = ruleBase.newStatefulSession();
+ List list = new ArrayList();
+ wm.setGlobal( "list", list );
+
+ final FactTemplate cheese = pkg.getFactTemplate( "Settlement" );
+ final Fact guitar = cheese.createFact( 0 );
+ guitar.setFieldValue( "InstrumentType",
+ "guitar" );
+ guitar.setFieldValue( "InstrumentName",
+ "gibson" );
+ wm.insert( guitar );
+
+ wm.fireAllRules();
+ assertEquals( "gibson", list.get( 0 ) );
+ }
+
public void testPropertyChangeSupport() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_PropertyChange.drl" ) ) );
More information about the jboss-svn-commits
mailing list