[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