[jboss-svn-commits] JBL Code SVN: r28926 - in labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main: resources/org/drools/eclipse/wizard/project and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Aug 13 09:11:01 EDT 2009


Author: KrisVerlaenen
Date: 2009-08-13 09:11:00 -0400 (Thu, 13 Aug 2009)
New Revision: 28926

Added:
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/ProcessLauncherSample_bpmn.java.template
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/sample.bpmn.template
Modified:
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectRuntimeWizardPage.java
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample_4.java.template
Log:
 - adding bpmn2 module

Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectRuntimeWizardPage.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectRuntimeWizardPage.java	2009-08-13 08:58:57 UTC (rev 28925)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectRuntimeWizardPage.java	2009-08-13 13:11:00 UTC (rev 28926)
@@ -21,11 +21,12 @@
 public class NewDroolsProjectRuntimeWizardPage extends WizardPage {
 
 	public static final String DROOLS4 = "Drools 4.x";
-	public static final String DROOLS5 = "Drools 5.x";
+	public static final String DROOLS5 = "Drools 5.0.x";
+    public static final String DROOLS5_1 = "Drools 5.1.x";
 	
 	private boolean isDefaultRuntime = true;
 	private String selectedRuntime;
-	private String generationType = DROOLS5;
+	private String generationType = DROOLS5_1;
 	private Button projectSpecificRuntime;
 	private Combo droolsRuntimeCombo;
 	private Combo droolsGenerateCombo;
@@ -106,7 +107,8 @@
         generateLabel.setText("Generate code compatible with: ");
         droolsGenerateCombo = new Combo(subPanel, SWT.READ_ONLY);
         droolsGenerateCombo.add("Drools 4.x");
-        droolsGenerateCombo.add("Drools 5.x");
+        droolsGenerateCombo.add("Drools 5.0.x");
+        droolsGenerateCombo.add("Drools 5.1.x");
         droolsGenerateCombo.addSelectionListener(new SelectionListener() {
 			public void widgetDefaultSelected(SelectionEvent e) {
 				generationType = droolsGenerateCombo.getText();

Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java	2009-08-13 08:58:57 UTC (rev 28925)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizard.java	2009-08-13 13:11:00 UTC (rev 28926)
@@ -411,7 +411,7 @@
 	        } else {
 	        	file.setContents(inputstream, true, false, monitor);
 	        }
-    	} else {
+    	} else if (runtimePage.getGenerationType() == NewDroolsProjectRuntimeWizardPage.DROOLS5) {
 	        String fileName = "org/drools/eclipse/wizard/project/ruleflow.rf.template";
 	        IFolder folder = project.getProject().getFolder("src/main/rules");
 	        IFile file = folder.getFile("ruleflow.rf");
@@ -421,6 +421,16 @@
 	        } else {
 	        	file.setContents(inputstream, true, false, monitor);
 	        }
+    	} else {
+    	    String fileName = "org/drools/eclipse/wizard/project/sample.bpmn.template";
+            IFolder folder = project.getProject().getFolder("src/main/rules");
+            IFile file = folder.getFile("sample.bpmn");
+            InputStream inputstream = getClass().getClassLoader().getResourceAsStream(fileName);
+            if (!file.exists()) {
+                file.create(inputstream, true, monitor);
+            } else {
+                file.setContents(inputstream, true, false, monitor);
+            }
     	}
     }
 
@@ -433,8 +443,10 @@
         String s;
         if (runtimePage.getGenerationType() == NewDroolsProjectRuntimeWizardPage.DROOLS4) {
     		s = "org/drools/eclipse/wizard/project/RuleFlowLauncherSample_4.java.template";
+        } else if (runtimePage.getGenerationType() == NewDroolsProjectRuntimeWizardPage.DROOLS5) {
+        	s = "org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template";
         } else {
-        	s = "org/drools/eclipse/wizard/project/RuleFlowLauncherSample.java.template";
+            s = "org/drools/eclipse/wizard/project/ProcessLauncherSample_bpmn.java.template";
         }
         IFolder folder = project.getProject().getFolder("src/main/java");
         IPackageFragmentRoot packageFragmentRoot = project
@@ -443,7 +455,7 @@
                 .createPackageFragment("com.sample", true, null);
         InputStream inputstream = getClass().getClassLoader()
                 .getResourceAsStream(s);
-        packageFragment.createCompilationUnit("RuleFlowTest.java", new String(
+        packageFragment.createCompilationUnit("ProcessTest.java", new String(
                 readStream(inputstream)), true, null);
     }
 

Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java	2009-08-13 08:58:57 UTC (rev 28925)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/wizard/project/NewDroolsProjectWizardPage.java	2009-08-13 13:11:00 UTC (rev 28926)
@@ -89,7 +89,7 @@
 			}
 		});
 		addSampleRuleFlowButton = createCheckBox(parent,
-			"Add a sample RuleFlow file to this project.");
+			"Add a sample HelloWorld process file to this project.");
 		addSampleRuleFlowButton.setSelection(addSampleRuleFlow);
 		addSampleRuleFlowButton.addSelectionListener(new SelectionListener() {
 			public void widgetDefaultSelected(SelectionEvent e) {
@@ -100,7 +100,7 @@
 			}
 		});
 		addSampleJavaRuleFlowCodeButton = createCheckBox(parent,
-			"Add a sample Java class for loading and executing the RuleFlow.");
+			"Add a sample Java class for loading and executing the HelloWorld process.");
 		addSampleJavaRuleFlowCodeButton.setSelection(addSampleJavaRuleFlowCode);
 		addSampleJavaRuleFlowCodeButton.addSelectionListener(new SelectionListener() {
 			public void widgetDefaultSelected(SelectionEvent e) {

Added: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/ProcessLauncherSample_bpmn.java.template
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/ProcessLauncherSample_bpmn.java.template	                        (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/ProcessLauncherSample_bpmn.java.template	2009-08-13 13:11:00 UTC (rev 28926)
@@ -0,0 +1,55 @@
+package com.sample;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.bpmn2.xml.BPMNSemanticModule;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderConfiguration;
+import org.drools.builder.KnowledgeBuilderError;
+import org.drools.builder.KnowledgeBuilderErrors;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.io.ResourceFactory;
+import org.drools.logger.KnowledgeRuntimeLogger;
+import org.drools.logger.KnowledgeRuntimeLoggerFactory;
+import org.drools.runtime.StatefulKnowledgeSession;
+
+/**
+ * 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");
+			// start a new process instance
+			ksession.startProcess("com.sample.bpmn.hello");
+			logger.close();
+		} catch (Throwable t) {
+			t.printStackTrace();
+		}
+	}
+
+	private static KnowledgeBase readKnowledgeBase() throws Exception {
+		KnowledgeBuilderConfiguration conf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
+		((PackageBuilderConfiguration) conf).initSemanticModules();
+		((PackageBuilderConfiguration) conf).addSemanticModule(new BPMNSemanticModule());
+		KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(conf);
+		kbuilder.add(ResourceFactory.newClassPathResource("sample.bpmn"), 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

Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template	2009-08-13 08:58:57 UTC (rev 28925)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample.java.template	2009-08-13 13:11:00 UTC (rev 28926)
@@ -15,7 +15,7 @@
 /**
  * This is a sample class to launch a rule.
  */
-public class DroolsTest {
+public class ProcessTest {
 
 	public static final void main(String[] args) {
 		try {

Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample_4.java.template
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample_4.java.template	2009-08-13 08:58:57 UTC (rev 28925)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/RuleLauncherSample_4.java.template	2009-08-13 13:11:00 UTC (rev 28926)
@@ -12,7 +12,7 @@
 /**
  * This is a sample file to launch a rule package from a rule source file.
  */
-public class DroolsTest {
+public class ProcessTest {
 
     public static final void main(String[] args) {
         try {

Added: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/sample.bpmn.template
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/sample.bpmn.template	                        (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/resources/org/drools/eclipse/wizard/project/sample.bpmn.template	2009-08-13 13:11:00 UTC (rev 28926)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<definitions id="Definition"
+             targetNamespace="http://www.jboss.org/drools"
+             typeLanguage="http://www.java.com/javaTypes"
+             expressionLanguage="http://www.mvel.org/2.0"
+             xmlns="http://schema.omg.org/spec/BPMN/2.0"
+             xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+             xs:schemaLocation="http://schema.omg.org/spec/BPMN/2.0 BPMN20.xsd"
+             xmlns:g="http://www.jboss.org/drools/flow/gpd"
+             xmlns:tns="http://www.jboss.org/drools">
+
+  <resource id="Actor" name="Human Actor" />
+
+  <process id="com.sample.bpmn.hello" name="Hello World" >
+
+    <!-- process variables -->
+
+    <!-- nodes -->
+    <startEvent id="_1" name="StartProcess" g:x="16" g:y="16" g:width="48" g:height="48" />
+    <scriptTask id="_2" name="Hello" g:x="96" g:y="16" g:width="80" g:height="48" scriptLanguage="java" >
+      <script>System.out.println("Hello World");</script>
+    </scriptTask>
+    <endEvent id="_3" name="EndProcess" g:x="208" g:y="16" g:width="48" g:height="48" />
+
+    <!-- connections -->
+    <sequenceFlow sourceRef="_1" targetRef="_2" />
+    <sequenceFlow sourceRef="_2" targetRef="_3" />
+
+  </process>
+
+</definitions>
\ No newline at end of file



More information about the jboss-svn-commits mailing list