[jboss-svn-commits] JBL Code SVN: r38147 - in labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb: services/jbpm5 and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 19 13:07:14 EDT 2012
Author: tcunning
Date: 2012-07-19 13:07:14 -0400 (Thu, 19 Jul 2012)
New Revision: 38147
Added:
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessConstants.java
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessType.java
Removed:
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/service/
Modified:
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/AbstractBpm5Action.java
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Callback.java
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Processor.java
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/workitem/esb/ESBActionWorkItemHandler.java
Log:
JBESB-3830
Add SIGNAL_EVENT, remove a duplicated method, and configure replyToOriginator.
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/AbstractBpm5Action.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/AbstractBpm5Action.java 2012-07-19 16:51:04 UTC (rev 38146)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/AbstractBpm5Action.java 2012-07-19 17:07:14 UTC (rev 38147)
@@ -40,7 +40,7 @@
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.service.jbpm5.model.ProcessConstants;
+import org.jboss.soa.esb.services.jbpm5.model.ProcessConstants;
import org.jboss.soa.esb.util.ClassUtil;
import org.jboss.soa.esb.workitem.esb.ESBActionWorkItemHandler;
import org.jboss.soa.esb.workitem.esb.ESBServiceWorkItemHandler;
@@ -123,25 +123,6 @@
kbase = kbuilder.newKnowledgeBase();
}
- /**
- * Verify that the process action matches one of the valid process action values.
- * @param processAction process action
- * @throws ConfigurationException
- */
- public void verifyProcessAction(String processAction) throws ConfigurationException
- {
- if ((ProcessConstants.ABORT_PROCESS_INSTANCE_TYPE.equals(processAction)) ||
- (ProcessConstants.START_PROCESS_TYPE.equals(processAction))) {
- return;
- } else {
- throw new ConfigurationException("Process action " + processAction +
- "does not match valid process actions (" +
- ProcessConstants.START_PROCESS_TYPE + ", " +
- ProcessConstants.ABORT_PROCESS_INSTANCE_TYPE + ")");
- }
-
- }
-
public WorkItemHandler getHandler(StatefulKnowledgeSession session) throws ClassNotFoundException,
NoSuchMethodException, IllegalAccessException, InstantiationException,
InvocationTargetException {
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Callback.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Callback.java 2012-07-19 16:51:04 UTC (rev 38146)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Callback.java 2012-07-19 17:07:14 UTC (rev 38147)
@@ -12,7 +12,7 @@
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Body;
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.service.jbpm5.model.ProcessConstants;
+import org.jboss.soa.esb.services.jbpm5.model.ProcessConstants;
import org.apache.log4j.Logger;
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Processor.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Processor.java 2012-07-19 16:51:04 UTC (rev 38146)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Processor.java 2012-07-19 17:07:14 UTC (rev 38147)
@@ -35,12 +35,12 @@
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Body;
import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.jbpm5.model.ProcessConstants;
+import org.jboss.soa.esb.services.jbpm5.model.ProcessType;
import org.jboss.soa.esb.services.security.SecurityContext;
import org.jboss.soa.esb.services.security.SecurityService;
import org.jboss.soa.esb.services.security.auth.AuthenticationRequestImpl;
-import org.jboss.soa.esb.service.jbpm5.model.ProcessType;
-import org.jboss.soa.esb.service.jbpm5.model.ProcessConstants;
import org.drools.runtime.process.ProcessInstance;
@@ -77,6 +77,7 @@
public void verifyProcessAction(String processAction) throws ConfigurationException
{
if ((ProcessConstants.ABORT_PROCESS_INSTANCE_TYPE.equals(processAction)) ||
+ (ProcessConstants.SIGNAL_EVENT_TYPE.equals(processAction)) ||
(ProcessConstants.START_PROCESS_TYPE.equals(processAction))) {
return;
} else {
@@ -103,20 +104,45 @@
int sessionId = ksession.getId();
switch (processType) {
case START_PROCESS:
- logger.info(ProcessConstants.START_PROCESS_TYPE);
+ logger.debug(ProcessConstants.START_PROCESS_TYPE);
Map<String, Object> params = BpmParameterMapper.mapPropertiesToParams(message, configTree);
- params.put(ProcessConstants.SESSION_ID, Integer.toString(sessionId));
- processInstance = ksession.startProcess(processId, params);
+ try {
+ params.remove(ProcessConstants.SESSION_ID);
+ params.put(ProcessConstants.SESSION_ID, Integer.toString(sessionId));
+ } catch (Exception e) {
+ logger.error("", e);
+ }
+ processInstance = ksession.startProcess(processId, params);
processInstanceId = Long.valueOf(processInstance.getId());
final Call call = message.getHeader().getCall() ;
setEPR(message.getBody(), ProcessConstants.REPLY_TO, getEPR(call.getReplyTo())) ;
setEPR(message.getBody(), ProcessConstants.FAULT_TO, getEPR(call.getFaultTo())) ;
-
break;
+ case SIGNAL_EVENT:
+ logger.debug(ProcessConstants.SIGNAL_EVENT_TYPE);
+ Map<String, Object> eventParams = BpmParameterMapper.mapPropertiesToParams(message, configTree);
+ try {
+ eventParams.remove(ProcessConstants.SESSION_ID);
+ eventParams.remove(ProcessConstants.PROCESS_EVENT);
+ eventParams.put(ProcessConstants.PROCESS_EVENT, message.getProperties().getProperty(ProcessConstants.PROCESS_EVENT));
+ eventParams.put(ProcessConstants.SESSION_ID, Integer.toString(sessionId));
+ } catch (Exception e) {
+ logger.error("", e);
+ }
+
+ String processEventType = (String) message.getProperties().getProperty(ProcessConstants.PROCESS_EVENT_TYPE);
+ processInstanceId = getProcessInstanceId(message);
+ if (processInstanceId != null) {
+ ksession.signalEvent(processEventType, eventParams, processInstanceId.longValue());
+ } else {
+ throw new ActionProcessingException(ProcessConstants.SIGNAL_EVENT_TYPE
+ + ": tried to signal event and process id was null");
+ }
+ break;
case ABORT_PROCESS_INSTANCE:
- logger.info(ProcessConstants.ABORT_PROCESS_INSTANCE_TYPE);
+ logger.debug(ProcessConstants.ABORT_PROCESS_INSTANCE_TYPE);
processInstanceId = getProcessInstanceId(message);
if (processInstanceId != null) {
Added: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessConstants.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessConstants.java (rev 0)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessConstants.java 2012-07-19 17:07:14 UTC (rev 38147)
@@ -0,0 +1,65 @@
+/*
+ * 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.jbpm5.model;
+
+/**
+ * Constants used in the BPM5Processor.
+ *
+ * @author <a href="mailto:tcunning at redhat.com">tcunning at redhat.com</a>
+ * @since Version 4.11
+ */
+public class ProcessConstants {
+ /* EPR reply/fault */
+ public static final String EPR_REPLY = "reply" ;
+ public static final String EPR_FAULT = "fault" ;
+ public static final String REPLY_TO = "jbpmReplyTo";
+ public static final String FAULT_TO = "jbpmFaultTo";
+
+
+ /* Process Types */
+ public static final String START_PROCESS_TYPE = "startProcess";
+ public static final String SIGNAL_EVENT_TYPE = "signalEvent";
+ public static final String ABORT_PROCESS_INSTANCE_TYPE = "abortProcessInstance";
+
+ /* Events */
+ public static final String PROCESS_EVENT_TYPE = "processEventType";
+ public static final String PROCESS_EVENT = "processEvent";
+
+ /* Handler Class properties */
+ public static final String PROCESS_HANDLER_CLASS = "processHandlerClass";
+ public static final String PROCESS_HANDLER_HOST = "processHandlerHost";
+ public static final String PROCESS_HANDLER_PORT = "processHandlerPort";
+
+ /* Tags */
+ public static final String PROCESS_DEFINITION_NAME = "process-definition-name";
+ public static final String PROCESS_ID = "process-id";
+ public static final String PROCESS_COMMAND = "command";
+ public static final String PROCESS_ACTION = "process-action";
+ public static final String ESB_TO_BPM_PARAMS = "esbToBpmParams";
+ public static final String ENTITY_FACTORY_NAME = "entityFactoryName";
+
+ /* Message context properties */
+ public static final String SESSION_ID = "jbpm5-session-id";
+ public static final String PROCESS_INSTANCE_ID = "jbpm5-processinstance-id";
+ public static final String WORK_ITEM_ID = "jbpmWorkItemId";
+
+}
Added: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessType.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessType.java (rev 0)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessType.java 2012-07-19 17:07:14 UTC (rev 38147)
@@ -0,0 +1,70 @@
+/*
+ * 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.jbpm5.model;
+
+/**
+ * Process type enum.
+ *
+ * @author <a href="mailto:tcunning at redhat.com">tcunning at redhat.com</a>
+ * @since Version 4.11
+ */
+public enum ProcessType {
+ /** startProcess . */
+ START_PROCESS(ProcessConstants.START_PROCESS_TYPE),
+ /** signalEvent . */
+ SIGNAL_EVENT(ProcessConstants.SIGNAL_EVENT_TYPE),
+ /** abortProcessInstance . */
+ ABORT_PROCESS_INSTANCE(ProcessConstants.ABORT_PROCESS_INSTANCE_TYPE);
+
+ private final String _action;
+
+ /**
+ * Constructs a new ProcessActionType with the specified action.
+ * @param action the action
+ */
+ ProcessType(String action) {
+ _action = action;
+ }
+
+ /**
+ * Gets the action.
+ * @return the action
+ */
+ public String action() {
+ return _action;
+ }
+
+ /**
+ * Gets the ProcessActionType matching the specified action.
+ * @param action the action
+ * @return the matching ProcessActionType
+ */
+ public static ProcessType fromAction(String action) {
+ for (ProcessType pat : values()) {
+ if (pat.action().equals(action)) {
+ return pat;
+ }
+ }
+ return null;
+ }
+
+}
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/workitem/esb/ESBActionWorkItemHandler.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/workitem/esb/ESBActionWorkItemHandler.java 2012-07-19 16:51:04 UTC (rev 38146)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/workitem/esb/ESBActionWorkItemHandler.java 2012-07-19 17:07:14 UTC (rev 38147)
@@ -46,7 +46,7 @@
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.service.jbpm5.model.ProcessConstants;
+import org.jboss.soa.esb.services.jbpm5.model.ProcessConstants;
public class ESBActionWorkItemHandler implements WorkItemHandler {
@@ -80,7 +80,10 @@
jbpmSessionId = (String) workItem.getParameter("jbpm5-session-id");
callbackCategoryName = (String) workItem.getParameter("CallbackServiceCategory");
callbackServiceName = (String) workItem.getParameter("CallbackServiceName");
-
+ if (! "".equals(workItem.getParameter("replyToOriginator"))) {
+ replyToOriginator = (String) workItem.getParameter("replyToOriginator");
+ }
+
if (replyToOriginator != null) {
if (!(ProcessConstants.EPR_REPLY.equals(replyToOriginator)
|| ProcessConstants.EPR_FAULT.equals(replyToOriginator))) {
More information about the jboss-svn-commits
mailing list