[jbpm-commits] JBoss JBPM SVN: r4250 - in jbpm4/branches/tbaeyens/modules: distro/src/main/resources/config-tool/hibernate/mapping.files and 10 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Mar 16 11:31:28 EDT 2009
Author: tom.baeyens at jboss.com
Date: 2009-03-16 11:31:28 -0400 (Mon, 16 Mar 2009)
New Revision: 4250
Added:
jbpm4/branches/tbaeyens/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/
jbpm4/branches/tbaeyens/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/process.jpdl.xml
jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JbossIdmIdentitySessionBinding.java
Modified:
jbpm4/branches/tbaeyens/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java
jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml
jbpm4/branches/tbaeyens/modules/examples/src/test/resources/org/jbpm/examples/task/process.jpdl.xml
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java
jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml
jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskStart.java
jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java
jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessElementImpl.java
jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java
jbpm4/branches/tbaeyens/modules/userguide/.settings/attachedFile.properties
Log:
work
Modified: jbpm4/branches/tbaeyens/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/api/src/main/java/org/jbpm/activity/ActivityExecution.java 2009-03-16 15:31:28 UTC (rev 4250)
@@ -31,6 +31,7 @@
import org.jbpm.model.OpenExecution;
import org.jbpm.model.Transition;
import org.jbpm.session.PvmDbSession;
+import org.jbpm.task.Task;
/** view upon an {@link Execution path of execution} exposed to
@@ -285,7 +286,7 @@
void historyActivityEnd(String transitionName);
/** marks the start of a user task for history purposes. */
- void historyTaskStart(String assignee);
+ void historyTaskStart(Task task);
/** marks the end of a user task for history purposes. */
void historyTaskEnd(String outcome);
Modified: jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/distro/src/main/resources/config-tool/hibernate/mapping.files/jbpm.jpdl.hbm.xml 2009-03-16 15:31:28 UTC (rev 4250)
@@ -83,7 +83,12 @@
index="IDX_ACT_PARTSDESCR" />
</subclass>
<subclass name="org.jbpm.jpdl.internal.activity.TaskActivity" discriminator-value="task">
- <property name="assignee" column="TEXT_" />
+ <many-to-one name="taskDefinition"
+ column="TASKDEF_"
+ cascade="all"
+ class="org.jbpm.pvm.internal.task.TaskDefinitionImpl"
+ foreign-key="FK_ACT_TASKDEF"
+ index="IDX_ACT_TASKDEF" />
</subclass>
</class>
Added: jbpm4/branches/tbaeyens/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/process.jpdl.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/process.jpdl.xml (rev 0)
+++ jbpm4/branches/tbaeyens/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/process.jpdl.xml 2009-03-16 15:31:28 UTC (rev 4250)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process name="TaskAssignee">
+
+ <start g="20,20,48,48">
+ <transition to="review" />
+ </start>
+
+ <task name="review"
+ g="96,16,127,52">
+ <assignment assignee="#{order.owner}" />
+
+ <transition to="wait" />
+ </task>
+
+ <state name="wait" g="255,16,88,52"/>
+
+</process>
Property changes on: jbpm4/branches/tbaeyens/modules/examples/src/test/resources/org/jbpm/examples/task/assignee/process.jpdl.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbpm4/branches/tbaeyens/modules/examples/src/test/resources/org/jbpm/examples/task/process.jpdl.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/examples/src/test/resources/org/jbpm/examples/task/process.jpdl.xml 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/examples/src/test/resources/org/jbpm/examples/task/process.jpdl.xml 2009-03-16 15:31:28 UTC (rev 4250)
@@ -1,15 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<process name="Task" xmlns="http://jbpm.org/4/jpdl">
+<process name="Task">
<start g="20,20,48,48">
<transition to="review" />
</start>
<task name="review"
- assignee="johndoe"
g="96,16,127,52">
+ <assignment assignee="johndoe" />
+
<transition to="wait" />
</task>
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java 2009-03-16 15:31:28 UTC (rev 4250)
@@ -28,6 +28,7 @@
import org.jbpm.env.Environment;
import org.jbpm.model.Activity;
import org.jbpm.model.Transition;
+import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
import org.jbpm.pvm.internal.task.TaskImpl;
import org.jbpm.session.TaskDbSession;
@@ -39,17 +40,19 @@
private static final long serialVersionUID = 1L;
- protected String assignee;
+ protected TaskDefinitionImpl taskDefinition;
public void execute(ActivityExecution execution) {
TaskDbSession taskDbSession = Environment.getFromCurrent(TaskDbSession.class);
TaskImpl task = TaskImpl.create();
task.setExecution(execution);
task.setName(execution.getActivityName());
- task.setAssignee(assignee);
+
+ taskDefinition.initialize(task);
+
taskDbSession.saveTask(task);
- execution.historyTaskStart(assignee);
+ execution.historyTaskStart(task);
execution.waitForSignal();
}
@@ -71,7 +74,10 @@
}
}
- public void setAssignee(String assignee) {
- this.assignee = assignee;
+ public TaskDefinitionImpl getTaskDefinition() {
+ return taskDefinition;
}
-}
+ public void setTaskDefinition(TaskDefinitionImpl taskDefinition) {
+ this.taskDefinition = taskDefinition;
+ }
+}
\ No newline at end of file
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskBinding.java 2009-03-16 15:31:28 UTC (rev 4250)
@@ -21,6 +21,7 @@
*/
package org.jbpm.jpdl.internal.activity;
+import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.xml.Parse;
import org.jbpm.pvm.internal.xml.Parser;
@@ -40,11 +41,25 @@
public Object parse(Element element, Parse parse, Parser parser) {
TaskActivity taskActivity = new TaskActivity();
+
+ TaskDefinitionImpl taskDefinition = parseTaskDefinition(element, parse, parser);
+ taskActivity.setTaskDefinition(taskDefinition);
+
+ return taskActivity;
+ }
+
+ public static TaskDefinitionImpl parseTaskDefinition(Element element, Parse parse, Parser parser) {
+ TaskDefinitionImpl taskDefinition = new TaskDefinitionImpl();
- String assignee = XmlUtil.attribute(element, "assignee", true, parse);
- taskActivity.setAssignee(assignee);
+ for (Element assignmentElement: XmlUtil.elements(element, "assignment")) {
+ String assigneeExpression = XmlUtil.attribute(assignmentElement, "assignee");
+ taskDefinition.setAssigneeExpression(assigneeExpression);
+
+ String candidatesExpression = XmlUtil.attribute(assignmentElement, "candidates");
+ taskDefinition.setCandidatesExpression(candidatesExpression);
+ }
- return taskActivity;
+ return taskDefinition;
}
}
Modified: jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml
===================================================================
--- jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/jpdl/src/test/resources/jbpm.jpdl.hbm.xml 2009-03-16 15:31:28 UTC (rev 4250)
@@ -83,7 +83,12 @@
index="IDX_ACT_PARTSDESCR" />
</subclass>
<subclass name="org.jbpm.jpdl.internal.activity.TaskActivity" discriminator-value="task">
- <property name="assignee" column="TEXT_" />
+ <many-to-one name="taskDefinition"
+ column="TASKDEF_"
+ cascade="all"
+ class="org.jbpm.pvm.internal.task.TaskDefinitionImpl"
+ foreign-key="FK_ACT_TASKDEF"
+ index="IDX_ACT_TASKDEF" />
</subclass>
</class>
Modified: jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskStart.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskStart.java 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/history/events/TaskStart.java 2009-03-16 15:31:28 UTC (rev 4250)
@@ -24,6 +24,7 @@
import org.jbpm.history.HistoryProcessInstance;
import org.jbpm.pvm.internal.history.model.HistoryActivityInstanceImpl;
import org.jbpm.pvm.internal.history.model.HistoryTaskInstanceImpl;
+import org.jbpm.task.Task;
/**
@@ -35,8 +36,8 @@
protected String assignee;
- public TaskStart(String assignee) {
- this.assignee = assignee;
+ public TaskStart(Task task) {
+ this.assignee = task.getAssignee();
}
protected HistoryActivityInstanceImpl createHistoryActivityInstance(HistoryProcessInstance historyProcessInstanceImpl) {
Modified: jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/identity/impl/IdentitySessionImpl.java 2009-03-16 15:31:28 UTC (rev 4250)
@@ -103,7 +103,7 @@
public List<Group> findGroupsByUserAndGroupType(String userName, String groupType) {
Query query = session.createQuery(
"select distinct membership.group " +
- "from "+MembershipImpl.class.getName()+" as membership, " +
+ "from "+MembershipImpl.class.getName()+" as membership " +
"where membership.user.name = '"+userName+"'" +
" and membership.group.type = '"+groupType+"'"
);
Modified: jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2009-03-16 15:31:28 UTC (rev 4250)
@@ -73,6 +73,7 @@
import org.jbpm.pvm.internal.util.EqualsUtil;
import org.jbpm.pvm.internal.util.Priority;
import org.jbpm.session.MessageSession;
+import org.jbpm.task.Task;
/**
* @author Tom Baeyens
@@ -978,8 +979,8 @@
fireHistoryEvent(new ActivityEnd(transitionName));
}
- public void historyTaskStart(String assignee) {
- fireHistoryEvent(new TaskStart(assignee));
+ public void historyTaskStart(Task task) {
+ fireHistoryEvent(new TaskStart(task));
}
public void historyTaskEnd(String outcome) {
Modified: jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessElementImpl.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessElementImpl.java 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ProcessElementImpl.java 2009-03-16 15:31:28 UTC (rev 4250)
@@ -28,7 +28,6 @@
import java.util.Set;
import org.jbpm.internal.log.Log;
-import org.jbpm.model.OpenProcessDefinition;
import org.jbpm.pvm.internal.wire.Descriptor;
/**
Modified: jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskDefinitionImpl.java 2009-03-16 15:31:28 UTC (rev 4250)
@@ -24,8 +24,9 @@
import java.io.Serializable;
import java.util.List;
-import org.jbpm.model.ObservableElement;
+import org.jbpm.env.Environment;
import org.jbpm.pvm.internal.model.ProcessElementImpl;
+import org.jbpm.pvm.internal.script.ScriptManager;
import org.jbpm.pvm.internal.util.Priority;
import org.jbpm.pvm.internal.wire.Descriptor;
@@ -46,31 +47,23 @@
protected boolean isSignalling = true;
protected String dueDateDuration;
+ protected String form;
protected List<TaskDefinitionImpl> subTaskDefinitions;
protected int priority = Priority.NORMAL;
protected SwimlaneDefinitionImpl swimlaneDefinition;
protected String assigneeExpression;
+ protected String assigneeExpressionLanguage;
protected String candidatesExpression;
+ protected String candidatesExpressionLanguage;
protected Descriptor assignerDescriptor;
-
- public String getForm() {
- return (String) (properties!=null ? properties.get("form") : null);
- }
-
- public ObservableElement getParent() {
- // TODO Auto-generated method stub
- // huh ?
- return null;
- }
- public boolean hasEvent(String eventName) {
- // TODO Auto-generated method stub
- // huh ?
- return false;
+ public void initialize(TaskImpl task) {
+ ScriptManager scriptManager = Environment.getFromCurrent(ScriptManager.class);
+ String assigneeName = (String) scriptManager.evaluateExpression(assigneeExpression, task.getExecution(), assigneeExpressionLanguage);
+ task.setAssignee(assigneeName);
}
-
// getters and setters //////////////////////////////////////////////////////
public String getAssigneeExpression() {
@@ -139,5 +132,10 @@
public void setDueDateDuration(String dueDateDuration) {
this.dueDateDuration = dueDateDuration;
}
-
+ public String getForm() {
+ return form;
+ }
+ public void setForm(String form) {
+ this.form = form;
+ }
}
Copied: jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JbossIdmIdentitySessionBinding.java (from rev 4247, jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/IdentitySessionBinding.java)
===================================================================
--- jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JbossIdmIdentitySessionBinding.java (rev 0)
+++ jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JbossIdmIdentitySessionBinding.java 2009-03-16 15:31:28 UTC (rev 4250)
@@ -0,0 +1,49 @@
+/*
+ * 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.wire.binding;
+
+import org.jbpm.pvm.internal.wire.descriptor.JbossIdmIdentitySessionDescriptor;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.jbpm.pvm.internal.xml.Parser;
+import org.w3c.dom.Element;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class JbossIdmIdentitySessionBinding extends WireDescriptorBinding {
+
+ public JbossIdmIdentitySessionBinding() {
+ super("jboss-idm-identity-session");
+ }
+
+ public Object parse(Element element, Parse parse, Parser parser) {
+ JbossIdmIdentitySessionDescriptor descriptor = new JbossIdmIdentitySessionDescriptor();
+
+ if (element.hasAttribute("realm")) {
+ descriptor.setRealmName(element.getAttribute("realm"));
+ }
+
+ return descriptor;
+ }
+
+}
Property changes on: jbpm4/branches/tbaeyens/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/JbossIdmIdentitySessionBinding.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: jbpm4/branches/tbaeyens/modules/userguide/.settings/attachedFile.properties
===================================================================
--- jbpm4/branches/tbaeyens/modules/userguide/.settings/attachedFile.properties 2009-03-16 14:24:08 UTC (rev 4249)
+++ jbpm4/branches/tbaeyens/modules/userguide/.settings/attachedFile.properties 2009-03-16 15:31:28 UTC (rev 4250)
@@ -1,2 +1,2 @@
## index of importer -> set(imports)
-#Fri Mar 13 23:53:42 CET 2009
+#Mon Mar 16 12:00:53 CET 2009
More information about the jbpm-commits
mailing list