[jbpm-commits] JBoss JBPM SVN: r4866 - in jbpm4/trunk/modules: api/src/main/java/org/jbpm/api/activity and 25 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu May 21 03:42:27 EDT 2009
Author: tom.baeyens at jboss.com
Date: 2009-05-21 03:42:27 -0400 (Thu, 21 May 2009)
New Revision: 4866
Removed:
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/task/notification/
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/notification/
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskAssign.java
Modified:
jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ExecutionService.java
jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/activity/ExternalActivityBehaviour.java
jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/client/ClientExecution.java
jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/model/OpenExecution.java
jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/task/OpenTask.java
jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/task/TaskHandler.java
jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/custom/WaitState.java
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/mail/template/TemplateMailTest.java
jbpm4/trunk/modules/examples/src/test/resources/jbpm.mail.templates.examples.xml
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/mail/template/process.jpdl.xml
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/GroupActivity.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailBinding.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StateActivity.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SignalCmd.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceInLatestCmd.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/VariablesCmd.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/AttachmentTemplate.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/MailProducerImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/MailSessionImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ScopeInstanceImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/Signal.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/ExecutionServiceImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/LifeCycleState.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MailTemplateBinding.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/activities/WaitState.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/executionmode/embedded/WaitState.java
jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java
jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/WaitState.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/AutomaticDecisionTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/BasicExecutionFlowTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/EventTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExceptionHandlerTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExecutionStateTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExternalDecisionTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/FunctionalActivityTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/LoopingTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeStateTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeVariableDeclarationTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeVariableTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/SubProcessTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/VariableTest.java
jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/WaitState.java
Log:
JBPM-2254 rolling back r4865. build broken and not discussed api change.
Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ExecutionService.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ExecutionService.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/ExecutionService.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -70,14 +70,14 @@
* @param variables are the initial values of the process variables that
* will be set before the execution starts (read: before the initial
* activity is executed). */
- ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, ?> variables);
+ ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, Object> variables);
/** starts a new process instance in the latest version of the given processDefinitionName.
* @param processDefinitionKey is the key of the process definition for which the latest version will be taken.
* @param variables are the initial values of the process variables that will be set before the execution starts.
* @param processInstanceKey is a user provided reference for the new execution that must be unique over all
* process versions with the same name. */
- ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, ?> variables, String processInstanceKey);
+ ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, Object> variables, String processInstanceKey);
/** the path of execution that is uniquely defined by the execution id. */
Execution findExecutionById(String executionId);
@@ -92,10 +92,10 @@
ProcessInstance signalExecutionById(String executionId, String signalName);
/** provides a named external trigger to an execution with parameters. */
- ProcessInstance signalExecutionById(String executionId, String signalName, Map<String, ?> parameters);
+ ProcessInstance signalExecutionById(String executionId, String signalName, Map<String, Object> parameters);
/** provides a external trigger to an execution with parameters. */
- ProcessInstance signalExecutionById(String executionId, Map<String, ?> parameters);
+ ProcessInstance signalExecutionById(String executionId, Map<String, Object> parameters);
/** search for process instances with criteria */
@@ -105,7 +105,7 @@
void setVariable(String executionId, String name, Object value);
/** creates or overwrites the variable values on the referenced execution */
- void setVariables(String executionId, Map<String, ?> variables);
+ void setVariables(String executionId, Map<String, Object> variables);
/** retrieves a variable */
Object getVariable(String executionId, String variableName);
Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/activity/ExternalActivityBehaviour.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/activity/ExternalActivityBehaviour.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/activity/ExternalActivityBehaviour.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -64,5 +64,5 @@
* considered non recoverable. After an Exception, the execution should not be
* used any more and if this is during a transaction, the transaction should be
* rolled back. */
- void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) throws Exception;
+ void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) throws Exception;
}
Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/client/ClientExecution.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/client/ClientExecution.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/client/ClientExecution.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -94,7 +94,7 @@
*
* @see #signal() See the unnamed signal for more information
*/
- void signal(Map<String, ?> parameters);
+ void signal(Map<String, Object> parameters);
/** feeds a named {@link #signal() external trigger} into the execution with parameters.
*
@@ -111,7 +111,7 @@
*
* @see #signal() See the unnamed signal for more information
*/
- void signal(String signalName, Map<String, ?> parameters);
+ void signal(String signalName, Map<String, Object> parameters);
/** feeds a external trigger into the given execution.
*
@@ -154,7 +154,7 @@
*
* @see #signal() See the unnamed signal for more information
*/
- void signal(Map<String, ?> parameters, Execution execution);
+ void signal(Map<String, Object> parameters, Execution execution);
/** feeds a named {@link #signal() external trigger} into a given execution with parameters.
*
@@ -171,7 +171,7 @@
*
* @see #signal() See the unnamed signal for more information
*/
- void signal(String signalName, Map<String, ?> parameters, Execution execution);
+ void signal(String signalName, Map<String, Object> parameters, Execution execution);
/** suspends this execution and all it's child executions. Human tasks
Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/model/OpenExecution.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/model/OpenExecution.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/model/OpenExecution.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -21,6 +21,7 @@
*/
package org.jbpm.api.model;
+import java.util.Collection;
import java.util.Map;
import java.util.Set;
@@ -28,6 +29,7 @@
import org.jbpm.api.JbpmException;
import org.jbpm.api.job.Timer;
+
/** execution that opens up access to the related
* objects in the execution and process definition
* model.
@@ -76,7 +78,7 @@
* variables will <b>not</b> be removed.
* @throws JbpmException is variables is not null and if null is present
* as a key in the provided variables map. */
- void setVariables(Map<String, ?> variables);
+ void setVariables(Map<String, Object> variables);
/** indicates presenve of the given key.
* No exception will be thrown if key is null.
Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/task/OpenTask.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/task/OpenTask.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/task/OpenTask.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -37,9 +37,6 @@
/** fires a history event that marks the start of this task. */
void historyTaskStart();
- /** fires a history event that marks the assignment of this task. */
- void historyTaskAssign(String userId);
-
/** fires a history event that marks the completion of this task. */
void historyTaskComplete(String outcome);
Modified: jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/task/TaskHandler.java
===================================================================
--- jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/task/TaskHandler.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/api/src/main/java/org/jbpm/api/task/TaskHandler.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -21,6 +21,7 @@
*/
package org.jbpm.api.task;
+
/** for advanced task customization.
*
* The default implementation can be found in {@link DefaultTaskHandler}.
@@ -29,7 +30,7 @@
*/
public class TaskHandler {
- /** called after the task is created according
+ /** is called after the task is created according
* to the task definition. This method allows to
* create subtasks.
* @return indicates if the process execution should wait. */
@@ -38,7 +39,7 @@
return true;
}
- /** called when the related execution gets a
+ /** is called when the related execution gets a
* signal. this method must either
* {@link OpenTask#setSignalling(boolean) remove signalling} from this task
* or {@link OpenTask#cancel(String) cancel} it. */
@@ -46,17 +47,12 @@
task.setSignalling(false);
}
- /** called when the given task is assigned to an actor. */
- public void taskAssign(OpenTask task, String userId) {
- task.historyTaskAssign(userId);
- }
-
- /** called when the given task is cancelled. */
+ /** is called when this task is cancelled. */
public void taskCancel(OpenTask task, String reason) {
task.historyTaskCancel(reason);
}
- /** called when the given task completes. The default behaviour
+ /** is called when this task completes. The default behaviour
* will send a signal to the execution if this task is still signalling. */
public void taskComplete(OpenTask task, String outcome) {
task.historyTaskComplete(outcome);
Modified: jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/custom/WaitState.java
===================================================================
--- jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/custom/WaitState.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/internal/custom/WaitState.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -39,7 +39,7 @@
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters)
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters)
throws Exception {
if (parameters != null) {
execution.setVariables(parameters);
Modified: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/mail/template/TemplateMailTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/mail/template/TemplateMailTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/mail/template/TemplateMailTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -98,7 +98,7 @@
// start process instance
executionService.startProcessInstanceByKey("TemplateMail", variables);
- // examine produced messages
+ // examine produced message
List<WiserMessage> wisMessages = wiser.getMessages();
// winston, bb, innerparty(obrien), thinkpol(charr, obrien)
assertEquals(5, wisMessages.size());
Modified: jbpm4/trunk/modules/examples/src/test/resources/jbpm.mail.templates.examples.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/jbpm.mail.templates.examples.xml 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/examples/src/test/resources/jbpm.mail.templates.examples.xml 2009-05-21 07:42:27 UTC (rev 4866)
@@ -4,29 +4,7 @@
<process-engine-context>
- <mail-template name='task-notification'>
- <to users="${task.assignee}"/>
- <subject>${task.name}</subject>
- <text><![CDATA[Hi ${task.assignee},
-Task "${task.name}" has been assigned to you.
-${task.description}
-
-Sent by JBoss jBPM
-]]></text>
- </mail-template>
-
- <mail-template name='task-reminder'>
- <to users="${task.assignee}"/>
- <subject>${task.name}</subject>
- <text><![CDATA[Hey ${task.assignee},
-Do not forget about task "${task.name}".
-${task.description}
-
-Sent by JBoss jBPM
-]]></text>
- </mail-template>
-
- <mail-template name="rectify-template">
+ <mail-template name="rectify template">
<to addresses="${addressee}" />
<cc users="bb" groups="innerparty" />
<bcc groups="thinkpol" />
Modified: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/mail/template/process.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/mail/template/process.jpdl.xml 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/mail/template/process.jpdl.xml 2009-05-21 07:42:27 UTC (rev 4866)
@@ -6,7 +6,7 @@
<transition to="send rectify note" />
</start>
- <mail name="send rectify note" template="rectify-template">
+ <mail name="send rectify note" template="rectify template">
<transition to="end" />
</mail>
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/GroupActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/GroupActivity.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/GroupActivity.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -83,7 +83,7 @@
return startActivities;
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) throws Exception {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) throws Exception {
Transition transition = null;
Activity activity = execution.getActivity();
List<Transition> outgoingTransitions = activity.getOutgoingTransitions();
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailBinding.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/MailBinding.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -23,7 +23,14 @@
import org.w3c.dom.Element;
-import org.jbpm.jpdl.internal.xml.JpdlParser;
+import org.jbpm.api.env.Environment;
+import org.jbpm.pvm.internal.email.impl.MailProducerImpl;
+import org.jbpm.pvm.internal.email.impl.MailTemplate;
+import org.jbpm.pvm.internal.email.impl.MailTemplateRegistry;
+import org.jbpm.pvm.internal.email.spi.MailProducer;
+import org.jbpm.pvm.internal.util.XmlUtil;
+import org.jbpm.pvm.internal.wire.binding.MailTemplateBinding;
+import org.jbpm.pvm.internal.wire.binding.ObjectBinding;
import org.jbpm.pvm.internal.xml.Parse;
import org.jbpm.pvm.internal.xml.Parser;
@@ -32,13 +39,48 @@
*/
public class MailBinding extends JpdlBinding {
+ private static final ObjectBinding objectBinding = new ObjectBinding();
+ private static final MailTemplateBinding templateBinding = new MailTemplateBinding();
+
public MailBinding() {
super("mail");
}
public Object parse(Element element, Parse parse, Parser parser) {
MailActivity activity = new MailActivity();
- activity.setMailProducer(JpdlParser.parseMailProducer(element, parse, null));
+ activity.setMailProducer(parseProducer(element, parse, parser));
return activity;
}
+
+ protected MailProducer parseProducer(Element element, Parse parse, Parser parser) {
+ // check whether the element is a generic object descriptor
+ if (ObjectBinding.isObjectDescriptor(element)) {
+ return (MailProducer) objectBinding.parse(element, parse, parser);
+ }
+
+ // parse the default producer
+ MailProducerImpl mailProducer = new MailProducerImpl();
+ mailProducer.setTemplate(parseTemplate(element, parse, parser));
+ return mailProducer;
+ }
+
+ protected MailTemplate parseTemplate(Element element, Parse parse, Parser parser) {
+ MailTemplate template;
+
+ // look for template reference
+ String templateName = XmlUtil.attribute(element, "template");
+ if (templateName != null) {
+ // load template from configuration
+ MailTemplateRegistry templateRegistry = Environment.getFromCurrent(MailTemplateRegistry.class);
+ template = templateRegistry.getTemplate(templateName);
+ if (template == null) {
+ parse.addProblem("mail template not found: " + templateName, element);
+ }
+ }
+ else {
+ // parse inline template
+ template = templateBinding.parseMailTemplate(element, parse, parser);
+ }
+ return template;
+ }
}
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StateActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StateActivity.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StateActivity.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -40,7 +40,7 @@
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
Activity activity = execution.getActivity();
if (parameters!=null) {
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/SubProcessActivity.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -87,7 +87,7 @@
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
JpdlExecution jpdlExecution = execution.getExtension(JpdlExecution.class);
ExecutionImpl subProcessInstance = jpdlExecution.getSubProcessInstance();
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -61,7 +61,7 @@
}
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
Activity activity = execution.getActivity();
if (parameters!=null) {
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -38,10 +38,6 @@
import org.jbpm.internal.log.Log;
import org.jbpm.jpdl.internal.activity.JpdlBinding;
import org.jbpm.jpdl.internal.model.JpdlProcessDefinition;
-import org.jbpm.pvm.internal.email.impl.MailProducerImpl;
-import org.jbpm.pvm.internal.email.impl.MailTemplate;
-import org.jbpm.pvm.internal.email.impl.MailTemplateRegistry;
-import org.jbpm.pvm.internal.email.spi.MailProducer;
import org.jbpm.pvm.internal.model.ActivityCoordinatesImpl;
import org.jbpm.pvm.internal.model.ActivityImpl;
import org.jbpm.pvm.internal.model.CompositeElementImpl;
@@ -62,10 +58,6 @@
import org.jbpm.pvm.internal.util.ReflectUtil;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.wire.Descriptor;
-import org.jbpm.pvm.internal.wire.WireContext;
-import org.jbpm.pvm.internal.wire.WireDefinition;
-import org.jbpm.pvm.internal.wire.binding.MailTemplateBinding;
-import org.jbpm.pvm.internal.wire.binding.ObjectBinding;
import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
import org.jbpm.pvm.internal.wire.operation.Operation;
import org.jbpm.pvm.internal.wire.xml.WireParser;
@@ -469,13 +461,6 @@
JpdlParser.parseAssignmentAttributes(element, taskDefinition, parse);
- // parse notification mail producer
- Element notificationElement = XmlUtil.element(element, "notification");
- if (notificationElement != null) {
- MailProducer mailProducer = parseMailProducer(notificationElement, parse, "task-notification");
- taskDefinition.setNotificationMailProducer(mailProducer);
- }
-
return taskDefinition;
}
@@ -567,49 +552,4 @@
return variableOutDefinitionSet;
}
- public static MailProducer parseMailProducer(Element element, Parse parse,
- String defaultTemplateName) {
- // check whether the element is a generic object descriptor
- if (ObjectBinding.isObjectDescriptor(element)) {
- // TODO test custom mail producer
- ObjectDescriptor objectDescriptor = parseObjectDescriptor(element, parse);
- WireDefinition wireDefinition = parse.findObject(WireDefinition.class);
- return (MailProducer) objectDescriptor.construct(new WireContext(wireDefinition));
- }
-
- // parse the default producer
- MailProducerImpl mailProducer = new MailProducerImpl();
- mailProducer.setTemplate(parseMailTemplate(element, parse, defaultTemplateName));
- return mailProducer;
- }
-
- private static MailTemplate parseMailTemplate(Element element, Parse parse,
- String defaultTemplateName) {
- if (element.hasAttribute("template")) {
- // fetch template from configuration
- return findTemplate(element, parse, element.getAttribute("template"));
- }
- if (!XmlUtil.isTextOnly(element)) {
- // parse inline template
- return MailTemplateBinding.parseMailTemplate(element, parse);
- }
- if (defaultTemplateName != null) {
- // fetch default template
- return findTemplate(element, parse, defaultTemplateName);
- }
- parse.addProblem("mail template must be referenced in the 'template' attribute "
- + "or specified inline", element);
- return null;
- }
-
- private static MailTemplate findTemplate(Element element, Parse parse, String templateName) {
- MailTemplateRegistry templateRegistry = Environment.getFromCurrent(MailTemplateRegistry.class);
- if (templateRegistry != null) {
- MailTemplate template = templateRegistry.getTemplate(templateName);
- if (template != null) return template;
- }
- parse.addProblem("mail template not found: " + templateName, element);
- return null;
- }
-
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SignalCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SignalCmd.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/SignalCmd.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -38,9 +38,9 @@
protected String executionId;
protected String signalName;
- protected Map<String, ?> parameters;
+ protected Map<String, Object> parameters;
- public SignalCmd(String executionId, String signalName, Map<String, ?> parameters) {
+ public SignalCmd(String executionId, String signalName, Map<String, Object> parameters) {
if (executionId==null) {
throw new JbpmException("executionId is null");
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceInLatestCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceInLatestCmd.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/StartProcessInstanceInLatestCmd.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -25,12 +25,14 @@
import org.hibernate.Session;
import org.jbpm.api.JbpmException;
+import org.jbpm.api.ProcessDefinitionQuery;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.client.ClientProcessDefinition;
import org.jbpm.api.client.ClientProcessInstance;
import org.jbpm.api.env.Environment;
import org.jbpm.api.session.RepositorySession;
+
/**
* @author Tom Baeyens
*/
@@ -41,13 +43,13 @@
protected String processDefinitionKey;
protected String executionKey;
- public StartProcessInstanceInLatestCmd(String processDefinitionKey, Map<String, ?> variables, String executionKey) {
+ public StartProcessInstanceInLatestCmd(String processDefinitionKey, Map<String, Object> variables, String executionKey) {
if (processDefinitionKey==null) {
throw new JbpmException("processDefinitionKey is null");
}
this.processDefinitionKey = processDefinitionKey;
+ this.variables = variables;
this.executionKey = executionKey;
- setVariables(variables);
}
public ProcessInstance execute(Environment environment) throws Exception {
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/VariablesCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/VariablesCmd.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/VariablesCmd.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -36,32 +36,28 @@
private static final long serialVersionUID = 1L;
- protected Map<String, ?> variables;
- private Map<String, Object> internalMap;
+ protected Map<String, Object> variables;
public void addVariable(String key, Object variable) {
- if (internalMap == null) {
- if (variables != null) {
- throw new JbpmException("variables were set externally");
- }
- variables = internalMap = new HashMap<String, Object>();
+ if (variables==null) {
+ variables = new HashMap<String, Object>();
}
- internalMap.put(key, variable);
+ variables.put(key, variable);
}
- public Map<String, ?> getVariables() {
+ public Map<String, Object> getVariables() {
return variables;
}
- public void setVariables(Map<String, ?> variables) {
+ public void setVariables(Map<String, Object> variables) {
this.variables = variables;
}
-
+
protected ClientExecution getExecution(Environment environment, String executionId) {
PvmDbSession dbSession = environment.get(PvmDbSession.class);
ClientExecution execution = dbSession.findExecutionById(executionId);
- if (execution == null) {
- throw new JbpmException("execution " + executionId + " doesn't exist");
+ if (execution==null) {
+ throw new JbpmException("execution "+executionId+" doesn't exist");
}
return execution;
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/AttachmentTemplate.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/AttachmentTemplate.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/AttachmentTemplate.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -21,6 +21,8 @@
*/
package org.jbpm.pvm.internal.email.impl;
+import java.net.URL;
+
/**
* @author Alejandro Guizar
*/
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/MailProducerImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/MailProducerImpl.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/MailProducerImpl.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -83,16 +83,9 @@
return new MimeMessage((Session) null);
}
- /**
- * Fills the <code>from</code> attribute of the given email. The sender addresses are an optional
- * element in the mail template. If absent, each mail server supplies the current user's email
- * address.
- *
- * @see {@link InternetAddress#getLocalAddress(Session)}
- */
protected void fillFrom(Execution execution, Message email) {
AddressTemplate fromTemplate = template.getFrom();
- // "from" attribute is optional
+ // from field is optional; if absent, each mail server will supply its "local address"
if (fromTemplate == null) return;
// resolve and parse addresses
@@ -136,10 +129,7 @@
}
private String[] tokenizeActors(String recipients, Execution execution) {
- String[] actors = evaluateExpression(recipients, execution).split("[,|\\s]+");
- if (actors.length == 0)
- throw new JbpmException("recipient list is empty: " + recipients);
- return actors;
+ return evaluateExpression(recipients, execution).split("[,|\\s]+");
}
/** construct recipient addresses from user entities */
@@ -229,20 +219,16 @@
}
protected void fillSubject(Execution execution, Message email) {
- String subject = template.getSubject();
- if (subject != null) {
- subject = evaluateExpression(subject, execution);
- try {
- email.setSubject(subject);
- }
- catch (MessagingException e) {
- throw new JbpmException("failed to set subject to " + subject, e);
- }
+ String subject = evaluateExpression(template.getSubject(), execution);
+ try {
+ email.setSubject(subject);
}
+ catch (MessagingException e) {
+ throw new JbpmException("failed to set subject to " + subject, e);
+ }
}
protected void fillContent(Execution execution, Message email) {
- String text = template.getText();
String html = template.getHtml();
List<AttachmentTemplate> attachmentTemplates = template.getAttachmentTemplates();
@@ -251,9 +237,9 @@
Multipart multipart = new MimeMultipart("related");
// text
- if (text != null) {
+ if (template.getText() != null) {
BodyPart textPart = new MimeBodyPart();
- text = evaluateExpression(text, execution);
+ String text = evaluateExpression(template.getText(), execution);
try {
textPart.setText(text);
multipart.addBodyPart(textPart);
@@ -288,9 +274,9 @@
throw new JbpmException("failed to set multipart content: " + multipart, e);
}
}
- else if (text != null) {
+ else {
// unipart
- text = evaluateExpression(text, execution);
+ String text = evaluateExpression(template.getText(), execution);
try {
email.setText(text);
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/MailSessionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/MailSessionImpl.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/impl/MailSessionImpl.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -10,6 +10,7 @@
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
import org.jbpm.api.JbpmException;
import org.jbpm.pvm.internal.email.spi.MailSession;
Deleted: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskAssign.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskAssign.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskAssign.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, 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.jbpm.pvm.internal.history.events;
-
-import org.jbpm.pvm.internal.history.HistoryEvent;
-
-/**
- * @author Alejandro Guizar
- */
-public class TaskAssign extends HistoryEvent {
-
- private static final long serialVersionUID = 1L;
-
- protected String userId;
-
- public TaskAssign(String userId) {
- this.userId = userId;
- }
-
- @Override
- public void process() {
- // TODO
- }
-
-}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -21,10 +21,9 @@
*/
package org.jbpm.pvm.internal.identity.impl;
-import java.util.Arrays;
import java.util.List;
-import org.hibernate.Criteria;
+import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
@@ -40,8 +39,7 @@
protected Session session;
- public String createUser(String userName, String givenName, String familyName,
- String businessEmail) {
+ public String createUser(String userName, String givenName, String familyName, String businessEmail) {
UserImpl user = new UserImpl(userName, givenName, familyName);
user.setBusinessEmail(businessEmail);
session.save(user);
@@ -56,11 +54,7 @@
}
public List<User> findUsersById(String... userIds) {
- List users = session.createCriteria(UserImpl.class).add(Restrictions.in("id", userIds)).list();
- if (userIds.length != users.size()) {
- throw new JbpmException("not all users were found: " + Arrays.toString(userIds));
- }
- return users;
+ return session.createCriteria(UserImpl.class).add(Restrictions.in("id", userIds)).list();
}
public List<User> findUsers() {
@@ -72,9 +66,12 @@
User user = findUserById(userId);
// cascade the deletion to the memberships
- List<MembershipImpl> memberships = session.createCriteria(MembershipImpl.class)
- .add(Restrictions.eq("user", user))
- .list();
+ Query query = session.createQuery("from "
+ + MembershipImpl.class.getName()
+ + " as m "
+ + "where m.user is :user");
+ query.setEntity("user", user);
+ List<MembershipImpl> memberships = query.list();
// delete the related memberships
for (MembershipImpl membership : memberships) {
@@ -111,33 +108,43 @@
}
public GroupImpl findGroupById(String groupId) {
- return (GroupImpl) session.createCriteria(GroupImpl.class)
- .add(Restrictions.eq("id", groupId))
- .uniqueResult();
+ GroupImpl group = (GroupImpl) session.createQuery("select group "
+ + "from "
+ + GroupImpl.class.getName()
+ + " as group "
+ + "where group.id = '"
+ + groupId
+ + "'").uniqueResult();
+ return group;
}
public List<Group> findGroupsByUserAndGroupType(String userId, String groupType) {
- return session.createCriteria(MembershipImpl.class)
- .createAlias("user", "u")
- .createAlias("group", "g")
- .add(Restrictions.eq("u.id", userId))
- .add(Restrictions.eq("g.type", groupType))
- .setProjection(Projections.property("group"))
- .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
- .list();
+ Query query = session.createQuery("select distinct membership.group "
+ + "from "
+ + MembershipImpl.class.getName()
+ + " as membership "
+ + "where membership.user.id = '"
+ + userId
+ + "'"
+ + " and membership.group.type = '"
+ + groupType
+ + "'");
+ return query.list();
}
public List<Group> findGroupsByUser(String userId) {
- return session.createCriteria(MembershipImpl.class)
- .createAlias("user", "u")
- .add(Restrictions.eq("u.id", userId))
- .setProjection(Projections.property("group"))
- .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
- .list();
+ Query query = session.createQuery("select distinct membership.group "
+ + "from "
+ + MembershipImpl.class.getName()
+ + " as membership "
+ + "where membership.user.id = '"
+ + userId
+ + "'");
+ return query.list();
}
public List<Group> findGroups() {
- return session.createCriteria(GroupImpl.class).list();
+ return session.createQuery("from " + GroupImpl.class.getName()).list();
}
public void deleteGroup(String groupId) {
@@ -145,9 +152,12 @@
GroupImpl group = findGroupById(groupId);
// cascade the deletion to the memberships
- List<MembershipImpl> memberships = session.createCriteria(MembershipImpl.class)
- .add(Restrictions.eq("group", group))
- .list();
+ Query query = session.createQuery("from "
+ + MembershipImpl.class.getName()
+ + " as m "
+ + "where m.group is :group");
+ query.setEntity("group", group);
+ List<MembershipImpl> memberships = query.list();
// delete the related memberships
for (MembershipImpl membership : memberships) {
@@ -163,7 +173,7 @@
if (user == null) {
throw new JbpmException("user " + userId + " doesn't exist");
}
- Group group = findGroupById(groupId);
+ GroupImpl group = findGroupById(groupId);
if (group == null) {
throw new JbpmException("group " + groupId + " doesn't exist");
}
@@ -177,13 +187,7 @@
}
public void deleteMembership(String userId, String groupId, String role) {
- MembershipImpl membership = (MembershipImpl) session.createCriteria(MembershipImpl.class)
- .createAlias("user", "u")
- .createAlias("group", "g")
- .add(Restrictions.eq("u.id", userId))
- .add(Restrictions.eq("g.id", groupId))
- .uniqueResult();
- session.delete(membership);
+ throw new UnsupportedOperationException("please implement me");
}
public void setSession(Session session) {
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -363,18 +363,18 @@
// execution method : signal ////////////////////////////////////////////////
public void signal() {
- signal(null, (Map<String,?>)null);
+ signal(null, (Map)null);
}
public void signal(String signal) {
- signal(signal, (Map<String,?>)null);
+ signal(signal, (Map)null);
}
- public void signal(Map<String, ?> parameters) {
+ public void signal(Map<String, Object> parameters) {
signal(null, parameters);
}
- public void signal(String signal, Map<String, ?> parameters) {
+ public void signal(String signal, Map<String, Object> parameters) {
checkActive();
propagation = Propagation.EXPLICIT;
if (getActivity()!=null) {
@@ -387,18 +387,18 @@
}
public void signal(Execution execution) {
- ((ExecutionImpl)execution).signal(null, (Map<String,?>)null);
+ ((ExecutionImpl)execution).signal(null, (Map)null);
}
public void signal(String signalName, Execution execution) {
- ((ExecutionImpl)execution).signal(signalName, (Map<String,?>)null);
+ ((ExecutionImpl)execution).signal(signalName, (Map)null);
}
- public void signal(Map<String, ?> parameters, Execution execution) {
+ public void signal(Map<String, Object> parameters, Execution execution) {
((ExecutionImpl)execution).signal(null, parameters);
}
- public void signal(String signalName, Map<String, ?> parameters, Execution execution) {
+ public void signal(String signalName, Map<String, Object> parameters, Execution execution) {
((ExecutionImpl)execution).signal(signalName, parameters);
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ScopeInstanceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ScopeInstanceImpl.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ScopeInstanceImpl.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -33,10 +33,13 @@
import org.jbpm.api.Execution;
import org.jbpm.api.JbpmException;
+import org.jbpm.api.client.ClientExecution;
+import org.jbpm.api.client.ClientProcessDefinition;
import org.jbpm.api.env.Environment;
import org.jbpm.api.job.Timer;
import org.jbpm.api.session.TimerSession;
import org.jbpm.internal.log.Log;
+import org.jbpm.pvm.internal.hibernate.HibernatePvmDbSession;
import org.jbpm.pvm.internal.job.TimerImpl;
import org.jbpm.pvm.internal.type.Converter;
import org.jbpm.pvm.internal.type.Type;
@@ -165,15 +168,18 @@
}
}
- public void setVariables(Map<String, ?> variables) {
+ public void setVariables(Map<String, Object> variables) {
if (variables!=null) {
- for (Map.Entry<String, ?> entry : variables.entrySet()) {
- setVariable(entry.getKey(), entry.getValue());
- }
+ for (String key: variables.keySet()) {
+ Object value = variables.get(key);
+ setVariable(key, value);
+ }
}
}
public Object getVariable(String key) {
+ Object value = null;
+
Variable variable = getVariableObject(key);
if (variable!=null) {
return variable.getValue();
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/Signal.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/Signal.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/op/Signal.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -39,10 +39,10 @@
private static final Log log = Log.getLog(Signal.class.getName());
String signalName;
- Map<String, ?> parameters;
+ Map<String, Object> parameters;
ActivityImpl activity;
- public Signal(String signalName, Map<String, ?> parameters, ActivityImpl activity) {
+ public Signal(String signalName, Map<String, Object> parameters, ActivityImpl activity) {
this.signalName = signalName;
this.parameters = parameters;
this.activity = activity;
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/ExecutionServiceImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/ExecutionServiceImpl.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/svc/ExecutionServiceImpl.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -22,6 +22,7 @@
package org.jbpm.pvm.internal.svc;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -32,6 +33,7 @@
import org.jbpm.pvm.internal.cmd.DeleteProcessInstance;
import org.jbpm.pvm.internal.cmd.EndProcessInstance;
import org.jbpm.pvm.internal.cmd.FindExecutionCmd;
+import org.jbpm.pvm.internal.cmd.FindExecutionsCmd;
import org.jbpm.pvm.internal.cmd.GetVariableNamesCmd;
import org.jbpm.pvm.internal.cmd.GetVariablesCmd;
import org.jbpm.pvm.internal.cmd.SetVariablesCmd;
@@ -40,6 +42,7 @@
import org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd;
import org.jbpm.pvm.internal.query.ProcessInstanceQueryImpl;
+
/**
* @author Tom Baeyens
*/
@@ -65,7 +68,7 @@
return commandService.execute(new StartProcessInstanceInLatestCmd(processDefinitionKey, null, null));
}
- public ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, ?> variables){
+ public ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, Object> variables){
return commandService.execute(new StartProcessInstanceInLatestCmd(processDefinitionKey, variables, null));
}
@@ -73,7 +76,7 @@
return commandService.execute(new StartProcessInstanceInLatestCmd(processDefinitionKey, null, executionKey));
}
- public ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, ?> variables, String executionKey){
+ public ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, Object> variables, String executionKey){
return commandService.execute(new StartProcessInstanceInLatestCmd(processDefinitionKey, variables, executionKey));
}
@@ -87,11 +90,11 @@
return commandService.execute(new SignalCmd(executionId, signalName, null));
}
- public ProcessInstance signalExecutionById(String executionId, String signalName, Map<String, ?> parameters) {
+ public ProcessInstance signalExecutionById(String executionId, String signalName, Map<String, Object> parameters) {
return commandService.execute(new SignalCmd(executionId, signalName, parameters));
}
- public ProcessInstance signalExecutionById(String executionId, Map<String, ?> parameters) {
+ public ProcessInstance signalExecutionById(String executionId, Map<String, Object> parameters) {
return commandService.execute(new SignalCmd(executionId, null, parameters));
}
@@ -138,7 +141,7 @@
commandService.execute(cmd);
}
- public void setVariables(String executionId, Map<String, ?> variables) {
+ public void setVariables(String executionId, Map<String, Object> variables) {
SetVariablesCmd cmd = new SetVariablesCmd(executionId);
cmd.setVariables(variables);
commandService.execute(cmd);
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/LifeCycleState.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/LifeCycleState.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/LifeCycleState.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -38,7 +38,7 @@
}
public void signal(ActivityExecution execution, String signalName,
- Map<String, ?> parameters) throws Exception {
+ Map<String, Object> parameters) throws Exception {
execution.take(signalName);
}
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -24,7 +24,6 @@
import java.io.Serializable;
import java.util.List;
-import org.jbpm.pvm.internal.email.spi.MailProducer;
import org.jbpm.pvm.internal.util.Priority;
import org.jbpm.pvm.internal.wire.Descriptor;
@@ -42,8 +41,6 @@
protected SwimlaneDefinitionImpl swimlaneDefinition;
protected Descriptor taskHandlerDescriptor;
- protected transient MailProducer notificationMailProducer;
-
public int getPriority() {
return priority;
}
@@ -80,10 +77,4 @@
public void setTaskHandlerDescriptor(Descriptor taskHandlerDescriptor) {
this.taskHandlerDescriptor = taskHandlerDescriptor;
}
- public MailProducer getNotificationMailProducer() {
- return notificationMailProducer;
- }
- public void setNotificationMailProducer(MailProducer notificationMailProducer) {
- this.notificationMailProducer = notificationMailProducer;
- }
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -23,15 +23,12 @@
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import javax.mail.Message;
-
import org.jbpm.api.Execution;
import org.jbpm.api.JbpmException;
import org.jbpm.api.env.Environment;
@@ -43,9 +40,6 @@
import org.jbpm.api.task.Swimlane;
import org.jbpm.api.task.Task;
import org.jbpm.api.task.TaskHandler;
-import org.jbpm.pvm.internal.email.spi.MailProducer;
-import org.jbpm.pvm.internal.email.spi.MailSession;
-import org.jbpm.pvm.internal.history.events.TaskAssign;
import org.jbpm.pvm.internal.history.events.TaskCancel;
import org.jbpm.pvm.internal.history.events.TaskComplete;
import org.jbpm.pvm.internal.history.events.TaskStart;
@@ -58,15 +52,16 @@
import org.jbpm.pvm.internal.wire.WireContext;
/**
- * is one task instance that can be assigned to an actor (read: put in someone's task list) and that
- * can trigger the continuation of execution of the token upon completion.
+ * is one task instance that can be assigned to an actor (read: put in
+ * someones task list) and that can trigger the continuation of execution
+ * of the token upon completion.
*/
public class TaskImpl extends ScopeInstanceImpl implements Serializable, OpenTask, Assignable {
private static final long serialVersionUID = 1L;
-
+
// private static Log log = Log.getLog(TaskImpl.class.getName());
-
+
private static final TaskHandler DEFAULT_TASK_HANDLER = new TaskHandler();
protected String name;
@@ -90,66 +85,48 @@
protected String taskDefinitionName;
protected TaskDefinitionImpl taskDefinition;
-
+
protected ExecutionImpl execution;
protected ExecutionImpl processInstance;
protected SwimlaneImpl swimlane;
-
+
protected TaskImpl superTask;
protected Set<TaskImpl> subTasks;
-
+
protected Long executionDbid;
protected Long superTaskDbid;
public TaskImpl() {
}
-
+
// parent for variable lookup ///////////////////////////////////////////////
public ScopeInstanceImpl getParentVariableScope() {
return execution;
}
-
+
// assignment ///////////////////////////////////////////////////////////////
-
+
public void take(String userId) {
- if (assignee != null) {
- throw new JbpmException("task already taken by " + this.assignee);
+ if (assignee!=null) {
+ throw new JbpmException("task already taken by "+this.assignee);
}
setAssignee(userId, true);
}
-
+
public void setAssignee(String userId) {
- setAssignee(userId, false);
+ this.assignee = userId;
}
public void setAssignee(String userId, boolean propagateToSwimlane) {
this.assignee = userId;
- notifyAssignee();
if (propagateToSwimlane) {
propagateAssigneeToSwimlane();
}
}
- protected void notifyAssignee() {
- if (taskDefinition == null) return;
-
- MailProducer mailProducer = taskDefinition.getNotificationMailProducer();
- if (mailProducer == null) return;
-
- // TODO how to insert predefined variables cleanly?
- execution.setVariable("task", this);
- try {
- Collection<Message> messages = mailProducer.produce(execution);
- Environment.getFromCurrent(MailSession.class).send(messages);
- }
- finally {
- execution.removeVariable("task");
- }
- }
-
protected void propagateAssigneeToSwimlane() {
- if (swimlane != null) {
+ if (swimlane!=null) {
swimlane.setAssignee(assignee);
}
}
@@ -158,7 +135,7 @@
// TODO: Why does it return the impl. not the interface?
public Set<ParticipationImpl> getParticipations() {
- if (participations == null) {
+ if (participations ==null) {
return Collections.emptySet();
}
return participations;
@@ -166,18 +143,17 @@
public Set<ParticipationImpl> getAllParticipants() {
Set<ParticipationImpl> allRoles = null;
- if (participations != null) {
+ if (participations !=null) {
allRoles = new HashSet<ParticipationImpl>(participations);
- }
- else {
+ } else {
allRoles = new HashSet<ParticipationImpl>();
}
- if (swimlane != null) {
- allRoles.addAll((Set) swimlane.getParticipations());
+ if (swimlane!=null) {
+ allRoles.addAll((Set)swimlane.getParticipations());
}
return allRoles;
}
-
+
public void addCandidateGroup(String groupId) {
addParticipation(null, groupId, Participation.CANDIDATE);
}
@@ -189,10 +165,10 @@
public Participation addParticipation(String userId, String groupId, String type) {
return addParticipant(new ParticipationImpl(userId, groupId, type));
}
-
+
private Participation addParticipant(ParticipationImpl participation) {
participation.setTask(this);
- if (participations == null) {
+ if (participations ==null) {
participations = new HashSet<ParticipationImpl>();
}
participations.add(participation);
@@ -200,14 +176,16 @@
}
public void removeParticipant(ParticipationImpl participation) {
- if (participation == null) {
+ if (participation==null) {
throw new JbpmException("participant is null");
}
- if ((participations != null) && (participations.remove(participation))) {
+ if ( (participations !=null)
+ && (participations.remove(participation))
+ ) {
participation.setTask(null);
}
}
-
+
// completion ///////////////////////////////////////////////////////////////
public void complete() {
@@ -216,7 +194,7 @@
public void complete(String outcome) {
getTaskHandler().taskComplete(this, outcome);
- if (superTask != null) {
+ if (superTask!=null) {
superTask.subTaskComplete(this, outcome);
}
}
@@ -228,21 +206,23 @@
public void cancel(String reason) {
getTaskHandler().taskCancel(this, reason);
}
-
+
// state ////////////////////////////////////////////////////////////////////
-
+
public boolean isCompleted() {
if (Task.STATE_COMPLETED.equals(state)) {
return true;
}
- if ((Task.STATE_OPEN.equals(state)) || (Task.STATE_SUSPENDED.equals(state))) {
+ if ( (Task.STATE_OPEN.equals(state))
+ || (Task.STATE_SUSPENDED.equals(state))
+ ) {
return false;
}
return true;
}
// variables ////////////////////////////////////////////////////////////////
-
+
public void setVariable(String key, Object value) {
super.setVariable(key, value);
getTaskHandler().taskVariableUpdate(this, key, value);
@@ -251,14 +231,14 @@
// comments /////////////////////////////////////////////////////////////////
public List<Comment> getComments() {
- if (comments == null) {
+ if (comments==null) {
return Collections.emptyList();
}
return (List) comments;
}
public Comment createComment(String commentText) {
- if (comments == null) {
+ if (comments==null) {
comments = new ArrayList<CommentImpl>();
}
CommentImpl comment = new CommentImpl(commentText);
@@ -267,18 +247,18 @@
}
public void removeComment(Comment comment) {
- if (comment == null) {
+ if (comment==null) {
throw new JbpmException("comment is null");
}
- if (comments != null) {
+ if (comments!=null) {
comments.remove(comment);
}
}
-
+
// subtasks /////////////////////////////////////////////////////////////////
-
+
public Set<Task> getSubTasks() {
- if (subTasks == null) {
+ if (subTasks==null) {
return Collections.emptySet();
}
return (Set) subTasks;
@@ -287,7 +267,7 @@
public TaskImpl createSubTask() {
TaskDbSession taskDbSession = Environment.getFromCurrent(TaskDbSession.class);
TaskImpl subTask = (TaskImpl) taskDbSession.createTask();
- if (subTasks == null) {
+ if (subTasks==null) {
subTasks = new HashSet<TaskImpl>();
}
addSubTask(subTask);
@@ -301,9 +281,9 @@
subtask.setName(name);
return subtask;
}
-
+
public TaskImpl addSubTask(TaskImpl subtask) {
- if (subTasks == null) {
+ if (subTasks==null) {
subTasks = new HashSet<TaskImpl>();
}
subtask.setSuperTask(this);
@@ -312,242 +292,211 @@
}
public void removeSubTask(Task subtask) {
- if (subtask == null) {
+ if (subtask==null) {
throw new JbpmException("subtask is null");
}
- if ((subTasks != null) && (subTasks.remove(subtask))) {
- ((TaskImpl) subtask).setSuperTask(null);
+ if ( (subTasks!=null)
+ && (subTasks.remove(subtask))
+ ) {
+ ((TaskImpl)subtask).setSuperTask(null);
}
}
-
+
// equals ///////////////////////////////////////////////////////////////////
// hack to support comparing hibernate proxies against the real objects
// since this always falls back to ==, we don't need to overwrite the hashcode
public boolean equals(Object o) {
return EqualsUtil.equals(this, o);
}
-
+
public String toString() {
- return "Task(" + name + ")";
+ return "Task("+name+")";
}
public String getLifeCycleResource() {
// the default lifecycle can be overridden in subclasses
return "jbpm.task.lifecycle.xml";
}
-
+
// modified getters and setters /////////////////////////////////////////////
public void setProgress(Integer progress) {
- if ((progress < 0) || (progress > 100)) {
- throw new JbpmException(
- "task progress is a percentage (integer) and must be expressed between 0 and 100");
+ if ( (progress<0)
+ || (progress>100)
+ ) {
+ throw new JbpmException("task progress is a percentage (integer) and must be expressed between 0 and 100");
}
this.progress = progress;
}
public boolean isPersisted() {
- return dbid != 0;
+ return dbid!=0;
}
public void cancelExecution(String signal) {
- if (execution != null) {
+ if (execution!=null){
execution.end("cancel");
}
}
- public void historyTaskStart() {
- if (execution != null) {
- execution.fireHistoryEvent(new TaskStart(this));
- }
- }
-
- public void historyTaskAssign(String userId) {
- if (execution != null) {
- execution.fireHistoryEvent(new TaskAssign(userId));
- }
- }
-
public void historyTaskCancel(String reason) {
- if (execution != null) {
+ if (execution!=null){
execution.fireHistoryEvent(new TaskCancel(reason));
}
}
public void historyTaskComplete(String outcome) {
- if (execution != null) {
+ if (execution!=null){
execution.fireHistoryEvent(new TaskComplete(outcome));
}
}
+ public void historyTaskStart() {
+ if (execution!=null){
+ execution.fireHistoryEvent(new TaskStart(this));
+ }
+ }
+
public void signalExecution(String signalName) {
- if (execution != null) {
+ if (execution!=null){
execution.signal(signalName);
}
}
public TaskHandler getTaskHandler() {
- if ((getTaskDefinition() == null) || (taskDefinition.getTaskHandlerDescriptor() == null)) {
+ if ( (getTaskDefinition()==null)
+ || (taskDefinition.getTaskHandlerDescriptor()==null)
+ ) {
return DEFAULT_TASK_HANDLER;
}
-
+
TaskHandler taskHandler = (TaskHandler) WireContext.create(taskDefinition.getTaskHandlerDescriptor());
return taskHandler;
}
-
+
// special getters and setters //////////////////////////////////////////////
-
+
public TaskDefinitionImpl getTaskDefinition() {
- if ((taskDefinition == null) && (taskDefinitionName != null) && (execution != null)) {
+ if ( (taskDefinition==null)
+ && (taskDefinitionName!=null)
+ && (execution!=null)
+ ) {
ProcessDefinitionImpl processDefinition = execution.getProcessDefinition();
taskDefinition = processDefinition.getTaskDefinition(taskDefinitionName);
}
-
+
return taskDefinition;
}
-
+
public void setTaskDefinition(TaskDefinitionImpl taskDefinition) {
this.taskDefinition = taskDefinition;
this.taskDefinitionName = taskDefinition.getName();
}
+
// getters and setters //////////////////////////////////////////////////////
-
+
public long getDbid() {
return dbid;
}
-
public String getName() {
return name;
}
-
public void setName(String name) {
this.name = name;
}
-
public String getDescription() {
return description;
}
-
public void setDescription(String description) {
this.description = description;
}
-
public int getPriority() {
return priority;
}
-
public void setPriority(int priority) {
this.priority = priority;
}
-
public void setComments(List<CommentImpl> comments) {
this.comments = comments;
}
-
public Date getCreate() {
return create;
}
-
public void setCreate(Date create) {
this.create = create;
}
-
public Date getDueDate() {
return dueDate;
}
-
public void setDueDate(Date dueDate) {
this.dueDate = dueDate;
}
-
public ExecutionImpl getExecution() {
return execution;
}
-
public void setExecution(Execution execution) {
this.execution = (ExecutionImpl) execution;
}
-
public String getState() {
return state;
}
-
public String getAssignee() {
return assignee;
}
-
public Swimlane getSwimlane() {
return swimlane;
}
-
public void setSwimlane(SwimlaneImpl swimlane) {
this.swimlane = swimlane;
}
-
public TaskImpl getSuperTask() {
return superTask;
}
-
public void setSuperTask(TaskImpl superTask) {
this.superTask = superTask;
}
-
public Integer getProgress() {
return progress;
}
-
public Long getExecutionDbid() {
return executionDbid;
}
-
public void setExecutionDbid(Long executionDbid) {
this.executionDbid = executionDbid;
}
-
public Long getSuperTaskDbid() {
return superTaskDbid;
}
-
public void setSuperTaskDbid(Long parentTaskDbid) {
this.superTaskDbid = parentTaskDbid;
}
-
public void setParticipations(Set<ParticipationImpl> participations) {
this.participations = participations;
}
-
public void setState(String state) {
this.state = state;
}
-
public void setExecution(ExecutionImpl execution) {
this.execution = execution;
}
-
public void setSubTasks(Set<TaskImpl> subTasks) {
this.subTasks = subTasks;
}
-
public ExecutionImpl getProcessInstance() {
return processInstance;
}
-
public void setProcessInstance(ExecutionImpl processInstance) {
this.processInstance = processInstance;
}
-
public boolean isSignalling() {
return isSignalling;
}
-
public void setSignalling(boolean isSignalling) {
this.isSignalling = isSignalling;
}
-
public String getForm() {
return form;
}
-
public void setForm(String form) {
this.form = form;
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -247,11 +247,14 @@
}
public static boolean isTextOnly(Element element) {
- for (Node child = element.getFirstChild(); child != null; child = child.getNextSibling()) {
- if (child.getNodeType() == Node.ELEMENT_NODE)
- return false;
+ boolean isTextOnly = true;
+ NodeList activityList = element.getChildNodes();
+ for (int i = 0; ((i < activityList.getLength()) && (isTextOnly)); i++) {
+ if (Element.class.isAssignableFrom(activityList.item(i).getClass())) {
+ isTextOnly = false;
+ }
}
- return true;
+ return isTextOnly;
}
public static List<Attr> attributes(Element element) {
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MailTemplateBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MailTemplateBinding.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/MailTemplateBinding.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -47,7 +47,7 @@
public Object parse(Element element, Parse parse, Parser parser) {
// MailTemplateRegistry is added to the WireDescriptor with a ProvidedObjectDescriptor
// The MailTemplateRegistry descriptor is lazy initialized by this binding
- // mail-template will add a MailTemplate to the MailTemplateRegistry
+ // mail-templates will add a MailTemplate to the MailTemplateRegistry
ProvidedObjectDescriptor templateRegistryDescriptor;
MailTemplateRegistry templateRegistry;
@@ -57,6 +57,7 @@
if (templateRegistryDescriptorName != null) {
templateRegistryDescriptor = (ProvidedObjectDescriptor) wireDefinition.getDescriptor(templateRegistryDescriptorName);
templateRegistry = (MailTemplateRegistry) templateRegistryDescriptor.getProvidedObject();
+ templateRegistryDescriptor = null; // setting it to null so that the wire parser doesn't add it to the wiredefinition again
}
else {
templateRegistry = new MailTemplateRegistry();
@@ -64,21 +65,21 @@
}
// create the mail template and add it to the registry
- MailTemplate mailTemplate = parseMailTemplate(element, parse);
+ MailTemplate mailTemplate = parseMailTemplate(element, parse, parser);
String templateName = XmlUtil.attribute(element, "name", true, parse);
templateRegistry.addTemplate(templateName, mailTemplate);
return templateRegistryDescriptor;
}
- public static MailTemplate parseMailTemplate(Element element, Parse parse) {
+ public MailTemplate parseMailTemplate(Element element, Parse parse, Parser parser) {
MailTemplate mailTemplate = new MailTemplate();
mailTemplate.setLanguage(XmlUtil.attribute(element, "language"));
- mailTemplate.setFrom(parseRecipientTemplate(element, "from", parse));
- mailTemplate.setTo(parseRecipientTemplate(element, "to", parse));
- mailTemplate.setCc(parseRecipientTemplate(element, "cc", parse));
- mailTemplate.setBcc(parseRecipientTemplate(element, "bcc", parse));
+ mailTemplate.setFrom(parseRecipientTemplate(element, "from", parse, parser));
+ mailTemplate.setTo(parseRecipientTemplate(element, "to", parse, parser));
+ mailTemplate.setCc(parseRecipientTemplate(element, "cc", parse, parser));
+ mailTemplate.setBcc(parseRecipientTemplate(element, "bcc", parse, parser));
Element subjectElement = XmlUtil.element(element, "subject");
if (subjectElement != null) {
@@ -116,22 +117,15 @@
return mailTemplate;
}
- private static AddressTemplate parseRecipientTemplate(Element element, String tagName, Parse parse) {
+ protected AddressTemplate parseRecipientTemplate(Element element, String tagName, Parse parse,
+ Parser parser) {
Element recipientElement = XmlUtil.element(element, tagName);
if (recipientElement == null) return null;
- String addresses = XmlUtil.attribute(recipientElement, "addresses");
- String users = XmlUtil.attribute(recipientElement, "users");
- String groups = XmlUtil.attribute(recipientElement, "groups");
-
- if (addresses == null && users == null && groups == null) {
- parse.addProblem(tagName + " does not specify any recipient", element);
- }
-
AddressTemplate addressTemplate = new AddressTemplate();
- addressTemplate.setAddresses(addresses);
- addressTemplate.setUsers(users);
- addressTemplate.setGroups(groups);
+ addressTemplate.setAddresses(XmlUtil.attribute(recipientElement, "addresses"));
+ addressTemplate.setUsers(XmlUtil.attribute(recipientElement, "users"));
+ addressTemplate.setGroups(XmlUtil.attribute(recipientElement, "groups"));
return addressTemplate;
}
}
Modified: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/activities/WaitState.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/activities/WaitState.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/activities/WaitState.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -39,7 +39,7 @@
public void signal(ActivityExecution execution,
String signalName,
- Map<String, ?> parameters) {
+ Map<String, Object> parameters) {
execution.setVariables(parameters);
execution.take(signalName);
}
Modified: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/executionmode/embedded/WaitState.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/executionmode/embedded/WaitState.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/executionmode/embedded/WaitState.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -40,7 +40,7 @@
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) throws Exception {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) throws Exception {
execution.take(signalName);
}
}
\ No newline at end of file
Modified: jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java
===================================================================
--- jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/ExclusiveMessagesTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -92,7 +92,7 @@
public void execute(ActivityExecution execution) throws Exception {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) throws Exception {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) throws Exception {
execution.take(signalName);
}
}
Modified: jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/WaitState.java
===================================================================
--- jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/WaitState.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-load/src/test/java/org/jbpm/test/load/async/WaitState.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -40,7 +40,7 @@
ContinuationTest.recorder.record(execution.getId(), "execute("+execution.getActivity().getName()+")");
}
- public void signal(ActivityExecution execution, String signal, Map<String, ?> parameters) throws Exception {
+ public void signal(ActivityExecution execution, String signal, Map<String, Object> parameters) throws Exception {
throw new UnsupportedOperationException();
}
}
\ No newline at end of file
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/AutomaticDecisionTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/AutomaticDecisionTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/AutomaticDecisionTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -60,7 +60,7 @@
public void execute(ActivityExecution execution) {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
execution.take(signalName);
}
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/BasicExecutionFlowTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/BasicExecutionFlowTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/BasicExecutionFlowTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -64,7 +64,7 @@
events.add("execute["+execution.getActivityName()+"]");
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) throws Exception {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) throws Exception {
events.add("signal["+execution.getActivityName()+"]");
execution.take(signalName);
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/EventTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/EventTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/EventTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -170,7 +170,7 @@
public void execute(ActivityExecution execution) throws Exception {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signal, Map<String, ?> parameters) throws Exception {
+ public void signal(ActivityExecution execution, String signal, Map<String, Object> parameters) throws Exception {
Activity activity = execution.getActivity();
if ( (signal!=null)
&& (activity!=null)
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExceptionHandlerTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExceptionHandlerTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExceptionHandlerTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -44,7 +44,7 @@
public void execute(ActivityExecution execution) {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters){
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters){
}
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExecutionStateTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExecutionStateTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExecutionStateTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -70,7 +70,7 @@
assertEquals(Execution.STATE_ACTIVE_ROOT, execution.getState());
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
assertEquals(Execution.STATE_ACTIVE_ROOT, execution.getState());
execution.take(signalName);
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExternalDecisionTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExternalDecisionTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ExternalDecisionTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -42,7 +42,7 @@
public void execute(ActivityExecution execution) throws Exception {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) throws Exception {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) throws Exception {
execution.take(signalName);
}
}
@@ -52,7 +52,7 @@
public void execute(ActivityExecution execution) {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
execution.take(signalName);
}
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/FunctionalActivityTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/FunctionalActivityTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/FunctionalActivityTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -141,7 +141,7 @@
Activity nestedActivity = execution.getActivity().getActivities().get(0);
execution.execute(nestedActivity);
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
}
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/LoopingTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/LoopingTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/LoopingTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -45,7 +45,7 @@
}
}
}
- public void signal(ActivityExecution execution, String signal, Map<String, ?> parameters) throws Exception {
+ public void signal(ActivityExecution execution, String signal, Map<String, Object> parameters) throws Exception {
throw new UnsupportedOperationException();
}
@@ -77,7 +77,7 @@
public void execute(ActivityExecution execution) {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters){
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters){
}
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeStateTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeStateTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeStateTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -51,7 +51,7 @@
assertEquals(Execution.STATE_ACTIVE_ROOT, execution.getState());
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) throws Exception {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) throws Exception {
assertEquals(Execution.STATE_ACTIVE_ROOT, execution.getState());
execution.take(signalName);
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeVariableDeclarationTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeVariableDeclarationTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeVariableDeclarationTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -45,7 +45,7 @@
public void execute(ActivityExecution execution) {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
execution.take(signalName);
}
}
@@ -56,7 +56,7 @@
Activity child = execution.getActivity().getActivities().get(0);
execution.execute(child);
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
}
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeVariableTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeVariableTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/ScopeVariableTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -23,6 +23,7 @@
import java.util.Map;
+import org.jbpm.api.JbpmException;
import org.jbpm.api.activity.ActivityExecution;
import org.jbpm.api.activity.ExternalActivityBehaviour;
import org.jbpm.api.client.ClientExecution;
@@ -49,7 +50,7 @@
public void execute(ActivityExecution execution) {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
execution.take(signalName);
}
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/SubProcessTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/SubProcessTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/SubProcessTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -51,7 +51,7 @@
execution.waitForSignal();
}
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) throws Exception {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) throws Exception {
}
}
@@ -66,12 +66,11 @@
public void execute(ActivityExecution execution) {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters){
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters){
}
}
public static class EndState implements ActivityBehaviour {
- private static final long serialVersionUID = 1L;
public void execute(ActivityExecution execution) throws Exception {
execution.end();
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/VariableTest.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/VariableTest.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/VariableTest.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -44,7 +44,7 @@
public void execute(ActivityExecution execution) {
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters){
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters){
}
}
@@ -195,7 +195,7 @@
execution.setVariable("message", "Killroy was here");
execution.waitForSignal();
}
- public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
+ public void signal(ActivityExecution execution, String signalName, Map<String, Object> parameters) {
}
}
Modified: jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/WaitState.java
===================================================================
--- jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/WaitState.java 2009-05-21 06:16:03 UTC (rev 4865)
+++ jbpm4/trunk/modules/test-pojo/src/main/java/org/jbpm/test/activities/WaitState.java 2009-05-21 07:42:27 UTC (rev 4866)
@@ -39,6 +39,6 @@
public void signal(ActivityExecution execution,
String signalName,
- Map<String, ?> parameters) {
+ Map<String, Object> parameters) {
}
}
More information about the jbpm-commits
mailing list