[jboss-svn-commits] JBL Code SVN: r17554 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 4 11:46:07 EST 2008


Author: mark.proctor at jboss.com
Date: 2008-01-04 11:46:06 -0500 (Fri, 04 Jan 2008)
New Revision: 17554

Added:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/process/builder/processNodeBuilder.conf
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/ProcessNodeBuilderTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/StoreNodeBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/TestXmlDsl.java
Log:
JBRULES-1394 RuleFlow Nodes should be pluggable
-making unfinished test compile, as build is currently broken.

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/process/builder/processNodeBuilder.conf
===================================================================

Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/ProcessNodeBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/ProcessNodeBuilderTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/ProcessNodeBuilderTest.java	2008-01-04 16:46:06 UTC (rev 17554)
@@ -0,0 +1,9 @@
+package org.drools.process.builder;
+
+public class ProcessNodeBuilderTest {
+    public void test1() {
+        
+    }
+    
+    
+}

Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/StoreNodeBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/StoreNodeBuilder.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/StoreNodeBuilder.java	2008-01-04 16:46:06 UTC (rev 17554)
@@ -0,0 +1,30 @@
+package org.drools.process.builder;
+
+import org.drools.compiler.Dialect;
+import org.drools.lang.descr.ActionDescr;
+import org.drools.lang.descr.ProcessDescr;
+import org.drools.rule.builder.ProcessBuildContext;
+import org.drools.ruleflow.common.core.Process;
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.impl.ActionNodeImpl;
+import org.drools.ruleflow.core.impl.DroolsConsequenceAction;
+
+public class StoreNodeBuilder
+    implements
+    ProcessNodeBuilder {
+
+    public void build(Process process,
+                           ProcessDescr processDescr,
+                           ProcessBuildContext context,
+                           Node node) {
+        ActionNodeImpl actionNode = ( ActionNodeImpl ) node;
+        DroolsConsequenceAction action = (DroolsConsequenceAction) actionNode.getAction();
+        ActionDescr actionDescr = new ActionDescr();
+        actionDescr.setText( action.getConsequence() );   
+        
+        Dialect dialect = context.getDialectRegistry().getDialect( action.getDialect() );            
+        
+        dialect.getActionBuilder().build( context, actionNode, actionDescr );
+    }
+
+}

Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/TestXmlDsl.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/TestXmlDsl.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/process/builder/TestXmlDsl.java	2008-01-04 16:46:06 UTC (rev 17554)
@@ -0,0 +1,41 @@
+package org.drools.process.builder;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.StatefulSession;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
+
+import junit.framework.TestCase;
+
+
+public class TestXmlDsl extends TestCase {
+        public void testSimpleDsl() throws Exception {          
+            Properties properties = new Properties();
+            properties.put( "semanticModules", "mydsl.conf" );
+            
+            PackageBuilderConfiguration conf = new PackageBuilderConfiguration( properties );
+            
+            PackageBuilder builder = new PackageBuilder( conf );
+            builder.addProcessFromXml( new InputStreamReader( TestXmlDsl.class.getResourceAsStream( "XmlDslTest.xml" ) ) );
+            
+            System.out.println( builder.getErrors() );
+            
+            RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+            ruleBase.addPackage( builder.getPackage() );
+            
+            StatefulSession session = ruleBase.newStatefulSession();
+            List list = new ArrayList();
+            session.setGlobal( "list", list );
+            
+            session.startProcess( "process name" );
+            
+            assertEquals( 2, list.size() );
+            assertEquals( "action node was here", list.get(0) );
+            assertEquals( "dsl was here", list.get(1) );            
+        }   
+}




More information about the jboss-svn-commits mailing list