[jboss-svn-commits] JBL Code SVN: r10852 - in labs/jbossesb/trunk/product/services/jbpm: lib/ext and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Apr 10 11:03:07 EDT 2007
Author: kurt.stam at jboss.com
Date: 2007-04-10 11:03:07 -0400 (Tue, 10 Apr 2007)
New Revision: 10852
Added:
labs/jbossesb/trunk/product/services/jbpm/lib/ext/junit-4.1.jar
labs/jbossesb/trunk/product/services/jbpm/lib/ext/log4j.jar
labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/
labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/
labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/BaseActionHandler.java
labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/CommandInterpreter.java
labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/util/
labs/jbossesb/trunk/product/services/jbpm/src/test/
Removed:
labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/jbpm/actions/
labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/jbpm/util/
labs/jbossesb/trunk/product/services/jbpm/test/
Modified:
labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/util/CommandVehicleUnitTest.java
Log:
putting files in the right place
Added: labs/jbossesb/trunk/product/services/jbpm/lib/ext/junit-4.1.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/services/jbpm/lib/ext/junit-4.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/services/jbpm/lib/ext/log4j.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/services/jbpm/lib/ext/log4j.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Copied: labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/BaseActionHandler.java (from rev 10851, labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/jbpm/actions/BaseActionHandler.java)
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/BaseActionHandler.java (rev 0)
+++ labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/BaseActionHandler.java 2007-04-10 15:03:07 UTC (rev 10852)
@@ -0,0 +1,108 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.services.jbpm.actions;
+
+import java.net.URI;
+import java.util.UUID;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.services.jbpm.util.CommandVehicle;
+import org.jboss.soa.esb.listeners.ListenerUtil;
+import org.jboss.soa.esb.message.Message;
+import org.jbpm.graph.def.ActionHandler;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ExecutionContext;
+import org.jbpm.graph.exe.ProcessInstance;
+import org.jbpm.graph.exe.Token;
+
+/**
+ *
+ * Use to send messages to ESB services from jBPM applications.
+ * <p/>Assumptions:
+ * <br/> Message payload is in the context instance in a context variable.
+ * <br/>Context variables "esbCategoryName" and "esbServiceName" will be supplied at runtime.
+ *
+ * <p/> The name of the context variable that contains the user object to include in the
+ * message payload is rendered by the getContentVariableName() method
+ * so it can be changed just by extending this class and overriding that method.
+ *
+ * <br/> This action handler will by default (whenever possible) include the process name
+ * , version, processInstance id and token ID
+ *
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ *
+ */
+
+public class BaseActionHandler implements ActionHandler
+{
+
+ private static final long serialVersionUID = 1L;
+
+ public String getContentVariableName() { return "esbUserObjectVariable"; }
+
+ public String esbCategoryName;
+ public String esbServiceName;
+
+ public void execute(ExecutionContext context) throws Exception
+ {
+ if (null==esbCategoryName)
+ throw new ConfigurationException("Service category (esbCategoryName element) must not be null");
+ if (null==esbServiceName)
+ throw new ConfigurationException("Service name (esbServiceName element) must not be null");
+
+ Object userObject = context.getContextInstance().getVariable(getContentVariableName());
+ if (null==userObject)
+ throw new IllegalArgumentException("User object to be sent to ESB (variable="
+ +getContentVariableName()+") is <null>");
+
+ CommandVehicle command = new CommandVehicle(CommandVehicle.Operation.sendMessageToEsb);
+
+ ProcessDefinition process = context.getProcessDefinition();
+ if (null!=process)
+ {
+ command.setProcessDefinitionName(process.getName());
+ command.setProcessVersion (process.getVersion());
+ }
+
+ ProcessInstance instance = context.getProcessInstance();
+ if (null!=instance)
+ {
+ command.setInstanceId (context.getProcessInstance().getId());
+ }
+ Token token = context.getToken();
+
+ if (null!=token)
+ {
+ command.setTokenId (token.getId());
+ }
+
+ command.setUserObject(userObject);
+
+ Message message = command.toCommandMessage();
+ Call call = message.getHeader().getCall();
+ call.setMessageID(new URI(UUID.randomUUID().toString()));
+
+ ListenerUtil.tryToDeliver(message, esbCategoryName, esbServiceName);
+ }
+
+}
Copied: labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/CommandInterpreter.java (from rev 10851, labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/jbpm/actions/CommandInterpreter.java)
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/CommandInterpreter.java (rev 0)
+++ labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/CommandInterpreter.java 2007-04-10 15:03:07 UTC (rev 10852)
@@ -0,0 +1,435 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.services.jbpm.actions;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.services.jbpm.util.CommandVehicle;
+import org.jboss.soa.esb.message.Message;
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ProcessInstance;
+import org.jbpm.graph.exe.Token;
+
+/**
+ *
+ * jBPM command interpreter.
+ *
+ * <p/>This class is tightly coupled with JbpmCommmandVehicle.
+ * <br/>It should be able to interpret all commands in the 'Operation' enum in JbpmCommandVehicle.
+ * <br/>If new operations are added there, the process() method in this class should be changed accordingly.
+ *
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ *
+ */
+public class CommandInterpreter
+{
+ private CommandInterpreter() {}
+ public CommandInterpreter(ConfigTree config) throws ConfigurationException
+ {
+ _config = config;
+ checkMyParms();
+ } // ________________________________
+
+ /**
+ * @param message - Containing payload and replyToEpr where to send the reply.
+ * @throws Exception
+ */
+ protected Message defaultReply(Message message)
+ throws MalformedEPRException,CourierException
+ {
+ EPR reply = message.getHeader().getCall().getReplyTo();
+ if (null==reply)
+ _logger.error("Null replyToEPR in message - response will not be sent to invoker");
+ else
+ {
+ Courier courier = CourierFactory.getCourier(reply);
+ courier.deliver(message);
+ }
+ return message;
+ } // ________________________________
+
+ public Message process(Message message)
+ throws MalformedEPRException, CourierException
+ {
+ _command = new CommandVehicle(message);
+ Enum operator = _command.getOperator();
+
+
+ if (operator.equals(CommandVehicle.Operation.signalToken))
+ signalToken();
+ else if (operator.equals(CommandVehicle.Operation.signalProcess))
+ signalProcess();
+ else if (operator.equals(CommandVehicle.Operation.hasInstanceEnded))
+ checkInstanceEnded();
+ else if (operator.equals(CommandVehicle.Operation.getProcessInstanceVariables))
+ getProcessInstanceVariabes();
+ else if (operator.equals(CommandVehicle.Operation.setProcessInstanceVariables))
+ setProcessInstanceVariables();
+ else if (operator.equals(CommandVehicle.Operation.getTokenVariables))
+ getTokenVariabes();
+ else if (operator.equals(CommandVehicle.Operation.setTokenVariables))
+ setTokenVariables();
+ else if (operator.equals(CommandVehicle.Operation.newProcessInstance))
+ newProcessInstance();
+ else if (operator.equals(CommandVehicle.Operation.deployProcessDefinition))
+ deployProcessDefinition();
+ else
+ {
+ _logger.error("Unknown operator: "+operator.toString()+" - Returning message unchanged");
+ _command.setReturnCode(CommandVehicle.RETCODE_INVALID_OPCODE);
+ }
+
+ Message retMsg = _command.toCommandMessage();
+ retMsg.getHeader().getCall().setTo (message.getHeader().getCall().getTo());
+ EPR replyTo = message.getHeader().getCall().getReplyTo();
+ retMsg.getHeader().getCall().setReplyTo (replyTo);
+ retMsg.getHeader().getCall().setFaultTo (message.getHeader().getCall().getFaultTo());
+ return (null==replyTo)? retMsg : defaultReply(retMsg);
+ } // ________________________________
+
+ public void deployProcessDefinition()
+ {
+ try
+ {
+ prepareJbpm();
+ ProcessDefinition def = _command.getProcessDefinition();
+ _jbpmCtx.deployProcessDefinition(def);
+ _command.setProcessDefinitionName (def.getName());
+ _command.setProcessVersion (def.getVersion());
+ _command.setReturnCode(CommandVehicle.RETCODE_OK);
+ }
+ catch (Exception e)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+ _command.setException(e);
+ }
+ finally
+ {
+ cleanupJbpm();
+ }
+ } //________________________________
+ public void newProcessInstance()
+ {
+ try
+ {
+ prepareJbpm();
+ _processInstance = _jbpmCtx.newProcessInstance(_command.getProcessDefinitionName());
+ _jbpmCtx.save(_processInstance);
+
+ _command.setProcessVersion(_processInstance.getProcessDefinition().getVersion());
+ _command.setInstanceId (_processInstance.getId());
+ _command.setTokenId (_processInstance.getRootToken().getId());
+ _command.setCurrentNodeName(_processInstance.getRootToken().getNode().getName());
+ _command.setReturnCode(CommandVehicle.RETCODE_OK);
+ }
+ catch (Exception e)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+ _command.setException(e);
+ }
+ finally
+ {
+ cleanupJbpm();
+ }
+ } //________________________________
+
+ public void signalProcess()
+ {
+ try
+ {
+ long id = _command.getInstanceId();
+ prepareJbpm();
+ _processInstance = _jbpmCtx.loadProcessInstanceForUpdate(id);
+ _processInstance.signal();
+ _jbpmCtx.save(_processInstance);
+
+ _command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+ _command.setProcessVersion (_processInstance.getProcessDefinition().getVersion());
+ _command.setTokenId (_processInstance.getRootToken().getId());
+ _command.setCurrentNodeName (_processInstance.getRootToken().getNode().getName());
+ _command.setUserObject (_processInstance.hasEnded());
+ _command.setReturnCode (CommandVehicle.RETCODE_OK);
+ }
+ catch (Exception e)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+ _command.setException(e);
+ }
+ finally
+ {
+ cleanupJbpm();
+ }
+ } //________________________________
+
+ public void signalToken()
+ {
+ try
+ {
+ long id = _command.getTokenId();
+ prepareJbpm();
+ _token = _jbpmCtx.loadTokenForUpdate(id);
+ _token.signal();
+ _jbpmCtx.save(_token);
+
+ _processInstance = _token.getProcessInstance();
+ _command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+ _command.setProcessVersion (_processInstance.getProcessDefinition().getVersion());
+ _command.setInstanceId (_processInstance.getId());
+ _command.setCurrentNodeName (_token.getNode().getName());
+ _command.setUserObject (_processInstance.hasEnded());
+ _command.setReturnCode (CommandVehicle.RETCODE_OK);
+ }
+ catch (Exception e)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+ _command.setException(e);
+ }
+ finally
+ {
+ cleanupJbpm();
+ }
+ } //________________________________
+
+ public void getProcessInstanceVariabes()
+ {
+ try
+ {
+ long id = _command.getInstanceId();
+ prepareJbpm();
+ _processInstance = _jbpmCtx.loadProcessInstance(id);
+ Map allVars = _processInstance.getContextInstance().getVariables();
+ _command.setVariableValues (pickVarsFromMap(allVars));
+
+ _command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+ _command.setProcessVersion (_processInstance.getProcessDefinition().getVersion());
+ _command.setTokenId (_processInstance.getRootToken().getId());
+ _command.setCurrentNodeName (_processInstance.getRootToken().getNode().getName());
+ _command.setReturnCode (CommandVehicle.RETCODE_OK);
+ }
+ catch (Exception e)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+ _command.setException(e);
+ }
+ finally { cleanupJbpm(); }
+ } //________________________________
+
+ public void checkInstanceEnded()
+ {
+ try
+ {
+ long id = _command.getInstanceId();
+ prepareJbpm();
+ _processInstance = _jbpmCtx.loadProcessInstance(id);
+ _command.setUserObject(_processInstance.hasEnded());
+
+ _command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+ _command.setProcessVersion (_processInstance.getProcessDefinition().getVersion());
+ _command.setTokenId (_processInstance.getRootToken().getId());
+ _command.setCurrentNodeName (_processInstance.getRootToken().getNode().getName());
+ _command.setReturnCode (CommandVehicle.RETCODE_OK);
+ }
+ catch (Exception e)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+ _command.setException(e);
+ }
+ finally { cleanupJbpm(); }
+ } //________________________________
+
+ public void setProcessInstanceVariables()
+ {
+ try
+ {
+ Map<String,Object>newVals = _command.getVariableValues();
+ if (null==newVals || newVals.size()<1)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_ERROR);
+ _command.setErrorMessage("Null or empty variable Map");
+ return;
+ }
+ long id = _command.getInstanceId();
+ prepareJbpm();
+ _processInstance = _jbpmCtx.loadProcessInstanceForUpdate(id);
+ _processInstance.getContextInstance().addVariables(newVals);
+ _jbpmCtx.save(_processInstance);
+
+ _command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+ _command.setProcessVersion (_processInstance.getProcessDefinition().getVersion());
+ _command.setInstanceId (_processInstance.getId());
+ _command.setTokenId (_processInstance.getRootToken().getId());
+ _command.setCurrentNodeName (_processInstance.getRootToken().getNode().getName());
+ _command.setReturnCode (CommandVehicle.RETCODE_OK);
+ }
+ catch (Exception e)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+ _command.setException(e);
+ }
+ finally
+ {
+ cleanupJbpm();
+ }
+ } //________________________________
+
+ public void getTokenVariabes()
+ {
+ try
+ {
+ long id = _command.getTokenId();
+ prepareJbpm();
+ _token = _jbpmCtx.loadToken(id);
+ Map allVars = _token.getProcessInstance().getContextInstance().getVariables(_token);
+ _command.setVariableValues(pickVarsFromMap(allVars));
+
+ _processInstance = _token.getProcessInstance();
+ _command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+ _command.setProcessVersion (_processInstance.getProcessDefinition().getVersion());
+ _command.setInstanceId (_processInstance.getId());
+ _command.setCurrentNodeName (_token.getNode().getName());
+ _command.setReturnCode (CommandVehicle.RETCODE_OK);
+ }
+ catch (Exception e)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+ _command.setException(e);
+ }
+ finally { cleanupJbpm(); }
+ } //________________________________
+
+ public void setTokenVariables()
+ {
+ try
+ {
+ Map<String,Object>newVals = _command.getVariableValues();
+ if (null==newVals || newVals.size()<1)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_ERROR);
+ _command.setErrorMessage("Null or empty variable Map");
+ return;
+ }
+ long id = _command.getTokenId();
+ prepareJbpm();
+ _token = _jbpmCtx.loadToken(id);
+ _token.getProcessInstance().getContextInstance().addVariables(newVals,_token);
+ _jbpmCtx.save(_token);
+
+ _command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+ _command.setProcessVersion (_processInstance.getProcessDefinition().getVersion());
+ _command.setInstanceId (_processInstance.getId());
+ _command.setTokenId (_processInstance.getRootToken().getId());
+ _command.setCurrentNodeName (_processInstance.getRootToken().getNode().getName());
+ _command.setReturnCode (CommandVehicle.RETCODE_OK);
+ }
+ catch (Exception e)
+ {
+ _command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+ _command.setException(e);
+ }
+ finally
+ {
+ cleanupJbpm();
+ }
+ } //________________________________
+
+ /**
+ * Get list of variables requested in command, from map in arg0.
+ * <br/>List of requested variables is obtained from command invoking the getVariableNames() method.
+ * <br/>If the list of variable names is NULL, all variables in the map will be returned.
+ * <br/>If it's an empty List, an empty map will be returned (why would anybody ask for an empty list of vars ?)
+ * @param variables
+ * @return
+ */
+ @SuppressWarnings("unchecked")
+ protected Map<String,Object>pickVarsFromMap(Map variables)
+ {
+ Set<String>names = _command.getVariableNames();
+ if (null==names)
+ return variables;
+
+ Map<String,Object>retMap = new HashMap<String, Object>();
+ for(String curr : names)
+ retMap.put(curr, variables.get(curr));
+
+ return retMap;
+ } //________________________________
+
+ /**
+ * Should this class need any extra configuration, this is the placeholder where to check
+ * if configuration is OK.
+ * @throws ConfigurationException
+ */
+ protected void checkMyParms() throws ConfigurationException
+ {
+ } // _______________________________
+
+ protected void prepareJbpm()
+ {
+ _jbpmCtx = null;
+ _jbpmCtx = getJbpmConfig().createJbpmContext();
+ } //________________________________
+ protected void cleanupJbpm()
+ {
+ if (null!=_jbpmCtx) _jbpmCtx.close();
+ _jbpmCtx = null;
+ _processInstance= null;
+ _token = null;
+ } //________________________________
+
+ /**
+ * Encapsulate obtention of jBPM configuration here.
+ * <br/>If it can't be cached, we only need to change this method.
+ * @return JbpmConfiguration
+ */
+ protected static JbpmConfiguration getJbpmConfig()
+ {
+ if (null== s_jbpmConfig)
+ synchronized (s_oSynch)
+ {
+ if (null==s_jbpmConfig)
+ s_jbpmConfig = JbpmConfiguration.getInstance();
+ }
+ return s_jbpmConfig;
+ } //________________________________
+
+ protected ConfigTree _config;
+ protected CommandVehicle _command;
+ private static final Object s_oSynch = new Integer(0);
+ private static JbpmConfiguration s_jbpmConfig;
+ protected JbpmContext _jbpmCtx;
+ protected ProcessInstance _processInstance;
+ protected Token _token;
+
+ protected static Logger _logger = Logger.getLogger(CommandInterpreter.class);
+}
Copied: labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/util (from rev 10851, labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/jbpm/util)
Copied: labs/jbossesb/trunk/product/services/jbpm/src/test (from rev 10851, labs/jbossesb/trunk/product/services/jbpm/test)
Modified: labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/util/CommandVehicleUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/test/java/org/jboss/soa/esb/services/jbpm/util/CommandVehicleUnitTest.java 2007-04-10 14:44:49 UTC (rev 10851)
+++ labs/jbossesb/trunk/product/services/jbpm/src/test/java/org/jboss/soa/esb/services/jbpm/util/CommandVehicleUnitTest.java 2007-04-10 15:03:07 UTC (rev 10852)
@@ -30,7 +30,7 @@
import junit.framework.TestCase;
import org.apache.log4j.Logger;
-import org.jboss.soa.esb.jbpm.util.CommandVehicle;
+import org.jboss.soa.esb.services.jbpm.util.CommandVehicle;
import org.jboss.soa.esb.message.Message;
import org.jbpm.graph.def.ProcessDefinition;
More information about the jboss-svn-commits
mailing list