[jboss-svn-commits] JBL Code SVN: r9751 - in labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1: src/quickstart/jbpm_simple1 and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Feb 25 19:07:19 EST 2007
Author: estebanschifman
Date: 2007-02-25 19:07:19 -0500 (Sun, 25 Feb 2007)
New Revision: 9751
Added:
labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/JunitTest.java
labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestCommandMessages.java
Removed:
labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/JbpmTestLauncher.java
labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/MyTest.java
Modified:
labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb.xml
Log:
Tune jbpm_simple1 quickstart
Modified: labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb.xml 2007-02-26 00:06:10 UTC (rev 9750)
+++ labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb.xml 2007-02-26 00:07:19 UTC (rev 9751)
@@ -1,38 +1,36 @@
<?xml version = "1.0" encoding = "UTF-8"?>
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
- <providers>
- <fs-provider name="FSprovider1">
- <fs-bus busid="toJbpmFileChannel" >
- <fs-message-filter
- directory="/tmp/jbpmtest"
- work-suffix=".esbWorking"
- post-delete="false"
- post-suffix=".sentToJbpm"
- error-delete="false"
- error-suffix=".IN_ERROR"
- />
- </fs-bus>
- </fs-provider>
-
+ <providers>
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+ jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+ jndi-URL="localhost" >
+
+ <jms-bus busid="toJbpmJmsChannel">
+ <jms-message-filter
+ dest-type="QUEUE"
+ dest-name="queue/B"
+ selector="type='toJbpm'"
+ />
+ </jms-bus>
+ </jms-provider>
</providers>
<services>
<service
category="eprManager"
- name="nameToJbpm"
+ name="nameJbpmSimple1"
description="Simple jBPM-ESB example">
<listeners>
- <file-listener name="EsbComponentListener"
- busidref="toJbpmFileChannel"
+ <jms-listener name="jmsToJbpmInterface"
+ busidref="toJbpmJmsChannel"
maxThreads="1"
/>
</listeners>
<actions>
- <action name="jbpmCommand"
+ <action name="jbpmCommand"
class="org.jboss.soa.esb.actions.jbpm.CommandInterpreter"
- process="process,defaultReply" >
- </action>
+ />
</actions>
</service>
</services>
Property changes on: labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb.xml
___________________________________________________________________
Name: svn:mime-type
+ text/xml
Deleted: labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/JbpmTestLauncher.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/JbpmTestLauncher.java 2007-02-26 00:06:10 UTC (rev 9750)
+++ labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/JbpmTestLauncher.java 2007-02-26 00:07:19 UTC (rev 9751)
@@ -1,138 +0,0 @@
-package quickstart.jbpm_simple1;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.InputStream;
-import java.net.URL;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.Statement;
-import java.util.Properties;
-
-import org.apache.log4j.xml.DOMConfigurator;
-import org.jboss.soa.esb.listeners.StandAloneBootStrapper;
-import org.jboss.soa.esb.testutils.FileUtil;
-import org.jboss.soa.esb.testutils.HsqldbUtil;
-import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
-
-public class JbpmTestLauncher {
- private static final Class thisClass=JbpmTestLauncher.class;
- public static void main (String args[]) throws Exception {
- try {
- runBeforeAllTests();
-
- URL url = thisClass.getClassLoader().getResource("");
- System.out.println(url);;
- File file = new File(new File(url.toURI()).getParentFile()
- ,"product/samples/quickstarts/jbpm_simple1/jbossesb.xml");
- StandAloneBootStrapper boot = new StandAloneBootStrapper(file.toString());
- // Start the ESB...
- Thread.sleep(2000);
- boot.requestEnd();
- } finally {
- runAfterAllTests();
- }
- }
-
- protected static void runBeforeAllTests()
- {
- try
- {
- DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product",
- "../product")
- + "/etc/test/resources/log4j.xml");
- TestEnvironmentUtil.setESBPropertiesFileToUse("product",
- "../product");
- // Set the juddi properties file in System so juddi will pick it up
- // later and use the test values.
- String juddiPropertiesFile = "/org/jboss/soa/esb/listeners/gateway/juddi-unittest.properties";
- System.setProperty("juddi.propertiesFile", juddiPropertiesFile);
- // Read this properties file to get the db connection string
- Properties props = new Properties();
- InputStream inStream = Class.class
- .getResourceAsStream(juddiPropertiesFile);
-
- props.load(inStream);
- mDbDriver = props.getProperty("juddi.jdbcDriver");
- mDbUrl = props.getProperty("juddi.jdbcUrl");
- mDbUsername = props.getProperty("juddi.jdbcUsername");
- mDbPassword = props.getProperty("juddi.jdbcPassword");
-
- String database = "not tested yet";
- if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
- {
- database = "hsqldb";
- // Bring up hsql on default port 9001
- HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir(
- "product", "../product")
- + "/build/hsqltestdb", "juddi");
- }
- else if ("com.mysql.jdbc.Driver".equals(mDbDriver))
- {
- database = "mysql";
- } // add and test your own database..
-
- // Get the registry-schema create scripts
- String sqlDir = TestEnvironmentUtil.getUserDir("product",
- "../product")
- + "/install/jUDDI-registry/sql/" + database + "/";
- // Drop what is there now, if exists. We want to start fresh.
- String sqlDropCmd = FileUtil.readTextFile(new File(sqlDir
- + "drop_database.sql"));
- String sqlCreateCmd = FileUtil.readTextFile(new File(sqlDir
- + "create_database.sql"));
- String sqlInsertPubCmd = FileUtil.readTextFile(new File(sqlDir
- + "insert_publishers.sql"));
-
- try
- {
- Class.forName(mDbDriver);
- }
- catch (Exception e)
- {
- System.out.println("ERROR: failed to load " + database
- + " JDBC driver.");
- e.printStackTrace();
- return;
- }
- con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
- Statement stmnt = con.createStatement();
- stmnt.execute(sqlDropCmd);
- stmnt.execute(sqlCreateCmd);
- stmnt.execute(sqlInsertPubCmd);
- stmnt.close();
- }
- catch (Throwable e)
- {
- e.printStackTrace();
- System.out
- .println("We should stop testing, since we don't have a db.");
- System.exit(-1);
- }
- }
-
- protected static final void runAfterAllTests()
- {
- try
- {
- Thread.sleep(1000);
- Statement stmnt = con.createStatement();
-
- stmnt.execute("SHUTDOWN");
- stmnt.close();
-
- con.close();
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- }
- }
-
- private static String mDbDriver;
- private static String mDbUrl;
- private static String mDbUsername;
- private static String mDbPassword;
- private static Connection con;
-}
Copied: labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/JunitTest.java (from rev 9715, labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/MyTest.java)
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/JunitTest.java (rev 0)
+++ labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/JunitTest.java 2007-02-26 00:07:19 UTC (rev 9751)
@@ -0,0 +1,82 @@
+package quickstart.jbpm_simple1.test;
+
+import junit.framework.TestCase;
+
+import org.hibernate.Session;
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ProcessInstance;
+
+public class JunitTest extends TestCase {
+
+ JbpmConfiguration _config;
+ JbpmContext _ctx;
+ Session _session;
+
+ public void setUp() {
+ _config = JbpmConfiguration.getInstance();
+ _config.createSchema();
+ _ctx = _config.createJbpmContext();
+ _session = _ctx.getSession();
+ }
+
+ public void tearDown() {
+ if (null!=_ctx) _ctx.close();
+ if (null!=_config)
+ {
+ _config.dropSchema();
+ _config.close();
+ }
+ }
+
+ public void testSimpleProcess() throws Exception {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("processdefinition.xml");
+ assertNotNull("Definition should not be null", processDefinition);
+
+ _session.saveOrUpdate(processDefinition);
+ String processName = processDefinition.getName();
+ processDefinition = null;
+
+
+ ProcessInstance instance = _ctx.newProcessInstance(processName);
+ assertEquals(
+ "Instance is in start state",
+ instance.getRootToken().getNode().getName(),
+ "start");
+ assertNull(
+ "Message variable should not exist yet",
+ instance.getContextInstance().getVariable("message"));
+
+ instance.signal();
+ _ctx.save(instance);
+ long instanceId = instance.getId();
+
+ instance = _ctx.loadProcessInstanceForUpdate(instanceId);
+ assertEquals(
+ "Instance is in first state",
+ instance.getRootToken().getNode().getName(),
+ "first");
+ assertEquals(
+ "Message variable contains message",
+ instance.getContextInstance().getVariable("message"),
+ "Going to the first state!");
+
+
+ instance.signal();
+ _ctx.save(instance);
+ instance = _ctx.loadProcessInstanceForUpdate(instanceId);
+
+ assertEquals(
+ "Instance is in end state",
+ instance.getRootToken().getNode().getName(),
+ "end");
+
+ assertTrue("Instance has ended", instance.hasEnded());
+ assertEquals(
+ "Message variable is changed",
+ instance.getContextInstance().getVariable("message"),
+ "About to finish!");
+
+ }
+}
Deleted: labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/MyTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/MyTest.java 2007-02-26 00:06:10 UTC (rev 9750)
+++ labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/MyTest.java 2007-02-26 00:07:19 UTC (rev 9751)
@@ -1,82 +0,0 @@
-package quickstart.jbpm_simple1.test;
-
-import junit.framework.TestCase;
-
-import org.hibernate.Session;
-import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
-import org.jbpm.graph.def.ProcessDefinition;
-import org.jbpm.graph.exe.ProcessInstance;
-
-public class MyTest extends TestCase {
-
- JbpmConfiguration _config;
- JbpmContext _ctx;
- Session _session;
-
- public void setUp() {
- _config = JbpmConfiguration.getInstance();
- _config.createSchema();
- _ctx = _config.createJbpmContext();
- _session = _ctx.getSession();
- }
-
- public void tearDown() {
- if (null!=_ctx) _ctx.close();
- if (null!=_config)
- {
- _config.dropSchema();
- _config.close();
- }
- }
-
- public void testSimpleProcess() throws Exception {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("processdefinition.xml");
- assertNotNull("Definition should not be null", processDefinition);
-
- _session.saveOrUpdate(processDefinition);
- String processName = processDefinition.getName();
- processDefinition = null;
-
-
- ProcessInstance instance = _ctx.newProcessInstance(processName);
- assertEquals(
- "Instance is in start state",
- instance.getRootToken().getNode().getName(),
- "start");
- assertNull(
- "Message variable should not exist yet",
- instance.getContextInstance().getVariable("message"));
-
- instance.signal();
- _ctx.save(instance);
- long instanceId = instance.getId();
-
- instance = _ctx.loadProcessInstanceForUpdate(instanceId);
- assertEquals(
- "Instance is in first state",
- instance.getRootToken().getNode().getName(),
- "first");
- assertEquals(
- "Message variable contains message",
- instance.getContextInstance().getVariable("message"),
- "Going to the first state!");
-
-
- instance.signal();
- _ctx.save(instance);
- instance = _ctx.loadProcessInstanceForUpdate(instanceId);
-
- assertEquals(
- "Instance is in end state",
- instance.getRootToken().getNode().getName(),
- "end");
-
- assertTrue("Instance has ended", instance.hasEnded());
- assertEquals(
- "Message variable is changed",
- instance.getContextInstance().getVariable("message"),
- "About to finish!");
-
- }
-}
Added: labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestCommandMessages.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestCommandMessages.java (rev 0)
+++ labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestCommandMessages.java 2007-02-26 00:07:19 UTC (rev 9751)
@@ -0,0 +1,186 @@
+package quickstart.jbpm_simple1.test;
+
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.Invoker;
+import org.jboss.soa.esb.util.jbpm.CommandVehicle;
+
+import com.arjuna.common.util.propertyservice.PropertyManager;
+
+public class TestCommandMessages {
+
+ static Logger _logger = Logger.getLogger(TestCommandMessages.class);
+
+ public static void main(String[] args) throws Exception
+ {
+ new TestCommandMessages().run();
+ }
+
+
+
+ public void run() throws Exception {
+
+// String category = "categoryJbpmSimple1";
+ String category = "eprManager";
+ String name = "nameJbpmSimple1";
+
+ setupRegistry();
+ Enum operation = null;
+ CommandVehicle command = null;
+
+ operation = CommandVehicle.Operation.deployProcessDefinition;
+ command = new CommandVehicle(operation);
+ command.setProcessDefinition(getProcessDefinitionXml("processdefinition.xml"));
+ Message respMsg = Invoker.invokeAndAwaitResponse(command,category,name,10000);
+ CommandVehicle response = (null==respMsg) ? null : new CommandVehicle(respMsg);
+ if (null!=response)
+ {
+ _logger.info("Invoked : "+operation.toString());
+ _logger.info("Return code = "+response.getReturnCode());
+ _logger.info("Error messg = "+response.getErrorMessage());
+ Exception e = response.getException();
+ if (null==e)
+ {
+ _logger.info("PrcDef name = "+response.getProcessDefinitionName());
+ _logger.info("PrcDef vers = "+response.getProcessVersion());
+ }
+ else
+ _logger.error("Problems in jbpm.CommandInterpreter",e);
+ }
+ else
+ _logger.info("Response was not received");
+ _logger.info("_______________________________________________________________________");
+
+ operation = CommandVehicle.Operation.newProcessInstance;
+ command = new CommandVehicle(operation);
+ command.setProcessDefinitionName(response.getProcessDefinitionName());
+ respMsg = Invoker.invokeAndAwaitResponse(command,category,name,10000);
+ response = (null==respMsg) ? null : new CommandVehicle(respMsg);
+ if (null!=response)
+ {
+ _logger.info("Invoked : "+operation.toString());
+ _logger.info("Return code = "+response.getReturnCode());
+ _logger.info("Error messg = "+response.getErrorMessage());
+ Exception e = response.getException();
+ if (null==e)
+ {
+ _logger.info("PrcDef name = "+response.getProcessDefinitionName());
+ _logger.info("PrcDef vers = "+response.getProcessVersion());
+ _logger.info("Instance id = "+response.getInstanceId());
+ _logger.info("Token id = "+response.getTokenId());
+ _logger.info("Current node= "+response.getCurrentNodeName());
+ }
+ else
+ _logger.error("Problems in jbpm.CommandInterpreter",e);
+ }
+ else
+ _logger.info("Response was not received");
+ _logger.info("_______________________________________________________________________");
+
+ for (boolean continueLooping = true; continueLooping;)
+ {
+ operation = CommandVehicle.Operation.signalToken;
+ command = new CommandVehicle(operation);
+ command.setTokenId(response.getTokenId());
+ respMsg = Invoker.invokeAndAwaitResponse(command,category,name,10000);
+ response = (null==respMsg) ? null : new CommandVehicle(respMsg);
+ if (null!=response)
+ {
+ _logger.info("Invoked : "+operation.toString());
+ _logger.info("Return code = "+response.getReturnCode());
+ _logger.info("Error messg = "+response.getErrorMessage());
+ Exception e = response.getException();
+ if (null==e)
+ {
+ _logger.info("PrcDef name = "+response.getProcessDefinitionName());
+ _logger.info("PrcDef vers = "+response.getProcessVersion());
+ _logger.info("Instance id = "+response.getInstanceId());
+ _logger.info("Token id = "+response.getTokenId());
+ _logger.info("Current node= "+response.getCurrentNodeName());
+ }
+ else
+ _logger.error("Problems in jbpm.CommandInterpreter",e);
+ }
+ else
+ _logger.info("Response was not received");
+ _logger.info("_______________________________________________________________________");
+
+ if (! CommandVehicle.RETCODE_OK.equals(response.getReturnCode()))
+ break;
+
+ operation = CommandVehicle.Operation.hasInstanceEnded;
+ command = new CommandVehicle(operation);
+ command.setInstanceId(response.getInstanceId());
+ respMsg = Invoker.invokeAndAwaitResponse(command,category,name,10000);
+ response = (null==respMsg) ? null : new CommandVehicle(respMsg);
+ if (null!=response)
+ {
+ _logger.info("Invoked : "+operation.toString());
+ _logger.info("Return code = "+response.getReturnCode());
+ _logger.info("Error messg = "+response.getErrorMessage());
+ Exception e = response.getException();
+ if (null==e)
+ {
+ _logger.info("PrcDef name = "+response.getProcessDefinitionName());
+ _logger.info("PrcDef vers = "+response.getProcessVersion());
+ _logger.info("Instance id = "+response.getInstanceId());
+ _logger.info("Token id = "+response.getTokenId());
+ _logger.info("Current node= "+response.getCurrentNodeName());
+ Object obj = response.getUserObject();
+ String ended = (null==obj)?"<null>":obj.toString();
+ _logger.info("Has ended = "+ ended);
+ continueLooping = "false".equals(ended);
+ }
+ else
+ _logger.error("Problems in jbpm.CommandInterpreter",e);
+ }
+ else
+ _logger.info("Response was not received");
+ _logger.info("_______________________________________________________________________");
+
+ if (! CommandVehicle.RETCODE_OK.equals(response.getReturnCode()))
+ break;
+ }
+ }
+
+ /**
+ * Invocation of this method should be unnecessary.
+ * Had to invoke it because I had trouble to have the properties loaded from jbossesb-properties.xml
+ * Once that is solved, you can get rid of the invocation to this method (up in the run() )
+ */
+ protected void setupRegistry() {
+ PropertyManager mgr = null;
+
+// mgr = ModulePropertyManager.getPropertyManager("registry");
+// mgr.setProperty(Environment.REGISTRY_IMPEMENTATION_CLASS,"org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl");
+// mgr.setProperty(Environment.REGISTRY_QUERY_MANAGER_URI,"jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire");
+// mgr.setProperty(Environment.REGISTRY_LIFECYCLE_MANAGER_URI,"jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish");
+// mgr.setProperty(Environment.REGISTRY_FACTORY_CLASS,"org.apache.ws.scout.registry.ConnectionFactoryImpl");
+// mgr.setProperty(Environment.REGISTRY_SCOUT_TRANSPORT_CLASS,"org.apache.ws.scout.transport.RMITransport");
+// mgr.setProperty(Environment.REGISTRY_USER,"jbossesb");
+// mgr.setProperty(Environment.REGISTRY_PASSWORD,"password");
+// 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") ;
+
+ }
+
+
+ protected String getProcessDefinitionXml(String pFileName) throws Exception
+ {
+ InputStream in = this.getClass().getClassLoader().getResourceAsStream(pFileName);
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ byte[]ba = new byte[1000];
+ int iQ = -1;
+ while (-1<(iQ=in.read(ba)))
+ if (iQ>0) out.write(ba,0,iQ);
+ return out.toString();
+ }
+
+}
Property changes on: labs/jbossesb/workspace/eschifman/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestCommandMessages.java
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the jboss-svn-commits
mailing list