[jboss-svn-commits] JBL Code SVN: r11416 - in labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1: src/quickstart/jbpm_simple1/test and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Apr 27 11:21:38 EDT 2007
Author: estebanschifman
Date: 2007-04-27 11:21:37 -0400 (Fri, 27 Apr 2007)
New Revision: 11416
Added:
labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/MyActionHandler.java
Modified:
labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/build.xml
labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/jboss-esb.xml
labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/simpleProcessDefinition.xml
labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestBpmProcessor.java
Log:
Work on jbpm_simple1
Modified: labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/build.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/build.xml 2007-04-27 13:37:40 UTC (rev 11415)
+++ labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/build.xml 2007-04-27 15:21:37 UTC (rev 11416)
@@ -33,9 +33,12 @@
<mkdir dir="build/classes" />
</target>
- <target name="esb" depends="prepare">
+ <target name="esb" depends="prepare,compile">
<copy overwrite="true" file="jboss-esb.xml" todir="build/${esb.archive.name}.esb/META-INF" />
<copy file="simpleProcessDefinition.xml" todir="build/${esb.archive.name}.esb" />
+ <copy todir="build/${esb.archive.name}.esb">
+ <fileset dir="build/classes" includes="**/*" />
+ </copy>
</target>
<target name="runtest" depends="compile"
Modified: labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/jboss-esb.xml 2007-04-27 13:37:40 UTC (rev 11415)
+++ labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/jboss-esb.xml 2007-04-27 15:21:37 UTC (rev 11416)
@@ -21,6 +21,15 @@
/>
</fs-bus>
+ <fs-bus busid="jbpmSignalChannel" >
+ <fs-message-filter
+ directory="/tmp"
+ input-suffix=".signalProcess"
+ post-delete="true"
+ error-delete="true"
+ />
+ </fs-bus>
+
<fs-bus busid="jbpmProcessGetterChannel" >
<fs-message-filter
directory="/tmp"
@@ -76,8 +85,7 @@
<property name="actor" value="FrankSinatra"/>
<property name="esb-to-jbpm">
<variables>
- <variable esb-name="eVar1" jbpm-name="orderNumber" value="111-223344-5" />
- <variable esb-name="eVar2" jbpm-name="orderDate" value="2007/04/26" />
+ <variable esb-name="eVar1" jbpm-name="counter" value="45" />
</variables>
</property>
</action>
@@ -88,6 +96,29 @@
<service
category="jbpmQsCat3"
+ name="signalCommand"
+ description="Signal a token or process" >
+ <listeners>
+ <fs-listener name="Advancer"
+ busidref="jbpmSignalChannel"
+ maxThreads="1"
+ poll-frequency-seconds="3"
+ />
+ </listeners>
+
+ <actions>
+ <action name="aSignal"
+ class="org.jboss.soa.esb.services.jbpm.actions.BpmProcessor"
+ >
+ <property name="command" value="SignalCommand" />
+ </action>
+
+ </actions>
+
+ </service>
+
+ <service
+ category="jbpmQsCat4"
name="retriever"
description="Retrieve process instance" >
<listeners>
@@ -105,8 +136,7 @@
<property name="command" value="GetProcessInstanceCommand" />
<property name="jbpm-to-esb">
<variables>
- <variable name="orderNumber" />
- <variable name="orderDate" />
+ <variable name="counter" />
</variables>
</property>
</action>
Modified: labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/simpleProcessDefinition.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/simpleProcessDefinition.xml 2007-04-27 13:37:40 UTC (rev 11415)
+++ labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/simpleProcessDefinition.xml 2007-04-27 15:21:37 UTC (rev 11416)
@@ -4,10 +4,17 @@
xmlns="urn:jbpm.org:jpdl-3.1"
name="simple">
<start-state name="start">
- <transition name="to_state" to="first" />
+ <transition name="to_state" to="first">
+ <action name="n1" class="quickstart.jbpm_simple1.test.MyActionHandler"
+ >
+ <startFrom>22</startFrom>
+ </action>
+ </transition>
</start-state>
<state name="first">
- <transition name="to_end" to="end" />
+ <transition name="to_end" to="end">
+ <action name="n2" class="quickstart.jbpm_simple1.test.MyActionHandler" />
+ </transition>
</state>
<end-state name="end"></end-state>
</process-definition>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/MyActionHandler.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/MyActionHandler.java (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/MyActionHandler.java 2007-04-27 15:21:37 UTC (rev 11416)
@@ -0,0 +1,30 @@
+package quickstart.jbpm_simple1.test;
+
+import org.jbpm.context.exe.ContextInstance;
+import org.jbpm.graph.def.ActionHandler;
+import org.jbpm.graph.exe.ExecutionContext;
+import org.jbpm.graph.exe.Token;
+
+public class MyActionHandler implements ActionHandler
+{
+ private static final long serialVersionUID = 1L;
+
+ Long startFrom;
+
+ public void execute(ExecutionContext exCtx) throws Exception
+ {
+ Token token = exCtx.getToken();
+ ContextInstance context = token.getProcessInstance().getContextInstance();
+ Object obj = context.getVariable("counter",token);
+ if (null==obj)
+ {
+ if (null==startFrom)
+ startFrom = new Long(1);
+ context.createVariable("counter", new Long(startFrom), token);
+ return;
+ }
+ Long counter = 1+Long.parseLong(obj.toString());
+ context.setVariable("counter", counter , token);
+ }
+
+}
Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/MyActionHandler.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestBpmProcessor.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestBpmProcessor.java 2007-04-27 13:37:40 UTC (rev 11415)
+++ labs/jbossesb/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestBpmProcessor.java 2007-04-27 15:21:37 UTC (rev 11416)
@@ -25,6 +25,7 @@
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayOutputStream;
+import java.io.File;
import java.io.PrintStream;
import org.apache.log4j.Logger;
@@ -48,6 +49,13 @@
new TestBpmProcessor().run();
}
+ static File WORKDIR;
+ static
+ {
+ String os = System.getProperty("os.name","").toLowerCase();
+ String dflt = (os.indexOf("win")>=0) ? "/temp": "/tmp";
+ WORKDIR = new File(System.getProperty("java.io.tmpdir",dflt));
+ };
public void run() throws Exception
{
@@ -66,18 +74,25 @@
// nothing extra required in message for 'instantiator' service
response = Invoker.invokeAndAwaitResponse(request,curr[0], curr[1], 5000);
System.out.println(dumpResponse(response));
+ Long tokenId = Helper.getLongValue(response, Constants.TOKEN_ID);
- Long tokenId = Helper.getLongValue(response, Constants.TOKEN_ID);
+ showVars(tokenId);
+
+ curr = new String[]{"jbpmQsCat3" ,"signalCommand"};
+ request = Helper.commandMessageTemplate();
+ Helper.setLongValue(request, Constants.TOKEN_ID, tokenId);
+ response = Invoker.invokeAndAwaitResponse(request,curr[0], curr[1], 5000);
+ System.out.println(dumpResponse(response));
- curr = new String[]{"jbpmQsCat3" ,"retriever"};
+ showVars(tokenId);
+
+ curr = new String[]{"jbpmQsCat3" ,"signalCommand"};
request = Helper.commandMessageTemplate();
- // we need to specify which token_id we wish to retrieve
- // it was returned in the response received in the previous step
Helper.setLongValue(request, Constants.TOKEN_ID, tokenId);
-
response = Invoker.invokeAndAwaitResponse(request,curr[0], curr[1], 5000);
System.out.println(dumpResponse(response));
+ showVars(tokenId);
}
catch (Exception _ex)
{
@@ -105,10 +120,22 @@
System.setProperty("javax.xml.registry.ConnectionFactoryClass", "org.apache.ws.scout.registry.ConnectionFactoryImpl");
mgr = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE) ;
- mgr.setProperty(Environment.REGISTRY_FILE_HELPER_DIR, "/tmp") ;
+ mgr.setProperty(Environment.REGISTRY_FILE_HELPER_DIR, WORKDIR.toString()) ;
}
+ private void showVars(long tokenId) throws Exception
+ {
+ String[] curr = new String[]{"jbpmQsCat4" ,"retriever"};
+ Message request = Helper.commandMessageTemplate();
+ Helper.setLongValue(request, Constants.TOKEN_ID, tokenId);
+
+ Message response = Invoker.invokeAndAwaitResponse(request,curr[0], curr[1], 5000);
+ System.out.println(dumpResponse(response));
+
+
+ }
+
public static String dumpResponse(Message response)
{
if (null==response)
@@ -128,8 +155,7 @@
sb.append(getObject(response,Constants.TOKEN_ID));
sb.append(getObject(response,Constants.HAS_ENDED));
- sb.append(getObject(response,"orderDate"));
- sb.append(getObject(response,"orderNumber"));
+ sb.append(getObject(response,"counter"));
return sb.append("_______________________________________________________________________")
.toString();
More information about the jboss-svn-commits
mailing list