[jboss-svn-commits] JBL Code SVN: r10682 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Mar 31 22:20:50 EDT 2007
Author: mark.proctor at jboss.com
Date: 2007-03-31 22:20:50 -0400 (Sat, 31 Mar 2007)
New Revision: 10682
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ColumnBuilder.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_StaticField.drl
Log:
JBRULES-768 Object based enums do not work
-removed the toString()
-added further static field test for Object based enums
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ColumnBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ColumnBuilder.java 2007-03-31 10:32:41 UTC (rev 10681)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ColumnBuilder.java 2007-04-01 02:20:50 UTC (rev 10682)
@@ -527,7 +527,7 @@
final String fieldName = literalRestrictionDescr.getText().substring( lastDot + 1 );
try {
final Class staticClass = utils.getTypeResolver().resolveType( className );
- field = FieldFactory.getFieldValue( staticClass.getField( fieldName ).get( null ).toString(),
+ field = FieldFactory.getFieldValue( staticClass.getField( fieldName ).get( null ),
extractor.getValueType() );
} catch ( final ClassNotFoundException e ) {
context.getErrors().add( new RuleError( context.getRule(),
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java 2007-03-31 10:32:41 UTC (rev 10681)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java 2007-04-01 02:20:50 UTC (rev 10682)
@@ -34,6 +34,7 @@
private int status;
private int totalAmount;
+ private Maturity maturity;
public List getCheeses() {
return this.cheeses;
@@ -43,15 +44,23 @@
this.cheeses.add( cheese );
this.totalAmount += cheese.getPrice();
}
-
+
public void setStatus(final int status) {
this.status = status;
}
public int getStatus() {
return this.status;
+ }
+
+ public Maturity getMaturity() {
+ return maturity;
}
+ public void setMaturity(Maturity maturity) {
+ this.maturity = maturity;
+ }
+
public int getTotalAmount() {
return totalAmount;
}
@@ -59,4 +68,19 @@
public void setTotalAmount(int totalAmount) {
this.totalAmount = totalAmount;
}
+
+ public static class Maturity {
+ public static final Maturity YOUNG = new Maturity( "young" );
+ public static final Maturity OLD = new Maturity( "old" );
+
+ private String age;
+
+ public Maturity(String age) {
+ this.age = age;
+ }
+
+ public String toString() {
+ return "[Maturity age='" + this.age + "']";
+ }
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2007-03-31 10:32:41 UTC (rev 10681)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2007-04-01 02:20:50 UTC (rev 10682)
@@ -66,6 +66,7 @@
import org.drools.State;
import org.drools.TestParam;
import org.drools.WorkingMemory;
+import org.drools.Cheesery.Maturity;
import org.drools.compiler.DrlParser;
import org.drools.compiler.DroolsError;
import org.drools.compiler.DroolsParserException;
@@ -1915,17 +1916,25 @@
workingMemory.setGlobal( "list",
list );
- final Cheesery cheesery = new Cheesery();
- cheesery.setStatus( Cheesery.SELLING_CHEESE );
- workingMemory.assertObject( cheesery );
+ final Cheesery cheesery1 = new Cheesery();
+ cheesery1.setStatus( Cheesery.SELLING_CHEESE );
+ cheesery1.setMaturity( Maturity.OLD );
+ workingMemory.assertObject( cheesery1);
+
+ final Cheesery cheesery2 = new Cheesery();
+ cheesery2.setStatus( Cheesery.MAKING_CHEESE);
+ cheesery2.setMaturity( Maturity.YOUNG );
+ workingMemory.assertObject( cheesery2 );
workingMemory.fireAllRules();
- assertEquals( 1,
+ assertEquals( 2,
list.size() );
- assertEquals( cheesery,
+ assertEquals( cheesery1,
list.get( 0 ) );
+ assertEquals( cheesery2,
+ list.get( 1 ) );
}
public void testDynamicRuleAdditions() throws Exception {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_StaticField.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_StaticField.drl 2007-03-31 10:32:41 UTC (rev 10681)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_StaticField.drl 2007-04-01 02:20:50 UTC (rev 10682)
@@ -2,13 +2,23 @@
import org.drools.Person
import org.drools.Cheesery
+import org.drools.Cheesery.Maturity
global java.util.List list
-rule "first"
+rule "status, int based enum"
+ salience 10
when
- p : Cheesery(status == Cheesery.SELLING_CHEESE)
+ p : Cheesery(status == Cheesery.SELLING_CHEESE, maturity == Maturity.OLD)
then
list.add( p );
end
+
+rule "maturity, object based enum"
+ when
+ p : Cheesery(status == Cheesery.MAKING_CHEESE, maturity == Maturity.YOUNG)
+ then
+ list.add( p );
+
+end
\ No newline at end of file
More information about the jboss-svn-commits
mailing list