[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