[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