Author: thomas.diesler(a)jboss.com
Date: 2008-10-30 13:07:47 -0400 (Thu, 30 Oct 2008)
New Revision: 2686
Added:
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredMarshallerTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredTest.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GroupImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/GroupBuilderImpl.java
Removed:
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/RequiresTxMarshallerTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/RequiresTxTest.java
Modified:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Group.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GroupBuilder.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/ProcessStructure.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GateImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParallelGatewayImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParticipantImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertyImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SignalImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java
projects/spec/trunk/modules/ri/src/main/resources/jbpm-cfg-beans.xml
Log:
Add group support in model
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Group.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Group.java 2008-10-30
15:15:36 UTC (rev 2685)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Group.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -41,7 +41,7 @@
/**
* The supported group types
*/
- enum GroupType { Transaction };
+ enum GroupType { None, Transaction };
/**
* Name is an attribute that is text description of the Group.
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java 2008-10-30
15:15:36 UTC (rev 2685)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/Node.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -60,6 +60,9 @@
*/
List<Assignment> getAssignments();
+ /** Get the associated Group */
+ Group getGroupRef();
+
/**
* Get the associated ExecutionHandler
*/
@@ -74,5 +77,4 @@
* Get the associated FlowHandler
*/
FlowHandler getFlowHandler();
-
}
\ No newline at end of file
Modified:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GroupBuilder.java
===================================================================
---
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GroupBuilder.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/GroupBuilder.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -24,6 +24,7 @@
//$Id$
import org.jbpm.api.model.Group;
+import org.jbpm.api.model.Group.GroupType;
/**
@@ -34,6 +35,9 @@
*/
public interface GroupBuilder
{
+ /** Add a new Group*/
+ GroupBuilder newGroup(GroupType type, String name);
+
/**
* Add a message property
*/
Modified:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/ProcessStructure.java
===================================================================
---
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/ProcessStructure.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/internal/ProcessStructure.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -26,6 +26,7 @@
import java.util.List;
import org.jbpm.api.model.Assignment;
+import org.jbpm.api.model.Group;
import org.jbpm.api.model.Message;
import org.jbpm.api.model.Node;
@@ -59,7 +60,6 @@
/**
* Get a node by name.
- *
* @return null if not found
*/
Node getNode(String name);
@@ -72,15 +72,25 @@
/**
* Get the list of associated {@link Message} objects.
- *
* @return An empty list if there are none
*/
List<Message> getMessages();
/**
* Get an associated {@link Message} by name.
- *
* @return null if not found
*/
Message getMessage(String msgName);
+
+ /**
+ * Get the list of associated {@link Group} objects.
+ * @return An empty list if there are none
+ */
+ List<Group> getGroups();
+
+ /**
+ * Get an associated {@link Group} by name.
+ * @return null if not found
+ */
+ Group getGroup(String grpName);
}
\ No newline at end of file
Deleted:
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/RequiresTxMarshallerTest.java
===================================================================
---
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/RequiresTxMarshallerTest.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/RequiresTxMarshallerTest.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -1,51 +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.test.cts.transaction;
-
-// $Id$
-
-import java.io.IOException;
-
-import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.service.ProcessDefinitionService;
-
-/**
- * Test two tasks with Tx attribute REQUIRES
- *
- * @author thomas.diesler(a)jboss.com
- * @since 30-Oct-2008
- */
-public class RequiresTxMarshallerTest extends RequiresTxTest
-{
- protected ProcessDefinition getProcessDefinition() throws IOException
- {
- // Marshall the process to a string
- ProcessDefinition procDef = super.getProcessDefinition();
- String procXML = marshallProcess(procDef);
-
- // System.out.println(procXML);
-
- // Recreate the ProcessDefinition from the marshalled ProcessDefinition
- ProcessDefinitionService pdService =
getProcessEngine().getService(ProcessDefinitionService.class);
- return pdService.createProcessDefinition(procXML);
- }
-}
Deleted:
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/RequiresTxTest.java
===================================================================
---
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/RequiresTxTest.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/RequiresTxTest.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -1,64 +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.test.cts.transaction;
-
-// $Id$
-
-import java.io.IOException;
-
-import org.jbpm.api.Constants;
-import org.jbpm.api.Constants.TxType;
-import org.jbpm.api.model.Process;
-import org.jbpm.api.model.ProcessDefinition;
-import org.jbpm.api.model.Group.GroupType;
-import org.jbpm.api.model.builder.ProcessBuilder;
-import org.jbpm.api.service.ProcessBuilderService;
-import org.jbpm.api.test.CTSTestCase;
-
-/**
- * Test two tasks with Tx attribute REQUIRES
- *
- * @author thomas.diesler(a)jboss.com
- * @since 30-Oct-2008
- */
-public class RequiresTxTest extends CTSTestCase
-{
- public void testUserTask() throws Exception
- {
- ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
- Process proc = procDef.newInstance();
-
- proc.startProcess();
- proc.waitForEnd(1000);
- }
-
- protected ProcessDefinition getProcessDefinition() throws IOException
- {
- ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
- procBuilder.addProcess("RequiresTxTest");
- procBuilder.addStartEvent("Start").addSequenceFlow("TaskA");
- procBuilder.addTask("TaskA").addSequenceFlow("TaskB");
-
procBuilder.addTask("TaskB").addSequenceFlow("End").addEndEvent("End");
- procBuilder.addGroup(GroupType.Transaction,
"TxRequired").addProperty(Constants.TX_ATTRIBUTE, TxType.REQUIRED);
- return procBuilder.getProcessDefinition();
- }
-}
Copied:
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredMarshallerTest.java
(from rev 2685,
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/RequiresTxMarshallerTest.java)
===================================================================
---
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredMarshallerTest.java
(rev 0)
+++
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredMarshallerTest.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -0,0 +1,51 @@
+/*
+ * 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.test.cts.transaction;
+
+// $Id$
+
+import java.io.IOException;
+
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.service.ProcessDefinitionService;
+
+/**
+ * Test two tasks with Tx attribute REQUIRED
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 30-Oct-2008
+ */
+public class TxRequiredMarshallerTest extends TxRequiredTest
+{
+ protected ProcessDefinition getProcessDefinition() throws IOException
+ {
+ // Marshall the process to a string
+ ProcessDefinition procDef = super.getProcessDefinition();
+ String procXML = marshallProcess(procDef);
+
+ System.out.println(procXML);
+
+ // Recreate the ProcessDefinition from the marshalled ProcessDefinition
+ ProcessDefinitionService pdService =
getProcessEngine().getService(ProcessDefinitionService.class);
+ return pdService.createProcessDefinition(procXML);
+ }
+}
Copied:
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredTest.java
(from rev 2685,
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/RequiresTxTest.java)
===================================================================
---
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredTest.java
(rev 0)
+++
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/transaction/TxRequiredTest.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -0,0 +1,77 @@
+/*
+ * 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.test.cts.transaction;
+
+// $Id$
+
+import java.io.IOException;
+
+import org.jbpm.api.Constants;
+import org.jbpm.api.Constants.TxType;
+import org.jbpm.api.model.Group;
+import org.jbpm.api.model.Node;
+import org.jbpm.api.model.Process;
+import org.jbpm.api.model.ProcessDefinition;
+import org.jbpm.api.model.Group.GroupType;
+import org.jbpm.api.model.builder.ProcessBuilder;
+import org.jbpm.api.service.ProcessBuilderService;
+import org.jbpm.api.test.CTSTestCase;
+
+/**
+ * Test two tasks with Tx attribute REQUIRED
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 30-Oct-2008
+ */
+public class TxRequiredTest extends CTSTestCase
+{
+ public void testUserTask() throws Exception
+ {
+ ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
+
+ Node taskA = procDef.getNode("TaskA");
+ Node taskB = procDef.getNode("TaskB");
+ Group group = procDef.getGroup("TxRequired");
+ Group groupA = taskA.getGroupRef();
+ Group groupB = taskB.getGroupRef();
+
+ assertNotNull("Group not null", group);
+ assertSame("Group same", group, groupA);
+ assertSame("Group same", group, groupB);
+
+ Process proc = procDef.newInstance();
+
+ proc.startProcess();
+ proc.waitForEnd(1000);
+ }
+
+ protected ProcessDefinition getProcessDefinition() throws IOException
+ {
+ ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+ procBuilder.addProcess("RequiresTxTest");
+ procBuilder.addStartEvent("Start").addSequenceFlow("TaskA");
+
procBuilder.addTask("TaskA").addGroupRef("TxRequired").addSequenceFlow("TaskB");
+
procBuilder.addTask("TaskB").addGroupRef("TxRequired").addSequenceFlow("End").addEndEvent("End");
+ procBuilder.addGroup(GroupType.Transaction,
"TxRequired").addProperty(Constants.TX_ATTRIBUTE, TxType.REQUIRED);
+ return procBuilder.getProcessDefinition();
+ }
+}
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/AssignmentImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -41,7 +41,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "Assignment")
+@Entity(name = "BPMAssignment")
public class AssignmentImpl implements Assignment
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ComplexGatewayImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -38,7 +38,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "ComplexGateway")
+@Entity(name = "BPMComplexGateway")
public class ComplexGatewayImpl extends GatewayImpl implements ComplexGateway
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/EndEventImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -55,7 +55,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "EndEvent")
+@Entity(name = "BPMEndEvent")
public class EndEventImpl extends EventImpl implements EndEvent, SingleInFlowSupport
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExclusiveGatewayImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -51,7 +51,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "ExclusiveGateway")
+@Entity(name = "BPMExclusiveGateway")
public class ExclusiveGatewayImpl extends GatewayImpl implements ExclusiveGateway
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ExpressionImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -38,7 +38,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "Expression")
+@Entity(name = "BPMExpression")
public class ExpressionImpl implements Expression
{
// provide serial version UID
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GateImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GateImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GateImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -55,7 +55,7 @@
* @author thomas.diesler(a)jboss.com
* @since 10-Oct-2008
*/
-@Entity(name = "Gate")
+@Entity(name = "BPMGate")
public class GateImpl implements Gate
{
// provide serial version UID
Added: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GroupImpl.java
===================================================================
--- projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GroupImpl.java
(rev 0)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GroupImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -0,0 +1,142 @@
+/*
+ * 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.ri.model;
+
+//$Id$
+
+import java.util.Set;
+
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
+
+import org.jbpm.api.model.Group;
+import org.jbpm.api.model.Property;
+import org.jbpm.api.model.internal.PropertySupport;
+
+/**
+ * A Flow Object is one of the set of following graphical objects: Event, Activity, and
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+@Entity(name = "BPMGroup")
+public class GroupImpl implements Group
+{
+ private static final long serialVersionUID = 1L;
+
+ @Id @GeneratedValue
+ protected int id;
+
+ @OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity =
PropertySupportImpl.class)
+ private PropertySupport propSupport = new PropertySupportImpl();
+
+ @Enumerated(EnumType.STRING)
+ private GroupType groupType;
+
+ @Basic
+ private String name;
+
+ @Basic
+ private int groupIndex;
+
+ public GroupImpl(GroupType groupType, String name)
+ {
+ this.groupType = groupType;
+ this.name = name;
+ }
+
+ // Persistence ctor
+ protected GroupImpl()
+ {
+ }
+
+ @Override
+ public GroupType getGroupType()
+ {
+ return groupType;
+ }
+
+ @Override
+ public String getName()
+ {
+ return name;
+ }
+
+ public int getGroupIndex()
+ {
+ return groupIndex;
+ }
+
+ public void setGroupIndex(int groupIndex)
+ {
+ this.groupIndex = groupIndex;
+ }
+
+ @Override
+ public Property getProperty(String name)
+ {
+ return propSupport.getProperty(name);
+ }
+
+ @Override
+ public Set<Property> getProperties()
+ {
+ return propSupport.getProperties();
+ }
+
+ @Override
+ public Set<String> getPropertyNames()
+ {
+ return propSupport.getPropertyNames();
+ }
+
+ @Override
+ public void addProperty(Property prop)
+ {
+ propSupport.addProperty(prop);
+ }
+
+ @Override
+ public void addProperty(String name, Object value)
+ {
+ propSupport.addProperty(name, value);
+ }
+
+ @Override
+ public Property removeProperty(String name)
+ {
+ return propSupport.removeProperty(name);
+ }
+
+ @Override
+ public String toString()
+ {
+ return "Group[" + name + "," + groupType + "]";
+ }
+}
\ No newline at end of file
Property changes on:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/GroupImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InclusiveGatewayImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -54,7 +54,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "InclusiveGateway")
+@Entity(name = "BPMInclusiveGateway")
public class InclusiveGatewayImpl extends GatewayImpl implements InclusiveGateway
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/InputSetImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -37,24 +37,23 @@
import org.jbpm.api.model.Property;
import org.jbpm.api.model.internal.PropertySupport;
-
/**
* An InputSet, which is used in the definition of common attributes for Activities and
for attributes of a Process
*
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity (name = "InputSet")
+@Entity(name = "BPMInputSet")
public class InputSetImpl implements InputSet
{
private static final long serialVersionUID = 1L;
-
+
@Id @GeneratedValue
protected Integer id;
@Basic
private int setIndex;
-
+
@OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity =
PropertySupportImpl.class)
protected PropertySupport propSupport = new PropertySupportImpl();
@@ -103,7 +102,7 @@
{
return propSupport.removeProperty(name);
}
-
+
@Override
public String toString()
{
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/MessageImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -46,7 +46,7 @@
* @author thomas.diesler(a)jboss.com
* @since 21-Jul-2008
*/
-@Entity(name = "Message")
+@Entity(name = "BPMMessage")
public class MessageImpl implements Message
{
private static final long serialVersionUID = 1L;
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -43,6 +43,7 @@
import org.jbpm.api.NameNotUniqueException;
import org.jbpm.api.model.Assignment;
import org.jbpm.api.model.EndEvent;
+import org.jbpm.api.model.Group;
import org.jbpm.api.model.Node;
import org.jbpm.api.model.Process;
import org.jbpm.api.model.ProcessDefinition;
@@ -72,7 +73,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "Node")
+@Entity(name = "BPMNode")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class NodeImpl extends AbstractElementImpl implements Node
{
@@ -125,6 +126,9 @@
@ManyToOne(targetEntity = ProcessImpl.class)
private Process proc;
+ @ManyToOne(targetEntity = GroupImpl.class)
+ private Group groupRef;
+
public NodeImpl(ProcessStructure procStruct, String name)
{
this.procStruct = procStruct;
@@ -169,6 +173,17 @@
}
@Override
+ public Group getGroupRef()
+ {
+ return groupRef;
+ }
+
+ public void setGroupRef(Group groupRef)
+ {
+ this.groupRef = groupRef;
+ }
+
+ @Override
public Property getProperty(String name)
{
return propSupport.getProperty(name);
@@ -397,6 +412,17 @@
throw new NameNotUniqueException(toString());
}
+ // Initialize the groupRef
+ if (groupRef != null)
+ {
+ String grpName = groupRef.getName();
+ Group procGroup = procStruct.getGroup(grpName);
+ if (procGroup == null)
+ throw new InvalidProcessException("Cannot obtain group for name: " +
grpName);
+
+ this.groupRef = procGroup;
+ }
+
// Initialize in/out flows
SequenceFlow outFlow = null;
if (this instanceof SingleOutFlowSupport)
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/OutputSetImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -37,24 +37,23 @@
import org.jbpm.api.model.Property;
import org.jbpm.api.model.internal.PropertySupport;
-
/**
* An OutputSet, which is used in the definition of common attributes for Activities and
for attributes of a Process
*
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity (name = "OutputSet")
+@Entity(name = "BPMOutputSet")
public class OutputSetImpl implements OutputSet
{
private static final long serialVersionUID = 1L;
-
+
@Id @GeneratedValue
protected Integer id;
@Basic
private int setIndex;
-
+
@OneToOne(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity =
PropertySupportImpl.class)
protected PropertySupport propSupport = new PropertySupportImpl();
@@ -103,7 +102,7 @@
{
return propSupport.removeProperty(name);
}
-
+
@Override
public String toString()
{
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParallelGatewayImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParallelGatewayImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParallelGatewayImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -50,7 +50,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "ParallelGateway")
+@Entity(name = "BPMParallelGateway")
public class ParallelGatewayImpl extends GatewayImpl implements ParallelGateway
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParticipantImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParticipantImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ParticipantImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -39,7 +39,7 @@
* @author thomas.diesler(a)jboss.com
* @since 21-Jul-2008
*/
-@Entity(name = "Participant")
+@Entity(name = "BPMParticipant")
public class ParticipantImpl implements Participant
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessDefinitionImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -42,6 +42,7 @@
import org.jbpm.api.Constants;
import org.jbpm.api.client.ProcessEngine;
import org.jbpm.api.model.Assignment;
+import org.jbpm.api.model.Group;
import org.jbpm.api.model.Message;
import org.jbpm.api.model.Node;
import org.jbpm.api.model.Process;
@@ -58,7 +59,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "ProcessDefinition")
+@Entity(name = "BPMProcessDefinition")
public class ProcessDefinitionImpl extends AbstractElementImpl implements
ProcessDefinition
{
private static final long serialVersionUID = 1L;
@@ -163,6 +164,18 @@
}
@Override
+ public Group getGroup(String grpName)
+ {
+ return procStruct.getGroup(grpName);
+ }
+
+ @Override
+ public List<Group> getGroups()
+ {
+ return procStruct.getGroups();
+ }
+
+ @Override
public Property getProperty(String name)
{
return procStruct.getProperty(name);
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -39,6 +39,7 @@
import org.jbpm.api.Constants;
import org.jbpm.api.client.ProcessEngine;
import org.jbpm.api.model.Assignment;
+import org.jbpm.api.model.Group;
import org.jbpm.api.model.Message;
import org.jbpm.api.model.Node;
import org.jbpm.api.model.Process;
@@ -58,7 +59,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "Process")
+@Entity(name = "BPMProcess")
public class ProcessImpl extends AbstractElementImpl implements Process
{
private static final long serialVersionUID = 1L;
@@ -166,6 +167,18 @@
}
@Override
+ public Group getGroup(String grpName)
+ {
+ return procStruct.getGroup(grpName);
+ }
+
+ @Override
+ public List<Group> getGroups()
+ {
+ return procStruct.getGroups();
+ }
+
+ @Override
public Property getProperty(String name)
{
return procStruct.getProperty(name);
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ProcessStructureImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -43,6 +43,7 @@
import org.jbpm.api.client.ProcessEngine;
import org.jbpm.api.model.Assignment;
import org.jbpm.api.model.EndEvent;
+import org.jbpm.api.model.Group;
import org.jbpm.api.model.Message;
import org.jbpm.api.model.Node;
import org.jbpm.api.model.Process;
@@ -61,7 +62,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "ProcessStructure")
+@Entity(name = "BPMProcessStructure")
public class ProcessStructureImpl extends AbstractElementImpl implements
ProcessStructure
{
private static final long serialVersionUID = 1L;
@@ -87,6 +88,10 @@
@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity =
AssignmentImpl.class)
private List<Assignment> assignments = new ArrayList<Assignment>();
+ @IndexColumn(name = "groupIndex")
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, targetEntity =
GroupImpl.class)
+ private List<Group> groups = new ArrayList<Group>();
+
public ProcessStructureImpl(ProcessEngine engine, String name)
{
super(engine);
@@ -253,7 +258,34 @@
return propSupport.removeProperty(name);
}
+ public void addGroup(GroupImpl groupImpl)
+ {
+ groupImpl.setGroupIndex(groups.size());
+ groups.add(groupImpl);
+ }
+
@Override
+ public Group getGroup(String grpName)
+ {
+ Group retGroup = null;
+ for (Group auxGroup : groups)
+ {
+ if (auxGroup.getName().equals(grpName))
+ {
+ retGroup = auxGroup;
+ break;
+ }
+ }
+ return retGroup;
+ }
+
+ @Override
+ public List<Group> getGroups()
+ {
+ return Collections.unmodifiableList(groups);
+ }
+
+ @Override
public void create(ProcessDefinition procDef)
{
super.create(procDef);
@@ -268,6 +300,7 @@
if (getNodes(EndEvent.class).size() == 0)
throw new InvalidProcessException("Process does not have end events");
+ // Initialize the nodes
for (Node node : getNodes())
{
NodeImpl nodeImpl = (NodeImpl)node;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertyImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertyImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertyImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -36,7 +36,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity (name = "Property")
+@Entity(name = "BPMProperty")
public class PropertyImpl implements Property
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/PropertySupportImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -46,7 +46,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "PropertySupport")
+@Entity(name = "BPMPropertySupport")
public class PropertySupportImpl implements PropertySupport
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/ReceiveTaskImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -50,7 +50,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "ReceiveTask")
+@Entity(name = "BPMReceiveTask")
public class ReceiveTaskImpl extends TaskImpl implements ReceiveTask, MessageListener
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SendTaskImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -45,7 +45,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "SendTask")
+@Entity(name = "BPMSendTask")
public class SendTaskImpl extends TaskImpl implements SendTask
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -45,7 +45,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "SequenceFlow")
+@Entity(name = "BPMSequenceFlow")
public class SequenceFlowImpl implements SequenceFlow
{
// provide serial version UID
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SignalImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SignalImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/SignalImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -40,7 +40,7 @@
* @author Thomas.Diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "Signal")
+@Entity(name = "BPMSignal")
public final class SignalImpl implements Signal
{
private static final long serialVersionUID = 1L;
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/StartEventImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -56,7 +56,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "StartEvent")
+@Entity(name = "BPMStartEvent")
public class StartEventImpl extends EventImpl implements StartEvent,
SingleOutFlowSupport
{
private static final long serialVersionUID = 1L;
Modified: projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -69,7 +69,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "Task")
+@Entity(name = "BPMTask")
public class TaskImpl extends NodeImpl implements Task, SingleOutFlowSupport,
SingleInFlowSupport
{
// provide serial version UID
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/UserTaskImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -55,7 +55,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity(name = "UserTask")
+@Entity(name = "BPMUserTask")
public class UserTaskImpl extends TaskImpl implements UserTask, MessageListener
{
private static final long serialVersionUID = 1L;
Added:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/GroupBuilderImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/GroupBuilderImpl.java
(rev 0)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/GroupBuilderImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -0,0 +1,61 @@
+/*
+ * 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.ri.model.builder;
+
+//$Id$
+
+import org.jbpm.api.model.Group;
+import org.jbpm.api.model.Group.GroupType;
+import org.jbpm.api.model.builder.GroupBuilder;
+import org.jbpm.ri.model.GroupImpl;
+
+
+/**
+ * A GroupBuilder can be used to build a {@link Group} dynamically.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 30-Oct-2008
+ */
+public class GroupBuilderImpl implements GroupBuilder
+{
+ private Group group;
+
+ @Override
+ public GroupBuilder newGroup(GroupType type, String name)
+ {
+ group = new GroupImpl(type, name);
+ return this;
+ }
+
+ @Override
+ public GroupBuilder addProperty(String name, Object value)
+ {
+ group.addProperty(name, value);
+ return this;
+ }
+
+ @Override
+ public Group getGroup()
+ {
+ return group;
+ }
+}
\ No newline at end of file
Property changes on:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/GroupBuilderImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified:
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java
===================================================================
---
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java 2008-10-30
15:15:36 UTC (rev 2685)
+++
projects/spec/trunk/modules/ri/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java 2008-10-30
17:07:47 UTC (rev 2686)
@@ -31,9 +31,11 @@
import org.jbpm.api.model.Event.EventDetailType;
import org.jbpm.api.model.Expression.ExpressionLanguage;
import org.jbpm.api.model.Gateway.GatewayType;
+import org.jbpm.api.model.Group.GroupType;
import org.jbpm.api.model.Task.TaskType;
import org.jbpm.api.model.builder.EventBuilder;
import org.jbpm.api.model.builder.GatewayBuilder;
+import org.jbpm.api.model.builder.GroupBuilder;
import org.jbpm.api.model.builder.MessageBuilder;
import org.jbpm.api.model.builder.ProcessBuilder;
import org.jbpm.api.model.builder.TaskBuilder;
@@ -46,6 +48,7 @@
import org.jbpm.ri.model.EventImpl;
import org.jbpm.ri.model.ExclusiveGatewayImpl;
import org.jbpm.ri.model.ExpressionImpl;
+import org.jbpm.ri.model.GroupImpl;
import org.jbpm.ri.model.InclusiveGatewayImpl;
import org.jbpm.ri.model.NodeImpl;
import org.jbpm.ri.model.ParallelGatewayImpl;
@@ -127,7 +130,7 @@
addNode(node = startImpl);
return new EventBuilderImpl(this);
}
-
+
public EventBuilder addEvent(String name)
{
addNode(node = new EventImpl(procStruct, name));
@@ -224,7 +227,7 @@
getProcessStructure().addAssignment(assignment);
return this;
}
-
+
public ProcessBuilder addNodeAssignment(AssignTime time, ExpressionLanguage lang,
String fromExpr, String toProp)
{
AssignmentImpl assignment = getAssignment(time, lang, fromExpr, toProp);
@@ -239,7 +242,7 @@
AssignmentImpl assignment = new AssignmentImpl(time, from, to);
return assignment;
}
-
+
public <T extends ExecutionHandler> ProcessBuilder
addExecutionHandler(Class<T> clazz)
{
getNodeInternal().setExecutionHandler(clazz);
@@ -279,6 +282,21 @@
return this;
}
+ @Override
+ public GroupBuilder addGroup(GroupType type, String name)
+ {
+ GroupBuilder groupBuilder = new GroupBuilderImpl().newGroup(type, name);
+ getProcessStructure().addGroup((GroupImpl)groupBuilder.getGroup());
+ return groupBuilder;
+ }
+
+ @Override
+ public ProcessBuilder addGroupRef(String grpName)
+ {
+ getNodeInternal().setGroupRef(new GroupImpl(GroupType.None, grpName));
+ return this;
+ }
+
private ProcessBuilder addNode(NodeImpl nodeImpl)
{
getProcessStructure().addNode(nodeImpl);
Modified: projects/spec/trunk/modules/ri/src/main/resources/jbpm-cfg-beans.xml
===================================================================
--- projects/spec/trunk/modules/ri/src/main/resources/jbpm-cfg-beans.xml 2008-10-30
15:15:36 UTC (rev 2685)
+++ projects/spec/trunk/modules/ri/src/main/resources/jbpm-cfg-beans.xml 2008-10-30
17:07:47 UTC (rev 2686)
@@ -33,6 +33,7 @@
<value>org.jbpm.ri.model.ExclusiveGatewayImpl</value>
<value>org.jbpm.ri.model.ExpressionImpl</value>
<value>org.jbpm.ri.model.GatewayImpl</value>
+ <value>org.jbpm.ri.model.GroupImpl</value>
<value>org.jbpm.ri.model.InclusiveGatewayImpl</value>
<value>org.jbpm.ri.model.InputSetImpl</value>
<value>org.jbpm.ri.model.MessageImpl</value>