[jboss-svn-commits] JBL Code SVN: r32516 - in labs/jbossrules/trunk: install and 12 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Apr 12 08:47:51 EDT 2010


Author: KrisVerlaenen
Date: 2010-04-12 08:47:50 -0400 (Mon, 12 Apr 2010)
New Revision: 32516

Added:
   labs/jbossrules/trunk/install/
   labs/jbossrules/trunk/install/auth/
   labs/jbossrules/trunk/install/auth/roles.properties
   labs/jbossrules/trunk/install/auth/users.properties
   labs/jbossrules/trunk/install/build.xml
   labs/jbossrules/trunk/install/conf/
   labs/jbossrules/trunk/install/conf/META-INF/
   labs/jbossrules/trunk/install/conf/META-INF/CustomWorkItemHandlers.conf
   labs/jbossrules/trunk/install/conf/META-INF/drools.session.conf
   labs/jbossrules/trunk/install/db/
   labs/jbossrules/trunk/install/db/driver/
   labs/jbossrules/trunk/install/db/hibernate.cfg.xml
   labs/jbossrules/trunk/install/db/persistence.xml
   labs/jbossrules/trunk/install/db/testDS1-ds.xml
   labs/jbossrules/trunk/install/lib/
   labs/jbossrules/trunk/install/readme.txt
   labs/jbossrules/trunk/install/sample/
   labs/jbossrules/trunk/install/sample/evaluation/
   labs/jbossrules/trunk/install/sample/evaluation/.classpath
   labs/jbossrules/trunk/install/sample/evaluation/.project
   labs/jbossrules/trunk/install/sample/evaluation/bin/
   labs/jbossrules/trunk/install/sample/evaluation/src/
   labs/jbossrules/trunk/install/sample/evaluation/src/main/
   labs/jbossrules/trunk/install/sample/evaluation/src/main/java/
   labs/jbossrules/trunk/install/sample/evaluation/src/main/java/com/
   labs/jbossrules/trunk/install/sample/evaluation/src/main/java/com/sample/
   labs/jbossrules/trunk/install/sample/evaluation/src/main/java/com/sample/ProcessTest.java
   labs/jbossrules/trunk/install/sample/evaluation/src/main/rules/
   labs/jbossrules/trunk/install/sample/evaluation/src/main/rules/Evaluation.rf
Log:
 - adding installation scripts

Added: labs/jbossrules/trunk/install/auth/roles.properties
===================================================================
--- labs/jbossrules/trunk/install/auth/roles.properties	                        (rev 0)
+++ labs/jbossrules/trunk/install/auth/roles.properties	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,4 @@
+admin=admin,manager,user
+krisv=admin,manager,user
+john=admin,manager,user
+mary=admin,manager,user
\ No newline at end of file

Added: labs/jbossrules/trunk/install/auth/users.properties
===================================================================
--- labs/jbossrules/trunk/install/auth/users.properties	                        (rev 0)
+++ labs/jbossrules/trunk/install/auth/users.properties	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,4 @@
+admin=admin
+krisv=krisv
+john=john
+mary=mary
\ No newline at end of file

Added: labs/jbossrules/trunk/install/build.xml
===================================================================
--- labs/jbossrules/trunk/install/build.xml	                        (rev 0)
+++ labs/jbossrules/trunk/install/build.xml	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="drools.install">
+
+  <property name="drools.version" value="5.1.0.SNAPSHOT" />
+  <property name="drools.home" value="../" />
+
+  <property name="jboss.home" value="/NotBackedUp/jboss-4.2.3.GA" />
+  <property name="jboss.server.configuration" value="default" />
+  <property name="jboss.server.conf.dir" value="${jboss.home}/server/${jboss.server.configuration}/conf" />
+  <property name="jboss.server.data.dir" value="${jboss.home}/server/${jboss.server.configuration}/data" />
+  <property name="jboss.server.deploy.dir" value="${jboss.home}/server/${jboss.server.configuration}/deploy" />
+  <property name="jboss.server.lib.dir" value="${jboss.home}/server/${jboss.server.configuration}/lib" />
+  <property name="jboss.server.birt.dir" value="${jboss.server.data.dir}/birt"/>
+
+  <property name="eclipse.home" value="/NotBackedUp/eclipse" />
+
+  <target name="install.guvnor.into.jboss" 
+          description="Installs Drools Guvnor into JBoss">
+    <copy file="${drools.home}/drools-guvnor/target/drools-guvnor.war"
+          tofile="${jboss.server.deploy.dir}/drools-guvnor.war"
+          overwrite="true" />
+  </target>
+
+  <target name="install.drools-gwt-console.into.jboss" 
+          description="Installs Drools gwt-console into JBoss">
+    <!-- gwt-console -->
+    <mkdir dir="${drools.home}/install/target"/>
+    <mkdir dir="${drools.home}/install/target/drools-gwt-server-war"/>
+    <unzip src="${drools.home}/drools-process/drools-gwt-server-war/target/gwt-console-server-drools-${drools.version}.war"
+           dest="${drools.home}/install/target/drools-gwt-server-war"/>
+    <copy file="${drools.home}/install/db/hibernate.cfg.xml"
+          tofile="${drools.home}/install/target/drools-gwt-server-war/WEB-INF/classes/hibernate.cfg.xml"
+          overwrite="true" />
+    <copy file="${drools.home}/install/db/persistence.xml"
+          tofile="${drools.home}/install/target/drools-gwt-server-war/WEB-INF/classes/META-INF/persistence.xml"
+          overwrite="true" />
+    <!-- Fix for conflicting javassist jar -->
+    <delete file="${drools.home}/install/target/drools-gwt-server-war/WEB-INF/lib/javassist-3.6.0.GA.jar"/>
+    <!-- Other configuration like work item handlers -->
+    <copy todir="${drools.home}/install/target/drools-gwt-server-war/WEB-INF/classes" overwrite="true">
+      <fileset dir="${drools.home}/install/conf"/>
+    </copy>
+    <zip basedir="${drools.home}/install/target/drools-gwt-server-war"
+         destfile="${drools.home}/install/target/gwt-console-server-drools-${drools.version}.war"/>
+    <copy file="${drools.home}/install/target/gwt-console-server-drools-${drools.version}.war"
+          tofile="${jboss.server.deploy.dir}/gwt-console-server-drools.war"
+          overwrite="true" />
+    <delete dir="${drools.home}/install/target"/>
+    <copy file="${drools.home}/drools-process/drools-gwt-war/target/gwt-console-drools-${drools.version}.war"
+          tofile="${jboss.server.deploy.dir}/gwt-console-drools.war"
+          overwrite="true" />
+    <!-- db configuration -->
+    <copy file="${drools.home}/install/db/testDS1-ds.xml"
+          tofile="${jboss.server.deploy.dir}/testDS1-ds.xml"
+          overwrite="true" />
+    <copy todir="${jboss.server.lib.dir}" overwrite="true">
+      <fileset dir="${drools.home}/install/db/driver"/>
+    </copy>
+    <!-- authentication configuration -->
+    <copy file="${drools.home}/install/auth/users.properties"
+          tofile="${jboss.server.conf.dir}/users.properties"
+          overwrite="true" />
+    <copy file="${drools.home}/install/auth/roles.properties"
+          tofile="${jboss.server.conf.dir}/roles.properties"
+          overwrite="true" />
+    <!-- reporting -->
+    <mkdir dir="${drools.home}/install/target"/>
+    <unzip src="${drools.home}/install/lib/birt-runtime-2_3_2_2.zip"
+           dest="${drools.home}/install/target"/>
+    <mkdir dir="${jboss.server.birt.dir}"/>
+    <mkdir dir="${jboss.server.birt.dir}/ReportEngine"/>
+    <copy todir="${jboss.server.birt.dir}/ReportEngine" overwrite="true">
+      <fileset dir="${drools.home}/install/target/birt-runtime-2_3_2/ReportEngine"/>
+    </copy>
+    <delete dir="${drools.home}/install/target"/>
+    <copy file="${drools.home}/drools-process/drools-bam/src/test/resources/overall_activity.rptdesign"
+          tofile="${jboss.server.birt.dir}/overall_activity.rptdesign"
+          overwrite="true" />
+    <copy file="${drools.home}/drools-process/drools-bam/src/test/resources/process_summary.rptdesign"
+          tofile="${jboss.server.birt.dir}/process_summary.rptdesign"
+          overwrite="true" />
+    <copy todir="${jboss.server.birt.dir}/ReportEngine/plugins/org.eclipse.birt.report.data.oda.jdbc_2.3.2.r232_v20090212/drivers" overwrite="true">
+      <fileset dir="${drools.home}/install/db/driver"/>
+    </copy>
+  </target>
+
+  <target name="install.drools-eclipse.into.eclipse" 
+          description="Installs Drools Eclipse plugins into Eclipse">
+    <!-- install plugins -->
+    <unzip src="${drools.home}/drools-eclipse/drools-eclipse-build/target/org.drools.eclipse-${drools.version}.zip" dest="${eclipse.home}"/>
+    <unzip src="${drools.home}/drools-eclipse/drools-eclipse-build/target/org.drools.eclipse.task-${drools.version}.zip" dest="${eclipse.home}"/>
+    <unzip src="${drools.home}/drools-eclipse/drools-eclipse-build/target/org.guvnor.tools-${drools.version}.zip" dest="${eclipse.home}"/>
+    <!-- create runtime -->
+    <mkdir dir="${drools.home}/install/runtime"/>
+    <copy todir="${drools.home}/install/runtime" overwrite="true">
+      <fileset dir="${drools.home}/drools-eclipse/org.drools.eclipse/lib">
+        <include name="*.jar" />
+      </fileset>
+    </copy>
+    <copy todir="${drools.home}/install/runtime" overwrite="true">
+      <fileset dir="${eclipse.home}/plugins">
+        <include name="org.eclipse.jdt.core_*.jar" />
+      </fileset>
+    </copy>
+  </target>
+
+</project>

Added: labs/jbossrules/trunk/install/conf/META-INF/CustomWorkItemHandlers.conf
===================================================================
--- labs/jbossrules/trunk/install/conf/META-INF/CustomWorkItemHandlers.conf	                        (rev 0)
+++ labs/jbossrules/trunk/install/conf/META-INF/CustomWorkItemHandlers.conf	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,3 @@
+[
+  "Log": new org.drools.process.instance.impl.demo.SystemOutWorkItemHandler(),
+]

Added: labs/jbossrules/trunk/install/conf/META-INF/drools.session.conf
===================================================================
--- labs/jbossrules/trunk/install/conf/META-INF/drools.session.conf	                        (rev 0)
+++ labs/jbossrules/trunk/install/conf/META-INF/drools.session.conf	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1 @@
+drools.workItemHandlers = CustomWorkItemHandlers.conf

Added: labs/jbossrules/trunk/install/db/hibernate.cfg.xml
===================================================================
--- labs/jbossrules/trunk/install/db/hibernate.cfg.xml	                        (rev 0)
+++ labs/jbossrules/trunk/install/db/hibernate.cfg.xml	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE hibernate-configuration PUBLIC
+        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+
+    <session-factory>
+
+        <!-- Database connection settings -->
+        <property name="connection.driver_class">org.h2.Driver</property>
+        <property name="connection.url">jdbc:h2:tcp://localhost/~/test</property>
+        <!--property name="connection.url">jdbc:h2:file:/NotBackedUp/data/mydb</property-->
+        <property name="connection.username">sa</property>
+        <property name="connection.password"></property>
+
+        <!-- JDBC connection pool (use the built-in) -->
+        <property name="connection.pool_size">1</property>
+
+        <!-- SQL dialect -->
+        <property name="dialect">org.hibernate.dialect.H2Dialect</property>
+
+        <!-- Enable Hibernate's automatic session context management -->
+        <property name="current_session_context_class">thread</property>
+
+        <!-- Disable the second-level cache  -->
+        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
+
+        <!-- Echo all executed SQL to stdout -->
+        <property name="show_sql">false</property>
+
+        <!-- Drop and re-create the database schema on startup? -->
+        <property name="hbm2ddl.auto">update</property>
+
+        <mapping resource="AuditLog.hbm.xml"/>
+
+    </session-factory>
+
+</hibernate-configuration>

Added: labs/jbossrules/trunk/install/db/persistence.xml
===================================================================
--- labs/jbossrules/trunk/install/db/persistence.xml	                        (rev 0)
+++ labs/jbossrules/trunk/install/db/persistence.xml	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<persistence
+    version="1.0"
+    xsi:schemaLocation=
+    	"http://java.sun.com/xml/ns/persistence
+    	 http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd
+		 http://java.sun.com/xml/ns/persistence/orm 
+		 http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
+    xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns="http://java.sun.com/xml/ns/persistence">
+
+ <!--persistence-unit name="ProcessService">
+  <jta-data-source>java:/DefaultDS</jta-data-source>
+  <properties>
+   <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+  </properties>
+ </persistence-unit-->
+
+    <persistence-unit name="org.drools.persistence.jpa" transaction-type="JTA">
+        <provider>org.hibernate.ejb.HibernatePersistence</provider>
+        <jta-data-source>java:jdbc/testDS1</jta-data-source>        
+        <class>org.drools.persistence.session.SessionInfo</class>
+        <class>org.drools.persistence.processinstance.ProcessInstanceInfo</class>
+        <class>org.drools.persistence.processinstance.variabletypes.JPAPersistedVariable</class>
+        <class>org.drools.persistence.processinstance.variabletypes.VariableInstanceInfo</class>
+        <class>org.drools.persistence.processinstance.variabletypes.SerializablePersistedVariable</class>
+        <class>org.drools.persistence.processinstance.WorkItemInfo</class>
+
+	    <properties>
+	        <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>	        
+	        <property name="hibernate.max_fetch_depth" value="3"/>
+		    <property name="hibernate.hbm2ddl.auto" value="update" />
+            <property name="hibernate.show_sql" value="false" />	
+            <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup" />
+	    </properties>        
+    </persistence-unit>
+    
+</persistence>

Added: labs/jbossrules/trunk/install/db/testDS1-ds.xml
===================================================================
--- labs/jbossrules/trunk/install/db/testDS1-ds.xml	                        (rev 0)
+++ labs/jbossrules/trunk/install/db/testDS1-ds.xml	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources>
+  <local-tx-datasource>
+    <jndi-name>jdbc/testDS1</jndi-name>
+    <connection-url>jdbc:h2:tcp://localhost/~/test</connection-url>
+    <!--connection-url>jdbc:h2:mem:mydb</connection-url-->
+    <driver-class>org.h2.jdbcx.JdbcDataSource</driver-class>
+    <user-name>sa</user-name>
+    <password></password>
+  </local-tx-datasource>
+</datasources>

Added: labs/jbossrules/trunk/install/readme.txt
===================================================================
--- labs/jbossrules/trunk/install/readme.txt	                        (rev 0)
+++ labs/jbossrules/trunk/install/readme.txt	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,55 @@
+Download latest Drools code from SVN: http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/
+
+Run Drools build: in Drools root folder run "mvn -Dmaven.test.skip -Declipse install"
+(if it is the first time you do this, this could take a while as it will be downloading eclipse as part of the installation, you can remove the -Declipse part if you're not interested in the Eclipse plugin)
+
+Download and install JBoss AS version 4.2.3.GA
+In install/build.xml, change <property name="jboss.home" value="C:/jboss-4.2.3.GA" /> to the location of your JBoss AS installation
+
+Increase the memory that can be used by the application server (especially the PermGen space). To do so, edit the run.conf or run.bat (depending on your OS, Linux/Mac or Windows respectively) in the bin dir of your JBoss AS root folder and add the following line at the end of the file:
+JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=256m"
+
+Download Eclipse 3.5.1
+In build.xml, change <property name="eclipse.home" value="C:/Progra~1/eclipse-3.5.1" /> to the location of your Eclipse installation
+
+Update datasource configuration if necessary (uses h2 in memory database by default).
+[You don't need to change anything to these files if you just want to use this default configuration]
+install/db/testDS1-ds.xml
+install/db/persistence.xml
+install/db/hibernate.cfg.xml
+
+Put database driver jar in install/db/driver directory (e.g. h2-1.1.117.jar, create the driver dir if necessary)
+
+Down BIRT report engine
+http://www.eclipse.org/downloads/download.php?file=/birt/downloads/drops/R-R1-2_3_2_2-200906011507/birt-runtime-2_3_2_2.zip
+and put it in install/lib dir (create the lib dir if necessary)
+
+in the install dir, run installation script:
+ant install.guvnor.into.jboss
+ant install.drools-gwt-console.into.jboss
+ant install.drools-eclipse.into.eclipse
+
+startup database (e.g. run org.h2.tools.Server.class inside h2-1.1.117.jar)
+
+startup JBoss AS
+
+startup task service (run org.drools.task.service.DemoTaskService as part of the drools-process\drools-process-task project)
+
+startup eclipse
+switch to Drools perspective
+add existing drools runtime in ${drools.home}\install\runtime (Window - Preferences, Drools - Installed Drools Runtimes, click Add..., name "Drools runtime", Browse to install/runtime directory in drools root and click OK, click OK again, check the created runtime, click OK)
+import existing project ${drools.home}\install\sample (File - Import..., General - Existing Projects into Workspace, select install/sample/evaluation and click OK, click Finish)
+run example
+
+Add Evaluation.rf to guvnor, package defaultPackage (right-click on evaluation.rf in src/main/rules and select Guvnor - Add..., create a new Guvnor repository connection, under repository fill in /drools-guvnor/org.drools.guvnor.Guvnor/webdav/, click Next, select defaultPackage and click Finish)
+open Guvnor http://localhost:8080/drools-guvnor/ (login using any username/password, if it asks about installing samples, click No thanks)
+build defaultPackage (under Knowledge Bases, select defaultPackage, click on Build Package)
+
+open gwt-console http://localhost:8080/gwt-console/ (login using krisv/krisv)
+start process (Processes - Process overview, Click on Evaluation process and click Start and then OK, fill in username krisv and click Complete and close window)
+complete self-evaluation (Tasks - Personal Tasks, click on Performance Evaluation task, click View, fill in evaluation form, click Complete and close window)
+logout and login as john (john/john) to complete evaluation (Tasks - Personal Tasks, click on Performance Evaluation task, click View, fill in evaluation form, click Complete and close window)
+see reports (Reporting - Report Templates, select Overall Activity Report and click Create Report)
+
+// TODO: how to add forms + graphs
+// TODO: register custom work item handlers

Added: labs/jbossrules/trunk/install/sample/evaluation/.classpath
===================================================================
--- labs/jbossrules/trunk/install/sample/evaluation/.classpath	                        (rev 0)
+++ labs/jbossrules/trunk/install/sample/evaluation/.classpath	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" path="src/main/rules"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="DROOLS/Drools"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: labs/jbossrules/trunk/install/sample/evaluation/.project
===================================================================
--- labs/jbossrules/trunk/install/sample/evaluation/.project	                        (rev 0)
+++ labs/jbossrules/trunk/install/sample/evaluation/.project	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>evaluation</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.drools.eclipse.droolsbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: labs/jbossrules/trunk/install/sample/evaluation/src/main/java/com/sample/ProcessTest.java
===================================================================
--- labs/jbossrules/trunk/install/sample/evaluation/src/main/java/com/sample/ProcessTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/install/sample/evaluation/src/main/java/com/sample/ProcessTest.java	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,67 @@
+package com.sample;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderError;
+import org.drools.builder.KnowledgeBuilderErrors;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactory;
+import org.drools.logger.KnowledgeRuntimeLogger;
+import org.drools.logger.KnowledgeRuntimeLoggerFactory;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.WorkItem;
+import org.drools.runtime.process.WorkItemHandler;
+import org.drools.runtime.process.WorkItemManager;
+
+/**
+ * This is a sample file to launch a process.
+ */
+public class ProcessTest {
+
+	public static final void main(String[] args) {
+		try {
+			// load up the knowledge base
+			KnowledgeBase kbase = readKnowledgeBase();
+			StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+			KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");
+			ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new WorkItemHandler() {
+				public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
+					System.out.println("Executing Human Task \"" + workItem.getParameter("TaskName") + "\"");
+					System.out.println("ActorId: " + workItem.getParameter("ActorId"));
+					System.out.println("Comment: " + workItem.getParameter("Comment"));
+					manager.completeWorkItem(workItem.getId(), null);
+				}
+				public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {
+				}
+			});
+			// start a new process instance
+			Map<String, Object> params = new HashMap<String, Object>();
+			params.put("employee", "krisv");
+			ksession.startProcess("com.sample.evaluation", params);
+			logger.close();
+		} catch (Throwable t) {
+			t.printStackTrace();
+		}
+	}
+
+	private static KnowledgeBase readKnowledgeBase() throws Exception {
+		KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+		kbuilder.add(ResourceFactory.newClassPathResource("Evaluation.rf"), ResourceType.DRF);
+		KnowledgeBuilderErrors errors = kbuilder.getErrors();
+		if (errors.size() > 0) {
+			for (KnowledgeBuilderError error: errors) {
+				System.err.println(error);
+			}
+			throw new IllegalArgumentException("Could not parse knowledge.");
+		}
+		KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+		kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
+		return kbase;
+	}
+
+}
\ No newline at end of file

Added: labs/jbossrules/trunk/install/sample/evaluation/src/main/rules/Evaluation.rf
===================================================================
--- labs/jbossrules/trunk/install/sample/evaluation/src/main/rules/Evaluation.rf	                        (rev 0)
+++ labs/jbossrules/trunk/install/sample/evaluation/src/main/rules/Evaluation.rf	2010-04-12 12:47:50 UTC (rev 32516)
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<process xmlns="http://drools.org/drools-5.0/process"
+         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+         xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
+         type="RuleFlow" name="Evaluation" id="com.sample.evaluation" package-name="defaultPackage" >
+
+  <header>
+    <variables>
+      <variable name="employee" >
+        <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+      </variable>
+    </variables>
+  </header>
+
+  <nodes>
+    <humanTask id="2" name="Self Evaluation" x="96" y="56" width="100" height="48" >
+      <work name="Human Task" >
+        <parameter name="ActorId" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>#{employee}</value>
+        </parameter>
+        <parameter name="Comment" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>Please perform a self-evalutation.</value>
+        </parameter>
+        <parameter name="Content" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+        </parameter>
+        <parameter name="Priority" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+        </parameter>
+        <parameter name="Skippable" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>false</value>
+        </parameter>
+        <parameter name="TaskName" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>Performance Evaluation</value>
+        </parameter>
+      </work>
+    </humanTask>
+    <humanTask id="4" name="HR Evaluation" x="309" y="16" width="100" height="48" >
+      <work name="Human Task" >
+        <parameter name="ActorId" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>mary</value>
+        </parameter>
+        <parameter name="Comment" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>You need to evaluate #{employee}.</value>
+        </parameter>
+        <parameter name="Content" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+        </parameter>
+        <parameter name="Priority" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+        </parameter>
+        <parameter name="Skippable" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>false</value>
+        </parameter>
+        <parameter name="TaskName" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>Performance Evaluation</value>
+        </parameter>
+      </work>
+    </humanTask>
+    <join id="6" name="Gateway" x="441" y="56" width="49" height="49" type="1" />
+    <start id="1" name="Start" x="16" y="56" width="48" height="48" />
+    <humanTask id="3" name="PM Evaluation" x="309" y="96" width="100" height="48" >
+      <work name="Human Task" >
+        <parameter name="ActorId" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>john</value>
+        </parameter>
+        <parameter name="Comment" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>You need to evaluate #{employee}.</value>
+        </parameter>
+        <parameter name="Content" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+        </parameter>
+        <parameter name="Priority" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+        </parameter>
+        <parameter name="Skippable" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>false</value>
+        </parameter>
+        <parameter name="TaskName" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>Performance Evaluation</value>
+        </parameter>
+      </work>
+    </humanTask>
+    <end id="7" name="End" x="522" y="56" width="48" height="48" />
+    <split id="5" name="Gateway" x="228" y="56" width="49" height="49" type="1" />
+  </nodes>
+
+  <connections>
+    <connection from="1" to="2" />
+    <connection from="5" to="4" />
+    <connection from="4" to="6" />
+    <connection from="3" to="6" />
+    <connection from="5" to="3" />
+    <connection from="6" to="7" />
+    <connection from="2" to="5" />
+  </connections>
+
+</process>
\ No newline at end of file



More information about the jboss-svn-commits mailing list