[jboss-svn-commits] JBL Code SVN: r31977 - in labs/jbossrules/trunk: drools-compiler/src/main/java/org/drools/rule/builder and 19 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Mar 6 22:23:47 EST 2010
Author: mark.proctor at jboss.com
Date: 2010-03-06 22:23:44 -0500 (Sat, 06 Mar 2010)
New Revision: 31977
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ConsequenceBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java
labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/BinaryResourceDiffProducerImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELConsequence.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Consequence.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/RuleBaseEventSupportTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/knowledgebase/KnowledgeBaseEventSupportTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooBuilderTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooRuleBaseMultiThreadedTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/RuleFlowGroupTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/SchedulerTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/builder/ReteooRuleBuilderTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/test/dsl/RuleTerminalNodeStep.java
Log:
JBRULES-2444 Named Consequences
-committed working version, with builder tests. Not integrated into DRL yet.
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -43,6 +43,7 @@
private AndDescr lhs;
private Object consequence;
+ private Map<String, Object> namedConsequence;
private int consequenceLine;
private int consequencePattern;
private int offset;
@@ -65,6 +66,7 @@
this.documentation = documentation;
this.metaAttributes = new LinkedHashMap<String, String>();
this.attributes = new LinkedHashMap<String, AttributeDescr>();
+ this.namedConsequence = new HashMap<String, Object>();
}
@SuppressWarnings("unchecked")
@@ -76,6 +78,7 @@
parentName = (String) in.readObject();
documentation = (String) in.readObject();
consequence = in.readObject();
+ namedConsequence = (Map<String, Object>) in.readObject();
lhs = (AndDescr) in.readObject();
consequenceLine = in.readInt();
consequencePattern = in.readInt();
@@ -92,6 +95,7 @@
out.writeObject( parentName );
out.writeObject( documentation );
out.writeObject( consequence );
+ out.writeObject( namedConsequence );
out.writeObject( lhs );
out.writeInt( consequenceLine );
out.writeInt( consequencePattern );
@@ -200,6 +204,10 @@
public void setConsequence(final Object consequence) {
this.consequence = consequence;
}
+
+ public Map<String, Object> getNamedConsequences() {
+ return this.namedConsequence;
+ }
public void setConsequenceLocation(final int line,
final int pattern) {
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ConsequenceBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ConsequenceBuilder.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ConsequenceBuilder.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -2,6 +2,6 @@
public interface ConsequenceBuilder {
- public void build(final RuleBuildContext context);
+ public void build(final RuleBuildContext context, String name);
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuilder.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuilder.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -92,7 +92,11 @@
if ( !(ruleDescr instanceof QueryDescr) ) {
// do not build the consequence if we have a query
- context.getDialect().getConsequenceBuilder().build( context );
+ context.getDialect().getConsequenceBuilder().build( context, "default" );
+
+ for ( String name : ruleDescr.getNamedConsequences().keySet() ) {
+ context.getDialect().getConsequenceBuilder().build( context, name );
+ }
}
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -53,12 +53,12 @@
/* (non-Javadoc)
* @see org.drools.semantics.java.builder.ConsequenceBuilder#buildConsequence(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.lang.descr.RuleDescr)
*/
- public void build(final RuleBuildContext context) {
+ public void build(final RuleBuildContext context, String consequenceName) {
// pushing consequence LHS into the stack for variable resolution
context.getBuildStack().push( context.getRule().getLhs() );
- final String className = "consequence";
+ final String className = consequenceName + "Consequence";
final RuleDescr ruleDescr = context.getRuleDescr();
@@ -75,7 +75,8 @@
String fixedConsequence = this.fixBlockDescr( context,
(JavaAnalysisResult) analysis,
- (String) ruleDescr.getConsequence() );
+ ( "default".equals( consequenceName ) ) ? (String) ruleDescr.getConsequence() : (String) ruleDescr.getNamedConsequences().get( consequenceName )
+ );
if ( fixedConsequence == null ) {
// not possible to rewrite the modify blocks
@@ -98,6 +99,8 @@
declarations,
null,
(String[]) usedIdentifiers[1].toArray( new String[usedIdentifiers[1].size()] ) );
+
+ map.put( "consequenceName", consequenceName );
// Must use the rule declarations, so we use the same order as used in the generated invoker
final List list = Arrays.asList( context.getRule().getDeclarations() );
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilder.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -7,6 +7,7 @@
import org.drools.base.mvel.MVELConsequence;
import org.drools.compiler.DescrBuildError;
import org.drools.compiler.Dialect;
+import org.drools.lang.descr.RuleDescr;
import org.drools.rule.Declaration;
import org.drools.rule.MVELDialectRuntimeData;
import org.drools.rule.builder.ConsequenceBuilder;
@@ -72,14 +73,19 @@
}
- public void build(final RuleBuildContext context) {
+ public void build(final RuleBuildContext context, String consequenceName) {
+
// pushing consequence LHS into the stack for variable resolution
context.getBuildStack().push( context.getRule().getLhs() );
try {
MVELDialect dialect = (MVELDialect) context.getDialect( context.getDialect().getId() );
+
+ final RuleDescr ruleDescr = context.getRuleDescr();
+
+ String text = ( "default".equals( consequenceName ) ) ? (String) ruleDescr.getConsequence() : (String) ruleDescr.getNamedConsequences().get( consequenceName );
- String text = processMacros( (String) context.getRuleDescr().getConsequence() );
+ text = processMacros( text );
Dialect.AnalysisResult analysis = dialect.analyzeBlock( context,
context.getRuleDescr(),
@@ -98,8 +104,13 @@
MVELConsequence expr = new MVELConsequence( unit,
dialect.getId() );
- context.getRule().setConsequence( expr );
+ if ( "default".equals( consequenceName ) ) {
+ context.getRule().setConsequence( expr );
+ } else {
+ context.getRule().getNamedConsequences().put(consequenceName, expr);
+ }
+
MVELDialectRuntimeData data = (MVELDialectRuntimeData) context.getPkg().getDialectRuntimeRegistry().getDialectData( context.getDialect().getId() );
data.addCompileable( context.getRule(),
expr );
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/testframework/TestingEventListener.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -191,5 +191,9 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.mvel 2010-03-07 03:23:44 UTC (rev 31977)
@@ -325,6 +325,12 @@
{
private static final long serialVersionUID = 400L;
+ private final String consequenceName = "@{consequenceName}";
+
+ public String getName() {
+ return this.consequenceName;
+ }
+
public void evaluate(org.drools.spi.KnowledgeHelper knowledgeHelper,
org.drools.WorkingMemory workingMemory) throws Exception {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderConfigurationTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -476,7 +476,7 @@
implements
ConsequenceBuilder {
- public void build(RuleBuildContext context) {
+ public void build(RuleBuildContext context, String name) {
context.getRuleDescr().setConsequence( "consequence was built" );
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -1559,10 +1559,16 @@
public void testLiteral() throws Exception {
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "literal_rule_test.drl" ) ) );
+
+ if ( builder.hasErrors() ) {
+ fail( builder.getErrors().toString() );
+ }
+
final Package pkg = builder.getPackage();
RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
+
ruleBase = SerializationHelper.serializeObject( ruleBase );
StatefulSession session = ruleBase.newStatefulSession();
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -1,7 +1,9 @@
package org.drools.rule.builder.dialect.java;
+import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+import java.util.Map.Entry;
import junit.framework.TestCase;
@@ -18,6 +20,8 @@
import org.drools.rule.Pattern;
import org.drools.rule.Rule;
import org.drools.rule.builder.RuleBuildContext;
+import org.drools.spi.CompiledInvoker;
+import org.drools.spi.Consequence;
public class JavaConsequenceBuilderTest extends TestCase {
@@ -33,7 +37,7 @@
super.tearDown();
}
- private void setupTest(String consequence) {
+ private void setupTest(String consequence, Map<String, Object> namedConsequences) {
builder = new JavaConsequenceBuilder();
Package pkg = new Package( "org.drools" );
@@ -45,6 +49,10 @@
ruleDescr = new RuleDescr( "test consequence builder" );
ruleDescr.setConsequence( consequence );
+
+ for ( Entry<String, Object> entry : namedConsequences.entrySet() ) {
+ ruleDescr.getNamedConsequences().put( entry.getKey(), entry.getValue() );
+ }
Rule rule = new Rule( ruleDescr.getName() );
rule.addPattern( new Pattern( 0,
@@ -59,11 +67,21 @@
pkg,
reg.getDialect( pkgRegistry.getDialect() ) );
context.getBuildStack().push( rule.getLhs() );
+
+ context.getDialect().getConsequenceBuilder().build( context, "default" );
+ for ( String name : namedConsequences.keySet() ) {
+ context.getDialect().getConsequenceBuilder().build( context, name );
+ }
+
+ context.getDialect().addRule( context );
+ pkgRegistry.getPackage().addRule( context.getRule() );
+ pkgBuilder.compileAll();
+ pkgBuilder.reloadAll();
}
public void testFixExitPointsReferences() {
String consequence = " System.out.println(\"this is a test\");\n " + " exitPoints[\"foo\"].insert( new Cheese() );\n " + " System.out.println(\"we are done with exitPoints\");\n ";
- setupTest( consequence );
+ setupTest( consequence, new HashMap<String, Object>() );
try {
JavaExprAnalyzer analyzer = new JavaExprAnalyzer();
JavaAnalysisResult analysis = (JavaAnalysisResult) analyzer.analyzeBlock( (String) ruleDescr.getConsequence(),
@@ -94,7 +112,7 @@
public void testFixEntryPointsReferences() {
String consequence = " System.out.println(\"this is a test\");\n " + " entryPoints[\"foo\"].insert( new Cheese() );\n " + " System.out.println(\"we are done with entryPoints\");\n ";
- setupTest( consequence );
+ setupTest( consequence, new HashMap<String, Object>() );
try {
JavaExprAnalyzer analyzer = new JavaExprAnalyzer();
JavaAnalysisResult analysis = (JavaAnalysisResult) analyzer.analyzeBlock( (String) ruleDescr.getConsequence(),
@@ -125,7 +143,7 @@
public void testFixModifyBlocks() {
String consequence = " System.out.println(\"this is a test\");\n " + " modify( $cheese ) { setPrice( 10 ), setAge( age ) }\n " + " System.out.println(\"we are done\");\n ";
- setupTest( consequence );
+ setupTest( consequence, new HashMap<String, Object>() );
try {
JavaExprAnalyzer analyzer = new JavaExprAnalyzer();
JavaAnalysisResult analysis = (JavaAnalysisResult) analyzer.analyzeBlock( (String) ruleDescr.getConsequence(),
@@ -168,7 +186,7 @@
" // just in case, one more call: \n" +
" insert( $abc );\n"
;
- setupTest( consequence );
+ setupTest( consequence, new HashMap<String, Object>() );
try {
JavaExprAnalyzer analyzer = new JavaExprAnalyzer();
JavaAnalysisResult analysis = (JavaAnalysisResult) analyzer.analyzeBlock( (String) ruleDescr.getConsequence(),
@@ -204,6 +222,60 @@
}
}
+
+ public void testDefaultConsequenceCompilation() {
+ String consequence = " System.out.println(\"this is a test\");\n ";
+ setupTest( consequence, new HashMap<String, Object>() );
+ assertNotNull( context.getRule().getConsequence() );
+ assertTrue( context.getRule().getNamedConsequences().isEmpty() );
+ assertTrue( context.getRule().getConsequence() instanceof CompiledInvoker );
+ assertTrue( context.getRule().getConsequence() instanceof Consequence );
+ }
+
+ public void testDefaultConsequenceWithSingleNamedConsequenceCompilation() {
+ String defaultCon = " System.out.println(\"this is a test\");\n ";
+
+ Map<String, Object> namedConsequences = new HashMap<String, Object>();
+ String name1 = " System.out.println(\"this is a test name1\");\n ";
+ namedConsequences.put( "name1", name1 );
+
+ setupTest( defaultCon, namedConsequences);
+ assertEquals( 1, context.getRule().getNamedConsequences().size() );
+
+ assertTrue( context.getRule().getConsequence() instanceof CompiledInvoker );
+ assertTrue( context.getRule().getConsequence() instanceof Consequence );
+
+ assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof CompiledInvoker );
+ assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof Consequence );
+
+ assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name1" ) );
+ }
+
+ public void testDefaultConsequenceWithMultipleNamedConsequenceCompilation() {
+ String defaultCon = " System.out.println(\"this is a test\");\n ";
+
+ Map<String, Object> namedConsequences = new HashMap<String, Object>();
+ String name1 = " System.out.println(\"this is a test name1\");\n ";
+ namedConsequences.put( "name1", name1 );
+ String name2 = " System.out.println(\"this is a test name2\");\n ";
+ namedConsequences.put( "name2", name2 );
+
+ setupTest( defaultCon, namedConsequences);
+ assertEquals( 2, context.getRule().getNamedConsequences().size() );
+
+ assertTrue( context.getRule().getConsequence() instanceof CompiledInvoker );
+ assertTrue( context.getRule().getConsequence() instanceof Consequence );
+
+ assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof CompiledInvoker );
+ assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof Consequence );
+
+ assertTrue( context.getRule().getNamedConsequences().get( "name2" ) instanceof CompiledInvoker );
+ assertTrue( context.getRule().getNamedConsequences().get( "name2" ) instanceof Consequence );
+
+ assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name1" ) );
+ assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name2" ) );
+ assertNotSame( context.getRule().getNamedConsequences().get( "name1"), context.getRule().getNamedConsequences().get( "name2" ) );
+ }
private void assertEqualsIgnoreSpaces(String expected,
String fixed) {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -5,6 +5,7 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
+import java.util.Map.Entry;
import junit.framework.Assert;
import junit.framework.TestCase;
@@ -27,17 +28,22 @@
import org.drools.compiler.PackageBuilder;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.compiler.PackageRegistry;
+import org.drools.lang.descr.AttributeDescr;
import org.drools.lang.descr.PackageDescr;
import org.drools.lang.descr.RuleDescr;
import org.drools.reteoo.LeftTuple;
import org.drools.reteoo.MockLeftTupleSink;
import org.drools.rule.Declaration;
import org.drools.rule.GroupElement;
+import org.drools.rule.ImportDeclaration;
import org.drools.rule.Package;
import org.drools.rule.Pattern;
import org.drools.rule.Rule;
import org.drools.rule.builder.RuleBuildContext;
import org.drools.rule.builder.RuleBuilder;
+import org.drools.rule.builder.dialect.java.JavaConsequenceBuilder;
+import org.drools.spi.CompiledInvoker;
+import org.drools.spi.Consequence;
import org.drools.spi.ObjectType;
import org.drools.spi.PatternExtractor;
import org.mvel2.ParserContext;
@@ -88,7 +94,7 @@
context.setDeclarationResolver( declarationResolver );
final MVELConsequenceBuilder builder = new MVELConsequenceBuilder();
- builder.build( context );
+ builder.build( context, "default" );
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( pkg );
@@ -164,7 +170,7 @@
context.setDeclarationResolver( declarationResolver );
final MVELConsequenceBuilder builder = new MVELConsequenceBuilder();
- builder.build( context );
+ builder.build( context, "default" );
final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
final WorkingMemory wm = ruleBase.newStatefulSession();
@@ -314,4 +320,99 @@
}
+ private RuleBuildContext context;
+ private RuleDescr ruleDescr;
+ private MVELConsequenceBuilder builder;
+
+ private void setupTest(String consequence, Map<String, Object> namedConsequences) {
+ builder = new MVELConsequenceBuilder();
+
+ Package pkg = new Package( "org.drools" );
+ pkg.addImport( new ImportDeclaration( "org.drools.Cheese" ) );
+
+ PackageBuilderConfiguration conf = new PackageBuilderConfiguration();
+ PackageBuilder pkgBuilder = new PackageBuilder( pkg,
+ conf );
+
+ ruleDescr = new RuleDescr( "test consequence builder" );
+ ruleDescr.setConsequence( consequence );
+ ruleDescr.addAttribute( new AttributeDescr("dialect", "mvel") );
+
+ for ( Entry<String, Object> entry : namedConsequences.entrySet() ) {
+ ruleDescr.getNamedConsequences().put( entry.getKey(), entry.getValue() );
+ }
+
+ Rule rule = new Rule( ruleDescr.getName() );
+ rule.addPattern( new Pattern( 0,
+ new ClassObjectType( Cheese.class ),
+ "$cheese" ) );
+
+ PackageRegistry pkgRegistry = pkgBuilder.getPackageRegistry( pkg.getName() );
+ DialectCompiletimeRegistry reg = pkgBuilder.getPackageRegistry( pkg.getName() ).getDialectCompiletimeRegistry();
+ context = new RuleBuildContext( pkgBuilder,
+ ruleDescr,
+ reg,
+ pkg,
+ reg.getDialect( pkgRegistry.getDialect() ) );
+ context.getBuildStack().push( rule.getLhs() );
+
+ context.getDialect().getConsequenceBuilder().build( context, "default" );
+ for ( String name : namedConsequences.keySet() ) {
+ context.getDialect().getConsequenceBuilder().build( context, name );
+ }
+
+ context.getDialect().addRule( context );
+ pkgRegistry.getPackage().addRule( context.getRule() );
+ pkgBuilder.compileAll();
+ pkgBuilder.reloadAll();
+ }
+
+
+ public void testDefaultConsequenceCompilation() {
+ String consequence = " System.out.println(\"this is a test\");\n ";
+ setupTest( consequence, new HashMap<String, Object>() );
+ assertNotNull( context.getRule().getConsequence() );
+ assertTrue( context.getRule().getNamedConsequences().isEmpty() );
+ assertTrue( context.getRule().getConsequence() instanceof MVELConsequence );
+ }
+
+ public void testDefaultConsequenceWithSingleNamedConsequenceCompilation() {
+ String defaultCon = " System.out.println(\"this is a test\");\n ";
+
+ Map<String, Object> namedConsequences = new HashMap<String, Object>();
+ String name1 = " System.out.println(\"this is a test name1\");\n ";
+ namedConsequences.put( "name1", name1 );
+
+ setupTest( defaultCon, namedConsequences);
+ assertEquals( 1, context.getRule().getNamedConsequences().size() );
+
+ assertTrue( context.getRule().getConsequence() instanceof MVELConsequence );
+
+ assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof MVELConsequence );
+
+ assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name1" ) );
+ }
+
+ public void testDefaultConsequenceWithMultipleNamedConsequenceCompilation() {
+ String defaultCon = " System.out.println(\"this is a test\");\n ";
+
+ Map<String, Object> namedConsequences = new HashMap<String, Object>();
+ String name1 = " System.out.println(\"this is a test name1\");\n ";
+ namedConsequences.put( "name1", name1 );
+ String name2 = " System.out.println(\"this is a test name2\");\n ";
+ namedConsequences.put( "name2", name2 );
+
+ setupTest( defaultCon, namedConsequences);
+ assertEquals( 2, context.getRule().getNamedConsequences().size() );
+
+ assertTrue( context.getRule().getConsequence() instanceof MVELConsequence );
+
+ assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof MVELConsequence );
+
+ assertTrue( context.getRule().getNamedConsequences().get( "name2" ) instanceof MVELConsequence );
+
+ assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name1" ) );
+ assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name2" ) );
+ assertNotSame( context.getRule().getNamedConsequences().get( "name1"), context.getRule().getNamedConsequences().get( "name2" ) );
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/BinaryResourceDiffProducerImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/BinaryResourceDiffProducerImpl.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/agent/impl/BinaryResourceDiffProducerImpl.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -278,6 +278,9 @@
throw new UnsupportedOperationException("You should never call this method!!");
}
+ public String getName() {
+ return "default";
+ }
}
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELConsequence.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELConsequence.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/mvel/MVELConsequence.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -94,5 +94,9 @@
public Serializable getCompExpr() {
return expr;
}
+
+ public String getName() {
+ return "default";
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -95,6 +95,8 @@
/** Consequence. */
private Consequence consequence;
+ private Map<String, Consequence> namedConsequence;
+
/** Timer semantics that controls the firing of a rule */
private Timer timer;
@@ -143,8 +145,10 @@
if ( this.consequence instanceof CompiledInvoker ) {
out.writeObject( null );
+ out.writeObject( null );
} else {
- out.writeObject(this.consequence);
+ out.writeObject(this.consequence);
+ out.writeObject( this.namedConsequence );
}
out.writeObject(timer);
out.writeLong(loadOrder);
@@ -176,6 +180,7 @@
metaAttributes = (Map<String,String>)in.readObject();
consequence = (Consequence)in.readObject();
+ namedConsequence = (Map<String, Consequence>) in.readObject();
timer = (Timer)in.readObject();
loadOrder = in.readLong();
noLoop = in.readBoolean();
@@ -557,7 +562,13 @@
} else if( object instanceof Enabled ) {
setEnabled(( Enabled) object);
} else {
- setConsequence( (Consequence) object );
+ Consequence c = (Consequence) object;
+ if ( "default".equals( c.getName() ) ) {
+ setConsequence( c );
+ } else {
+ getNamedConsequences().put( c.getName(), c );
+ }
+
}
}
@@ -582,6 +593,14 @@
public Consequence getConsequence() {
return this.consequence;
}
+
+ public Map<String, Consequence> getNamedConsequences() {
+ if ( this.namedConsequence == null ) {
+ this.namedConsequence = new HashMap<String, Consequence>();
+ }
+
+ return this.namedConsequence;
+ }
public long getLoadOrder() {
return this.loadOrder;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Consequence.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Consequence.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Consequence.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -28,6 +28,9 @@
public interface Consequence
extends
Invoker {
+
+ String getName();
+
/**
* Execute the consequence for the supplied matching <code>Tuple</code>.
*
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/RuleBaseEventSupportTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/RuleBaseEventSupportTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/RuleBaseEventSupportTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -107,6 +107,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
final Rule rule2 = new Rule( "test2" );
@@ -137,6 +141,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
pkg = new Package( "org.drools.test1" );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/knowledgebase/KnowledgeBaseEventSupportTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/knowledgebase/KnowledgeBaseEventSupportTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/knowledgebase/KnowledgeBaseEventSupportTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -111,6 +111,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
final Rule rule2 = new Rule( "test2" );
@@ -141,6 +145,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
pkg = new KnowledgePackageImp( new Package( "org.drools.test1" ) );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -110,6 +110,11 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
} );
pkg.addRule( rule );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -272,6 +272,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule.setConsequence( consequence );
@@ -564,6 +568,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule.setConsequence( consequence );
@@ -717,6 +725,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule.setConsequence( consequence );
@@ -818,6 +830,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule.setConsequence( consequence );
@@ -919,6 +935,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule.setConsequence( consequence );
@@ -992,6 +1012,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule.setConsequence( consequence );
@@ -1054,6 +1078,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule.setConsequence( consequence );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -125,6 +125,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
// Add consequence. Notice here the context here for the add to ageyunda
@@ -148,6 +152,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
assertEquals( 0,
@@ -226,6 +234,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
final LeftTuple tuple = new LeftTuple( new DefaultFactHandle( 1,
@@ -320,6 +332,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final LeftTuple tuple = new LeftTuple( new DefaultFactHandle( 1,
@@ -568,6 +584,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final LeftTuple tuple = new LeftTuple( new DefaultFactHandle( 1,
@@ -716,6 +736,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final LeftTuple tuple = new LeftTuple( new DefaultFactHandle( 1,
@@ -923,6 +947,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
// create a rule for each rule flow groups
@@ -1091,6 +1119,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final Rule rule1 = new Rule( "test-rule1" );
@@ -1134,6 +1166,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final Rule rule0 = new Rule( "test-rule0" );
@@ -1213,6 +1249,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final Rule rule1 = new Rule( "test-rule1" );
@@ -1257,6 +1297,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final Rule rule0 = new Rule( "test-rule0" );
@@ -1337,6 +1381,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final Rule rule0 = new Rule( "test-rule0" );
@@ -1440,6 +1488,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final Rule rule0 = new Rule( "test-rule0" );
@@ -1565,6 +1617,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final Rule rule0 = new Rule( "test-rule0" );
@@ -1678,6 +1734,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
final LeftTuple tuple = new LeftTuple( new DefaultFactHandle( 1,
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -84,6 +84,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
this.pkg = new Package( "org.drools" );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/LogicalAssertionTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -98,6 +98,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule1.setConsequence( consequence );
@@ -218,6 +222,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule1.setConsequence( consequence );
@@ -320,6 +328,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule1.setConsequence( consequence );
@@ -480,6 +492,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule1.setConsequence( consequence );
@@ -580,6 +596,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
// create the first activation which will justify the fact "logical"
@@ -697,6 +717,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
// Create first justifier
@@ -848,6 +872,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule1.setConsequence( consequence );
@@ -961,6 +989,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule1.setConsequence( consequence );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -169,6 +169,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
}
}
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooBuilderTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooBuilderTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -35,6 +35,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
Rule rule0 = new Rule( "rule0" );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooRuleBaseMultiThreadedTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooRuleBaseMultiThreadedTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooRuleBaseMultiThreadedTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -41,6 +41,10 @@
public void evaluate(KnowledgeHelper knowledgeHelper, WorkingMemory workingMemory) throws Exception {
}
+
+ public String getName() {
+ return "default";
+ }
});
pkg.addRule(rule);
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/RuleFlowGroupTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/RuleFlowGroupTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/RuleFlowGroupTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -89,6 +89,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
// create a rule for each rule flow groups
@@ -369,6 +373,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
// create a rule for each rule flow groups
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/SchedulerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/SchedulerTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/SchedulerTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -82,6 +82,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
rule.setTimer( new DurationTimer(100) );
@@ -157,6 +161,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
final PropagationContext context1 = new PropagationContextImpl( 0,
@@ -237,6 +245,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
} );
final PropagationContext context1 = new PropagationContextImpl( 0,
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/builder/ReteooRuleBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/builder/ReteooRuleBuilderTest.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/builder/ReteooRuleBuilderTest.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -93,6 +93,10 @@
public void writeExternal(ObjectOutput out) throws IOException {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule.setConsequence( consequence );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/test/dsl/RuleTerminalNodeStep.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/test/dsl/RuleTerminalNodeStep.java 2010-03-07 02:30:06 UTC (rev 31976)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/test/dsl/RuleTerminalNodeStep.java 2010-03-07 03:23:44 UTC (rev 31977)
@@ -63,6 +63,10 @@
WorkingMemory workingMemory) throws Exception {
}
+
+ public String getName() {
+ return "default";
+ }
};
rule.setConsequence( consequence );
More information about the jboss-svn-commits
mailing list