[jboss-svn-commits] JBL Code SVN: r21542 - in labs/jbossrules/trunk/drools-process/drools-bam: data and 6 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Aug 14 08:57:53 EDT 2008


Author: KrisVerlaenen
Date: 2008-08-14 08:57:52 -0400 (Thu, 14 Aug 2008)
New Revision: 21542

Added:
   labs/jbossrules/trunk/drools-process/drools-bam/.classpath
   labs/jbossrules/trunk/drools-process/drools-bam/.project
   labs/jbossrules/trunk/drools-process/drools-bam/data/
   labs/jbossrules/trunk/drools-process/drools-bam/data/startup-db.bat
   labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/
   labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/
   labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/
   labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/
   labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceDbLogTest.java
   labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceExecutor.java
   labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceExecutorFrame.java
   labs/jbossrules/trunk/drools-process/drools-bam/src/test/resources/ruleflow.rf
   labs/jbossrules/trunk/drools-process/drools-bam/src/test/resources/ruleflow2.rf
Log:
- added db event persister

Added: labs/jbossrules/trunk/drools-process/drools-bam/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/.classpath	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bam/.classpath	2008-08-14 12:57:52 UTC (rev 21542)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" path="src/main/resources"/>
+	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry kind="src" path="src/test/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/drools-compiler"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/drools-core"/>
+	<classpathentry kind="lib" path="lib/antlr-2.7.6.jar"/>
+	<classpathentry kind="lib" path="lib/asm.jar"/>
+	<classpathentry kind="lib" path="lib/asm-attrs.jar"/>
+	<classpathentry kind="lib" path="lib/cglib-2.1.3.jar"/>
+	<classpathentry kind="lib" path="lib/commons-collections-2.1.1.jar"/>
+	<classpathentry kind="lib" path="lib/commons-logging-1.0.4.jar"/>
+	<classpathentry kind="lib" path="lib/dom4j-1.6.1.jar"/>
+	<classpathentry kind="lib" path="lib/hibernate3.jar"/>
+	<classpathentry kind="lib" path="lib/jta.jar"/>
+	<classpathentry kind="lib" path="lib/log4j-1.2.11.jar"/>
+	<classpathentry kind="lib" path="lib/hsqldb.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: labs/jbossrules/trunk/drools-process/drools-bam/.project
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/.project	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bam/.project	2008-08-14 12:57:52 UTC (rev 21542)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>drools-bam</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: labs/jbossrules/trunk/drools-process/drools-bam/data/startup-db.bat
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/data/startup-db.bat	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bam/data/startup-db.bat	2008-08-14 12:57:52 UTC (rev 21542)
@@ -0,0 +1 @@
+java -classpath ../lib/hsqldb.jar org.hsqldb.Server
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceDbLogTest.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceDbLogTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceDbLogTest.java	2008-08-14 12:57:52 UTC (rev 21542)
@@ -0,0 +1,17 @@
+package org.drools.process.audit;
+
+
+public class ProcessInstanceDbLogTest {
+    
+    public static final void main(String[] args) {
+        try {
+            System.out.println("Checking process instances for process 'com.sample.ruleflow'");
+            for (Object result: ProcessInstanceDbLog.findProcessInstances("com.sample.ruleflow")) {
+                System.out.println(result);
+            }
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+    }
+
+}

Added: labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceExecutor.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceExecutor.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceExecutor.java	2008-08-14 12:57:52 UTC (rev 21542)
@@ -0,0 +1,51 @@
+package org.drools.process.audit;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.StatefulSession;
+import org.drools.compiler.PackageBuilder;
+import org.drools.process.instance.impl.demo.UIWorkItemHandler;
+import org.drools.rule.Package;
+
+public class ProcessInstanceExecutor {
+    
+    public static final void main(String[] args) {
+        try {
+            //load the process
+            RuleBase ruleBase = createKnowledgeBase();
+            // create a new session
+            StatefulSession session = ruleBase.newStatefulSession();
+            new WorkingMemoryDbLogger(session);
+            UIWorkItemHandler uiHandler = new UIWorkItemHandler();
+            session.getWorkItemManager().registerWorkItemHandler("Human Task", uiHandler);
+            uiHandler.setVisible(true);
+            new ProcessInstanceExecutorFrame(session).setVisible(true);
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+    }
+
+    /**
+     * Creates the knowledge base by loading the process definition.
+     */
+    private static RuleBase createKnowledgeBase() throws Exception {
+        // create a builder
+        PackageBuilder builder = new PackageBuilder();
+        // load the process
+        Reader source = new InputStreamReader(
+            ProcessInstanceExecutor.class.getResourceAsStream("/ruleflow.rf"));
+        builder.addProcessFromXml(source);
+        source = new InputStreamReader(
+            ProcessInstanceExecutor.class.getResourceAsStream("/ruleflow2.rf"));
+        builder.addProcessFromXml(source);
+       // create the knowledge base 
+        Package pkg = builder.getPackage();
+        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+        ruleBase.addPackage(pkg);
+        return ruleBase;
+    }
+    
+}

Added: labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceExecutorFrame.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceExecutorFrame.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bam/src/test/java/org/drools/process/audit/ProcessInstanceExecutorFrame.java	2008-08-14 12:57:52 UTC (rev 21542)
@@ -0,0 +1,66 @@
+package org.drools.process.audit;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.WindowConstants;
+
+import org.drools.WorkingMemory;
+
+public class ProcessInstanceExecutorFrame extends JFrame {
+
+    private static final long serialVersionUID = 400L;
+    
+    private WorkingMemory workingMemory;
+    private JTextField processIdTextField;
+    private JButton startButton;
+
+    public ProcessInstanceExecutorFrame(WorkingMemory workingMemory) {
+        this.workingMemory = workingMemory;
+        setSize(new Dimension(200, 150));
+        setTitle("Start Process");
+        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+        initializeComponent();
+    }
+
+    private void initializeComponent() {
+        JPanel panel = new JPanel();
+        panel.setLayout(new GridBagLayout());
+        getRootPane().setLayout(new BorderLayout());
+        getRootPane().add(panel, BorderLayout.CENTER);
+
+        processIdTextField = new JTextField("com.sample.ruleflow");
+        GridBagConstraints c = new GridBagConstraints();
+        c.weightx = 1;
+        c.fill = GridBagConstraints.HORIZONTAL;
+        c.insets = new Insets(5, 5, 5, 5);
+        panel.add(processIdTextField, c);
+
+        startButton = new JButton("Start");
+        startButton.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent event) {
+                start();
+            }
+        });
+        c = new GridBagConstraints();
+        c.gridy = 1;
+        c.anchor = GridBagConstraints.EAST;
+        c.insets = new Insets(5, 5, 5, 5);
+        panel.add(startButton, c);
+    }
+    
+    private void start() {
+        workingMemory.startProcess(processIdTextField.getText());
+        workingMemory.fireAllRules();
+    }
+    
+}

Added: labs/jbossrules/trunk/drools-process/drools-bam/src/test/resources/ruleflow.rf
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/src/test/resources/ruleflow.rf	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bam/src/test/resources/ruleflow.rf	2008-08-14 12:57:52 UTC (rev 21542)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<process xmlns="http://drools.org/drools-4.0/process"
+         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+         xs:schemaLocation="http://drools.org/drools-4.0/process drools-processes-4.0.xsd"
+         type="RuleFlow" name="ruleflow" id="com.sample.ruleflow" package-name="org.drools.process.workflow" >
+
+  <header>
+  </header>
+
+  <nodes>
+    <start id="1" name="Start" />
+    <workItem id="2" name="Task" >
+      <work name="Human Task" >
+        <parameter name="ActorId" type="org.drools.process.core.datatype.impl.type.StringDataType" />
+        <parameter name="TaskName" type="org.drools.process.core.datatype.impl.type.StringDataType" >Task</parameter>
+        <parameter name="Comment" type="org.drools.process.core.datatype.impl.type.StringDataType" />
+        <parameter name="Priority" type="org.drools.process.core.datatype.impl.type.StringDataType" />
+      </work>
+    </workItem>
+    <end id="3" name="End" />
+  </nodes>
+
+  <connections>
+    <connection from="1" to="2" />
+    <connection from="2" to="3" />
+  </connections>
+
+</process>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-process/drools-bam/src/test/resources/ruleflow2.rf
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bam/src/test/resources/ruleflow2.rf	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bam/src/test/resources/ruleflow2.rf	2008-08-14 12:57:52 UTC (rev 21542)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<process xmlns="http://drools.org/drools-4.0/process"
+         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+         xs:schemaLocation="http://drools.org/drools-4.0/process drools-processes-4.0.xsd"
+         type="RuleFlow" name="ruleflow2" id="com.sample.ruleflow2" package-name="org.drools.process.workflow" >
+
+  <header>
+  </header>
+
+  <nodes>
+    <start id="1" name="Start" />
+    <workItem id="2" name="Task" >
+      <work name="Human Task" >
+        <parameter name="ActorId" type="org.drools.process.core.datatype.impl.type.StringDataType" />
+        <parameter name="TaskName" type="org.drools.process.core.datatype.impl.type.StringDataType" >Task</parameter>
+        <parameter name="Comment" type="org.drools.process.core.datatype.impl.type.StringDataType" />
+        <parameter name="Priority" type="org.drools.process.core.datatype.impl.type.StringDataType" />
+      </work>
+    </workItem>
+    <end id="3" name="End" />
+  </nodes>
+
+  <connections>
+    <connection from="1" to="2" />
+    <connection from="2" to="3" />
+  </connections>
+
+</process>
\ No newline at end of file




More information about the jboss-svn-commits mailing list