JBoss JBPM SVN: r2425 - in jbpm3/trunk/modules/examples: src/test/java/org/jbpm/examples/businesstrip and 1 other directory.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-29 05:32:46 -0400 (Mon, 29 Sep 2008)
New Revision: 2425
Modified:
jbpm3/trunk/modules/examples/pom.xml
jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java
Log:
[JBPM-1744] Fix examples/businesstrip
Modified: jbpm3/trunk/modules/examples/pom.xml
===================================================================
--- jbpm3/trunk/modules/examples/pom.xml 2008-09-29 09:28:02 UTC (rev 2424)
+++ jbpm3/trunk/modules/examples/pom.xml 2008-09-29 09:32:46 UTC (rev 2425)
@@ -97,8 +97,6 @@
<configuration>
<!-- [JBPM-1290] Integrate example tests in automated testrun -->
<excludes>
- <exclude>org/jbpm/examples/assignment/**</exclude>
- <exclude>org/jbpm/examples/businesstrip/**</exclude>
<exclude>org/jbpm/examples/door/**</exclude>
<exclude>org/jbpm/examples/mail/**</exclude>
<exclude>org/jbpm/examples/raise/**</exclude>
Modified: jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java
===================================================================
--- jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java 2008-09-29 09:28:02 UTC (rev 2424)
+++ jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/businesstrip/BusinessTripRequestTest.java 2008-09-29 09:32:46 UTC (rev 2425)
@@ -18,168 +18,161 @@
import org.jbpm.taskmgmt.exe.TaskInstance;
import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
-public class BusinessTripRequestTest extends TestCase {
- Log log = LogFactory.getLog(this.getClass());
+public class BusinessTripRequestTest extends TestCase
+{
+ Log log = LogFactory.getLog(this.getClass());
- JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
- DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory) jbpmConfiguration
- .getServiceFactory(Services.SERVICENAME_PERSISTENCE);
+ JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
+ DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory)jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
- JbpmContext jbpmContext;
+ JbpmContext jbpmContext;
- ProcessInstance processInstance = null;
- ContextInstance contextInstance = null;
- TaskMgmtInstance taskMgmtInstance = null;
- long processInstanceId = -1;
+ ProcessInstance processInstance;
+ ContextInstance contextInstance;
+ TaskMgmtInstance taskMgmtInstance;
+ long processInstanceId = -1;
- public void setUp() {
- dbPersistenceServiceFactory.createSchema();
- deployProcess();
- jbpmContext = jbpmConfiguration.createJbpmContext();
- }
+ public void setUp()
+ {
+ dbPersistenceServiceFactory.createSchema();
+ deployProcess();
+ jbpmContext = jbpmConfiguration.createJbpmContext();
+ }
- public void tearDown() {
- jbpmContext.close();
- dbPersistenceServiceFactory.dropSchema();
- jbpmContext = null;
- }
+ public void tearDown()
+ {
+ jbpmContext.close();
+ dbPersistenceServiceFactory.dropSchema();
+ jbpmContext = null;
+ }
- private void newTransaction() {
- jbpmContext.close();
- jbpmContext = jbpmConfiguration.createJbpmContext();
- }
+ private void newTransaction()
+ {
+ jbpmContext.close();
+ jbpmContext = jbpmConfiguration.createJbpmContext();
+ }
- private void deployProcess() {
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- ProcessDefinition processDefinition = ProcessDefinition
- .parseXmlResource("processdefinition.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- } finally {
- jbpmContext.close();
- }
- }
+ private void deployProcess()
+ {
+ JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
+ try
+ {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("businesstrip/processdefinition.xml");
+ jbpmContext.deployProcessDefinition(processDefinition);
+ }
+ finally
+ {
+ jbpmContext.close();
+ }
+ }
- private TaskInstance createNewProcessInstance() {
- processInstance = jbpmContext
- .newProcessInstanceForUpdate("business trip request");
- processInstanceId = processInstance.getId();
- contextInstance = processInstance.getContextInstance();
- taskMgmtInstance = processInstance.getTaskMgmtInstance();
- return processInstance.getTaskMgmtInstance().createStartTaskInstance();
- }
+ private TaskInstance createNewProcessInstance()
+ {
+ processInstance = jbpmContext.newProcessInstanceForUpdate("business trip request");
+ processInstanceId = processInstance.getId();
+ contextInstance = processInstance.getContextInstance();
+ taskMgmtInstance = processInstance.getTaskMgmtInstance();
+ return processInstance.getTaskMgmtInstance().createStartTaskInstance();
+ }
- public void testTaskParameters() {
- TaskInstance taskInstance = createNewProcessInstance();
- assertEquals("submit business trip request", taskInstance.getName());
- assertEquals(0, taskInstance.getVariables().size());
- }
+ public void testTaskParameters()
+ {
+ TaskInstance taskInstance = createNewProcessInstance();
+ assertEquals("submit business trip request", taskInstance.getName());
+ assertEquals(0, taskInstance.getVariables().size());
+ }
- public void testSubmitRaiseRequestTask() {
- jbpmContext.setActorId("employee");
- TaskInstance taskInstance = createNewProcessInstance();
+ public void testSubmitRaiseRequestTask()
+ {
+ jbpmContext.setActorId("employee");
+ TaskInstance taskInstance = createNewProcessInstance();
- Map<String, Object> taskVariables = new HashMap<String, Object>();
+ Map<String, Object> taskVariables = new HashMap<String, Object>();
- taskVariables.put("purpose", "Conference in MIT");
- taskVariables
- .put(
- "description",
- "This conference is mainly to highlight to impact of ESB technologies on the current industries");
- taskVariables.put("allocated budget", 3000);
- taskVariables.put("start date", "8/12/2009");
- taskVariables.put("end date", "8/21/2009");
- taskInstance.addVariables(taskVariables);
- taskInstance.end();
+ taskVariables.put("purpose", "Conference in MIT");
+ taskVariables.put("description", "This conference is mainly to highlight to impact of ESB technologies on the current industries");
+ taskVariables.put("allocated budget", 3000);
+ taskVariables.put("start date", "8/12/2009");
+ taskVariables.put("end date", "8/21/2009");
+ taskInstance.addVariables(taskVariables);
+ taskInstance.end();
- assertEquals("Conference in MIT", contextInstance.getVariable("purpose"));
- assertEquals(
- "This conference is mainly to highlight to impact of ESB technologies on the current industries",
- contextInstance.getVariable("description"));
- assertEquals(3000, contextInstance.getVariable("allocated budget"));
- assertEquals("8/12/2009", contextInstance.getVariable("start date"));
- assertEquals("8/21/2009", contextInstance.getVariable("end date"));
- assertEquals("employee", taskMgmtInstance.getSwimlaneInstance("employee")
- .getActorId());
- }
+ assertEquals("Conference in MIT", contextInstance.getVariable("purpose"));
+ assertEquals("This conference is mainly to highlight to impact of ESB technologies on the current industries", contextInstance.getVariable("description"));
+ assertEquals(3000, contextInstance.getVariable("allocated budget"));
+ assertEquals("8/12/2009", contextInstance.getVariable("start date"));
+ assertEquals("8/21/2009", contextInstance.getVariable("end date"));
+ assertEquals("employee", taskMgmtInstance.getSwimlaneInstance("employee").getActorId());
+ }
- @SuppressWarnings("unchecked")
- public void testRejectBusinessTripRequest() {
- // Employee submits a business trip request
- jbpmContext.setActorId("employee");
- TaskInstance taskInstance = createNewProcessInstance();
+ @SuppressWarnings("unchecked")
+ public void testRejectBusinessTripRequest()
+ {
+ // Employee submits a business trip request
+ jbpmContext.setActorId("employee");
+ TaskInstance taskInstance = createNewProcessInstance();
- Map<String, Object> taskVariables = new HashMap<String, Object>();
- taskVariables.put("purpose", "Conference in MIT");
- taskVariables
- .put(
- "description",
- "This conference is mainly to highlight to impact of ESB technologies on the current industries");
- taskVariables.put("allocated budget", 3000);
- taskVariables.put("start date", "8/12/2009");
- taskVariables.put("end date", "8/21/2009");
+ Map<String, Object> taskVariables = new HashMap<String, Object>();
+ taskVariables.put("purpose", "Conference in MIT");
+ taskVariables.put("description", "This conference is mainly to highlight to impact of ESB technologies on the current industries");
+ taskVariables.put("allocated budget", 3000);
+ taskVariables.put("start date", "8/12/2009");
+ taskVariables.put("end date", "8/21/2009");
- taskInstance.addVariables(taskVariables);
- taskInstance.end();
- jbpmContext.save(processInstance);
- processInstanceId = processInstance.getId();
+ taskInstance.addVariables(taskVariables);
+ taskInstance.end();
+ jbpmContext.save(processInstance);
+ processInstanceId = processInstance.getId();
- // Manager rejects the raise request
- newTransaction();
- log.info(jbpmContext.getTaskMgmtSession()
- .findTaskInstancesByProcessInstance(processInstance).size());
+ // Manager rejects the raise request
+ newTransaction();
+ log.info(jbpmContext.getTaskMgmtSession().findTaskInstancesByProcessInstance(processInstance).size());
- List<TaskInstance> managerTasksList = jbpmContext.getTaskMgmtSession()
- .findTaskInstances("manager");
- assertEquals(1, managerTasksList.size());
+ List<TaskInstance> managerTasksList = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
+ assertEquals(1, managerTasksList.size());
- TaskInstance managerTask = managerTasksList.get(0);
- managerTask
- .addComment("Conference theme doesn't align with company's current focus");
- managerTask.end("reject");
- assertEquals("manager", managerTask.getActorId());
- }
+ TaskInstance managerTask = managerTasksList.get(0);
+ managerTask.addComment("Conference theme doesn't align with company's current focus");
+ managerTask.end("reject");
+ assertEquals("manager", managerTask.getActorId());
+ }
- @SuppressWarnings("unchecked")
- public void testAcceptBusinessTripRequest() {
- // Employee submits a raise request
- jbpmContext.setActorId("employee");
- TaskInstance taskInstance = createNewProcessInstance();
+ @SuppressWarnings("unchecked")
+ public void testAcceptBusinessTripRequest()
+ {
+ // Employee submits a raise request
+ jbpmContext.setActorId("employee");
+ TaskInstance taskInstance = createNewProcessInstance();
- Map<String, Object> taskVariables = new HashMap<String, Object>();
- taskVariables.put("purpose", "Conference in MIT");
- taskVariables
- .put(
- "description",
- "This conference is mainly to highlight to impact of ESB technologies on the current industries");
- taskVariables.put("allocated budget", 3000);
- taskVariables.put("start date", "8/12/2009");
- taskVariables.put("end date", "8/21/2009");
- taskVariables.put("country", "USA");
- taskVariables.put("city", "Kansas");
- taskInstance.addVariables(taskVariables);
- taskInstance.end();
- jbpmContext.save(processInstance);
- processInstanceId = processInstance.getId();
+ Map<String, Object> taskVariables = new HashMap<String, Object>();
+ taskVariables.put("purpose", "Conference in MIT");
+ taskVariables.put("description", "This conference is mainly to highlight to impact of ESB technologies on the current industries");
+ taskVariables.put("allocated budget", 3000);
+ taskVariables.put("start date", "8/12/2009");
+ taskVariables.put("end date", "8/21/2009");
+ taskVariables.put("country", "USA");
+ taskVariables.put("city", "Kansas");
+ taskInstance.addVariables(taskVariables);
+ taskInstance.end();
+ jbpmContext.save(processInstance);
+ processInstanceId = processInstance.getId();
- // Manager rejects the raise request
- newTransaction();
- List<TaskInstance> managerTasksList = jbpmContext.getTaskMgmtSession()
- .findTaskInstances("manager");
- assertEquals(1, managerTasksList.size());
+ // Manager rejects the raise request
+ newTransaction();
+ List<TaskInstance> managerTasksList = jbpmContext.getTaskMgmtSession().findTaskInstances("manager");
+ assertEquals(1, managerTasksList.size());
- TaskInstance managerTask = managerTasksList.get(0);
- managerTask.addComment("Business trip approved");
- managerTask.end("approve");
- assertEquals("manager", managerTask.getActorId());
- jbpmContext.save(managerTask);
+ TaskInstance managerTask = managerTasksList.get(0);
+ managerTask.addComment("Business trip approved");
+ managerTask.end("approve");
+ assertEquals("manager", managerTask.getActorId());
+ jbpmContext.save(managerTask);
- newTransaction();
- List<TaskInstance> accountantTasksList = jbpmContext.getTaskMgmtSession()
- .findTaskInstances("accountant");
- assertEquals(1, accountantTasksList.size());
- TaskInstance accountantTask = accountantTasksList.get(0);
- accountantTask.end();
- jbpmContext.save(accountantTask);
- }
+ newTransaction();
+ List<TaskInstance> accountantTasksList = jbpmContext.getTaskMgmtSession().findTaskInstances("accountant");
+ assertEquals(1, accountantTasksList.size());
+ TaskInstance accountantTask = accountantTasksList.get(0);
+ accountantTask.end();
+ jbpmContext.save(accountantTask);
+ }
}
17 years, 6 months
JBoss JBPM SVN: r2424 - in jbpm3/trunk: modules/examples and 3 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-29 05:28:02 -0400 (Mon, 29 Sep 2008)
New Revision: 2424
Modified:
jbpm3/trunk/modules/examples/.classpath
jbpm3/trunk/modules/examples/pom.xml
jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentHandler.java
jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java
jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/rulesAction/RulesActionHandler.java
jbpm3/trunk/modules/examples/src/test/resources/assignment/Assignment.drl
jbpm3/trunk/modules/examples/src/test/resources/assignment/processdefinition.xml
jbpm3/trunk/pom.xml
Log:
[JBPM-1743] Fix examples/assignment
Modified: jbpm3/trunk/modules/examples/.classpath
===================================================================
--- jbpm3/trunk/modules/examples/.classpath 2008-09-29 08:14:22 UTC (rev 2423)
+++ jbpm3/trunk/modules/examples/.classpath 2008-09-29 09:28:02 UTC (rev 2424)
@@ -4,5 +4,5 @@
<classpathentry excluding="**" kind="src" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="output" path="target/test-classes"/>
</classpath>
Modified: jbpm3/trunk/modules/examples/pom.xml
===================================================================
--- jbpm3/trunk/modules/examples/pom.xml 2008-09-29 08:14:22 UTC (rev 2423)
+++ jbpm3/trunk/modules/examples/pom.xml 2008-09-29 09:28:02 UTC (rev 2424)
@@ -36,15 +36,21 @@
<artifactId>jbpm-identity</artifactId>
<version>${version}</version>
</dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-core</artifactId>
+ <classifier>config</classifier>
+ <version>${version}</version>
+ </dependency>
<!-- Test Dependencies -->
<dependency>
- <groupId>drools</groupId>
+ <groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>drools</groupId>
+ <groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
<scope>test</scope>
</dependency>
Modified: jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentHandler.java
===================================================================
--- jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentHandler.java 2008-09-29 08:14:22 UTC (rev 2423)
+++ jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentHandler.java 2008-09-29 09:28:02 UTC (rev 2424)
@@ -1,107 +1,118 @@
package org.jbpm.examples.assignment;
-import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Iterator;
import java.util.List;
-import org.drools.PackageIntegrationException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
-import org.drools.RuleIntegrationException;
import org.drools.WorkingMemory;
-import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilder;
-import org.drools.rule.InvalidPatternException;
import org.hibernate.Query;
import org.hibernate.Session;
+import org.jbpm.JbpmConfiguration;
import org.jbpm.context.exe.ContextInstance;
import org.jbpm.graph.exe.ExecutionContext;
import org.jbpm.identity.Entity;
import org.jbpm.taskmgmt.def.AssignmentHandler;
import org.jbpm.taskmgmt.exe.Assignable;
-public class RulesAssignmentHandler implements AssignmentHandler {
-
+public class RulesAssignmentHandler implements AssignmentHandler
+{
private static final long serialVersionUID = 1L;
+ private static Log log = LogFactory.getLog(RulesAssignmentHandler.class);
+
public String group;
- public static String ruleFile;
+ public String ruleFile;
public List objectNames;
- public void assign(Assignable assignable, ExecutionContext executionContext) throws Exception {
+ public void assign(Assignable assignable, ExecutionContext executionContext) throws Exception
+ {
// load up the rulebase
RuleBase ruleBase = readRule(ruleFile);
- WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
// load the data
Session s = executionContext.getJbpmContext().getSession();
- System.out.println("************** Session is :" + s.toString());
+ log.debug("************** Session is :" + s.toString());
assertObjects(getUsers(s), workingMemory);
assertObjects(getGroupByName(s, group), workingMemory);
assertObjects(getMemberships(s), workingMemory);
Object object = null;
- System.out.println(objectNames.toString());
+ log.debug(objectNames.toString());
Iterator iter = objectNames.iterator();
String objectName = "";
ContextInstance ci = executionContext.getContextInstance();
- while (iter.hasNext()) {
- objectName = (String) iter.next();
+ while (iter.hasNext())
+ {
+ objectName = (String)iter.next();
object = ci.getVariable(objectName);
- System.out.println("object name is: " + objectName);
+ log.debug("object name is: " + objectName);
// assert the object into the rules engine
- workingMemory.assertObject(object);
+ workingMemory.insert(object);
}
// assert the assignable so that it may be used to set results
- System.out.println("assignable is: " + assignable);
+ log.debug("assignable is: " + assignable);
- workingMemory.assertObject(assignable);
- System.out.println("fire all rules: ");
+ workingMemory.insert(assignable);
+ log.debug("fire all rules: ");
workingMemory.fireAllRules();
}
/**
* Please note that this is the "low level" rule assembly API.
*/
- private static RuleBase readRule(String ruleFileName) throws IOException, DroolsParserException, RuleIntegrationException, PackageIntegrationException,
- InvalidPatternException, Exception {
+ private static RuleBase readRule(String ruleFileName) throws Exception
+ {
+ InputStream resStream = RulesAssignmentHandler.class.getResourceAsStream(ruleFileName);
+ if (resStream == null)
+ throw new IllegalStateException("Cannot obtain rules from: " + ruleFileName);
PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl(new InputStreamReader(RulesAssignmentHandler.class.getResourceAsStream(ruleFileName)));
+ builder.addPackageFromDrl(new InputStreamReader(resStream));
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage(builder.getPackage());
return ruleBase;
}
- private List getUsers(Session session) {
+ private List getUsers(Session session)
+ {
Query query = session.createQuery("select u " + "from org.jbpm.identity.User as u");
return query.list();
}
- private List getGroupByName(Session session, String groupName) {
+ private List getGroupByName(Session session, String groupName)
+ {
Query query = session.createQuery("select g " + "from org.jbpm.identity.Group as g " + "where g.name = :groupName");
- System.out.println("groupName is: " + groupName);
+ log.debug("groupName is: " + groupName);
query.setString("groupName", groupName);
return query.list();
}
- private List getMemberships(Session session) {
+ private List getMemberships(Session session)
+ {
Query query = session.createQuery("select m " + "from org.jbpm.identity.Membership as m");
return query.list();
}
- private void assertObjects(List objectList, WorkingMemory workingMemory) {
+ private void assertObjects(List objectList, WorkingMemory workingMemory)
+ {
Iterator iter = objectList.iterator();
Entity entity = null;
- while (iter.hasNext()) {
- entity = (Entity) iter.next();
- System.out.println("object is: " + entity.getName());
- workingMemory.assertObject(entity);
+ while (iter.hasNext())
+ {
+ entity = (Entity)iter.next();
+ log.debug("object is: " + entity.getName());
+ workingMemory.insert(entity);
}
}
Modified: jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java
===================================================================
--- jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java 2008-09-29 08:14:22 UTC (rev 2423)
+++ jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/assignment/RulesAssignmentTest.java 2008-09-29 09:28:02 UTC (rev 2424)
@@ -43,16 +43,17 @@
/**
* This example shows how to invoke JBoss Rules from an AssignmentHandler.
*/
-public class RulesAssignmentTest extends TestCase {
-
+public class RulesAssignmentTest extends TestCase
+{
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
- DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory) jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
+ DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory)jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
JbpmContext jbpmContext;
long processInstanceId;
- public void setUp() {
+ public void setUp()
+ {
dbPersistenceServiceFactory.createSchema();
loadIdentities();
@@ -60,41 +61,53 @@
jbpmContext = jbpmConfiguration.createJbpmContext();
}
- protected void tearDown() {
+ protected void tearDown()
+ {
jbpmContext.close();
dbPersistenceServiceFactory.dropSchema();
jbpmContext = null;
}
- public void deployProcess() {
+ public void deployProcess()
+ {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("RulesAssignment/processdefinition.xml");
+ try
+ {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("assignment/processdefinition.xml");
jbpmContext.deployProcessDefinition(processDefinition);
- } finally {
+ }
+ finally
+ {
jbpmContext.close();
}
}
- public void loadIdentities() {
+ public void loadIdentities()
+ {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- Entity[] entities = IdentityXmlParser.parseEntitiesResource("identity.db.xml");
+ try
+ {
+ Entity[] entities = IdentityXmlParser.parseEntitiesResource("assignment/identity.db.xml");
IdentitySession identitySession = new IdentitySession(jbpmContext.getSession());
- for (int i = 0; i < entities.length; i++) {
+ for (int i = 0; i < entities.length; i++)
+ {
identitySession.saveEntity(entities[i]);
}
- } finally {
+ }
+ finally
+ {
jbpmContext.close();
}
}
- public void newTransaction() {
+ public void newTransaction()
+ {
jbpmContext.close();
jbpmContext = jbpmConfiguration.createJbpmContext();
}
- public void testRulesAssignment() {
+ public void testRulesAssignment()
+ {
// start process
newTransaction();
processInstanceId = createNewProcessInstance();
@@ -121,7 +134,8 @@
}
- public long createNewProcessInstance() {
+ public long createNewProcessInstance()
+ {
String processDefinitionName = "RulesAssignment";
ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate(processDefinitionName);
long id = processInstance.getId();
@@ -134,14 +148,16 @@
return id;
}
- public long acquireTask(String actorId) {
+ public long acquireTask(String actorId)
+ {
List<TaskInstance> tasklist = getTaskList(actorId);
Iterator taskIterator = tasklist.iterator();
TaskInstance taskInstance = null;
long taskInstanceId = 0;
- while (taskIterator.hasNext()) {
- taskInstance = (TaskInstance) taskIterator.next();
+ while (taskIterator.hasNext())
+ {
+ taskInstance = (TaskInstance)taskIterator.next();
taskInstanceId = taskInstance.getId();
taskInstance.start();
@@ -149,19 +165,22 @@
return taskInstanceId;
}
- public void completeTask(long taskInstanceId) {
+ public void completeTask(long taskInstanceId)
+ {
TaskInstance taskInstance = jbpmContext.getTaskInstance(taskInstanceId);
taskInstance.end();
}
- public List<TaskInstance> getTaskList(String actorId) {
+ public List<TaskInstance> getTaskList(String actorId)
+ {
newTransaction();
List<TaskInstance> taskList = jbpmContext.getTaskList(actorId);
return taskList;
}
- public ProcessInstance getProcessInstance(long processInstanceId) {
- ProcessInstance processInstance = (ProcessInstance) jbpmContext.loadProcessInstanceForUpdate(processInstanceId);
+ public ProcessInstance getProcessInstance(long processInstanceId)
+ {
+ ProcessInstance processInstance = (ProcessInstance)jbpmContext.loadProcessInstanceForUpdate(processInstanceId);
return processInstance;
}
Modified: jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/rulesAction/RulesActionHandler.java
===================================================================
--- jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/rulesAction/RulesActionHandler.java 2008-09-29 08:14:22 UTC (rev 2423)
+++ jbpm3/trunk/modules/examples/src/test/java/org/jbpm/examples/rulesAction/RulesActionHandler.java 2008-09-29 09:28:02 UTC (rev 2424)
@@ -17,7 +17,8 @@
import org.jbpm.graph.def.ActionHandler;
import org.jbpm.graph.exe.ExecutionContext;
-public class RulesActionHandler implements ActionHandler {
+public class RulesActionHandler implements ActionHandler
+{
private static final long serialVersionUID = 1L;
@@ -28,34 +29,32 @@
public List queryStrings;
/**
- * The RulesActionHandler gets variables from the ContextInstance, and asserts
- * them into the Rules Engine and invokes the rules.
+ * The RulesActionHandler gets variables from the ContextInstance, and asserts them into the Rules Engine and invokes the rules.
*/
- public void execute(ExecutionContext executionContext) throws Exception {
+ public void execute(ExecutionContext executionContext) throws Exception
+ {
// load up the rulebase
RuleBase ruleBase = readRule(ruleFile);
- WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
// final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger(
// workingMemory );
// logger.setFileName( "jpdl/examples/rulesActionHandler/log/rulesAction" );
- // load the data
- System.out.println(objectNames.toString());
-
// get an iterator of fully qualified object names
Iterator iter = objectNames.iterator();
String objectName = "";
ContextInstance ci = executionContext.getContextInstance();
- while (iter.hasNext()) {
- objectName = (String) iter.next();
+ while (iter.hasNext())
+ {
+ objectName = (String)iter.next();
// assume the objects are stored as process variables
// workingMemory.assertObject(ci.getVariable(objectName));
Object object = ci.getVariable(objectName);
- workingMemory.assertObject(object);
+ workingMemory.insert(object);
// alternately the objects could be returned with a query
// to Hibernate or an EJB3 entity manager
@@ -68,7 +67,7 @@
workingMemory.fireAllRules();
- workingMemory.dispose();
+ workingMemory.clearAgenda();
// logger.writeToDisk();
@@ -81,7 +80,8 @@
* Please note that this is the "low level" rule assembly API.
*/
private static RuleBase readRule(String ruleFileName) throws IOException, DroolsParserException, RuleIntegrationException, PackageIntegrationException,
- InvalidPatternException, Exception {
+ InvalidPatternException, Exception
+ {
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl(new InputStreamReader(RulesActionHandler.class.getResourceAsStream(ruleFileName)));
Modified: jbpm3/trunk/modules/examples/src/test/resources/assignment/Assignment.drl
===================================================================
--- jbpm3/trunk/modules/examples/src/test/resources/assignment/Assignment.drl 2008-09-29 08:14:22 UTC (rev 2423)
+++ jbpm3/trunk/modules/examples/src/test/resources/assignment/Assignment.drl 2008-09-29 09:28:02 UTC (rev 2424)
@@ -4,8 +4,8 @@
import org.jbpm.identity.Group;
import org.jbpm.identity.Membership;
import org.jbpm.taskmgmt.exe.Assignable;
-import org.jbpm.assignment.Order;
-import org.jbpm.assignment.Role;
+import org.jbpm.examples.assignment.Order;
+import org.jbpm.examples.assignment.Role;
rule "Determine Senior Role"
@@ -14,8 +14,6 @@
Order( totalAmount >= 500 )
then
insert(new Role("senior"));
- System.out.println("assigned role as senior");
-
end
@@ -25,8 +23,6 @@
Order( totalAmount < 500)
then
insert(new Role("junior"));
- System.out.println("assigned role as junior");
-
end
@@ -46,7 +42,4 @@
then
$a.setActorId($user.getName());
- System.out.println("assigned User " + $user.getName() );
- System.out.println("role is: " + $roleName);
- System.out.println("group is: " + $group.getName());
end
\ No newline at end of file
Modified: jbpm3/trunk/modules/examples/src/test/resources/assignment/processdefinition.xml
===================================================================
--- jbpm3/trunk/modules/examples/src/test/resources/assignment/processdefinition.xml 2008-09-29 08:14:22 UTC (rev 2423)
+++ jbpm3/trunk/modules/examples/src/test/resources/assignment/processdefinition.xml 2008-09-29 09:28:02 UTC (rev 2424)
@@ -8,12 +8,12 @@
<end-state name="end1"></end-state>
<task-node name="Approve Order">
<task name="Approve Order">
- <assignment class="org.jbpm.assignment.RulesAssignmentHandler" >
+ <assignment class="org.jbpm.examples.assignment.RulesAssignmentHandler" >
<group>reviewers</group>
<objectNames>
<element>order</element>
</objectNames>
- <ruleFile>/Assignment.drl</ruleFile>
+ <ruleFile>/assignment/Assignment.drl</ruleFile>
</assignment>
</task>
<transition name="" to="end1"></transition>
Modified: jbpm3/trunk/pom.xml
===================================================================
--- jbpm3/trunk/pom.xml 2008-09-29 08:14:22 UTC (rev 2423)
+++ jbpm3/trunk/pom.xml 2008-09-29 09:28:02 UTC (rev 2424)
@@ -49,7 +49,7 @@
<commons.logging.version>1.1.1</commons.logging.version>
<desmoj.version>2.1.1</desmoj.version>
<dom4j.version>1.6.1</dom4j.version>
- <drools.version>3.0.4</drools.version>
+ <drools.version>4.0.7</drools.version>
<dumbster.version>1.6</dumbster.version>
<gwt.version>1.5.2</gwt.version>
<hibernate.version>3.2.6.ga</hibernate.version>
@@ -144,18 +144,12 @@
<version>${dom4j.version}</version>
</dependency>
<dependency>
- <groupId>drools</groupId>
+ <groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<version>${drools.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.jakarta.commons</groupId>
- <artifactId>commons-jci-core</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<dependency>
- <groupId>drools</groupId>
+ <groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
<version>${drools.version}</version>
</dependency>
17 years, 6 months
JBoss JBPM SVN: r2422 - in projects/spec/trunk/modules: impl/src/main/java/org/jbpm/ri/model and 1 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-29 03:44:49 -0400 (Mon, 29 Sep 2008)
New Revision: 2422
Added:
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java
Removed:
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Node.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Process.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlow.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java
Modified:
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java
Log:
PersistenceServiceTest good
Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Node.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Node.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Node.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -1,16 +0,0 @@
-package org.jbpm.test.cts.persistence;
-
-import java.util.List;
-
-public interface Node
-{
-
- public abstract Process getProcess();
-
- public abstract String getName();
-
- public abstract List<SequenceFlow> getInFlows();
-
- public abstract List<SequenceFlow> getOutFlows();
-
-}
\ No newline at end of file
Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -1,92 +0,0 @@
-/**
- *
- */
-package org.jbpm.test.cts.persistence;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
-
-import org.hibernate.annotations.IndexColumn;
-
-@Entity( name= "Node" )
-public class NodeImpl implements Node
-{
- @Id
- @GeneratedValue
- public Integer id;
- @Basic
- private String name;
- @ManyToOne(targetEntity = ProcessImpl.class)
- private Process process;
- @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "target", targetEntity = SequenceFlowImpl.class)
- @IndexColumn(name = "targetIndex")
- private List<SequenceFlow> inFlows = new ArrayList<SequenceFlow>();
- @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "source", targetEntity = SequenceFlowImpl.class)
- @IndexColumn(name = "sourceIndex")
- private List<SequenceFlow> outFlows = new ArrayList<SequenceFlow>();
-
- public NodeImpl()
- {
- }
-
- public NodeImpl(String name)
- {
- this.name = name;
- }
-
- public Process getProcess()
- {
- return process;
- }
-
- public void setProcess(Process process)
- {
- this.process = process;
- }
-
- public String getName()
- {
- return name;
- }
-
- public void setName(String name)
- {
- this.name = name;
- }
-
- public List<SequenceFlow> getInFlows()
- {
- return inFlows;
- }
-
- public void setInFlows(List<SequenceFlow> inFlows)
- {
- this.inFlows = inFlows;
- }
-
- public List<SequenceFlow> getOutFlows()
- {
- return outFlows;
- }
-
- public void setOutFlows(List<SequenceFlow> flows)
- {
- this.outFlows = flows;
- }
-
- @Override
- public String toString()
- {
- return "[name=" + name + ",in=" + inFlows + ",out=" + outFlows + "]";
- }
-
-}
\ No newline at end of file
Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -1,87 +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.persistence;
-
-// $Id$
-
-import javax.management.ObjectName;
-
-import org.jbpm.api.ProcessNotFoundException;
-import org.jbpm.api.client.ProcessEngine;
-import org.jbpm.api.model.Process;
-import org.jbpm.api.model.Node;
-import org.jbpm.api.service.PersistenceService;
-import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.test.cts.processbuilder.TestProcessBuilder;
-
-/**
- * Test the ExecutionManager
- *
- * @author thomas.diesler(a)jboss.com
- * @since 08-Jul-2008
- */
-public class PersistenceServiceTest extends CTSTestCase
-{
- /**
- * Test save, load, delete of a trivial process
- */
- public void testSaveLoadDelete() throws Exception
- {
- ProcessEngine engine = ProcessEngine.getProcessEngine();
- PersistenceService service = engine.getService(PersistenceService.class);
-
- // Save the process
- Process proc = TestProcessBuilder.getTrivalProcess();
-
- System.out.println(proc);
- for (Node node : proc.getNodes())
- System.out.println(node);
-
- service.saveProcess(proc);
-
- System.out.println(proc);
- for (Node node : proc.getNodes())
- System.out.println(node);
-
- // Load the process
- ObjectName procID = proc.getKey();
- Process procLoad = service.loadProcess(procID);
-
- System.out.println(procLoad);
- for (Node node : procLoad.getNodes())
- System.out.println(node);
-
- TestProcessBuilder.validateTrivialProcess(procLoad);
-
- // Delete the process
- service.deleteProcess(proc);
- try
- {
- service.loadProcess(procID);
- fail("ProcessNotFoundException expected");
- }
- catch (ProcessNotFoundException ex)
- {
- // expected
- }
- }
-}
Added: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java (rev 0)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -0,0 +1,72 @@
+/*
+ * 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.persistence;
+
+// $Id$
+
+import javax.management.ObjectName;
+
+import org.jbpm.api.ProcessNotFoundException;
+import org.jbpm.api.client.ProcessEngine;
+import org.jbpm.api.model.Process;
+import org.jbpm.api.service.PersistenceService;
+import org.jbpm.api.test.CTSTestCase;
+import org.jbpm.test.cts.processbuilder.TestProcessBuilder;
+
+/**
+ * Test the ExecutionManager
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public class PersistenceServiceTest extends CTSTestCase
+{
+ /**
+ * Test save, load, delete of a trivial process
+ */
+ public void testSaveLoadDelete() throws Exception
+ {
+ ProcessEngine engine = ProcessEngine.getProcessEngine();
+ PersistenceService service = engine.getService(PersistenceService.class);
+
+ // Save the process
+ Process proc = TestProcessBuilder.getTrivalProcess();
+ service.saveProcess(proc);
+
+ // Load the process
+ ObjectName procID = proc.getKey();
+ Process procLoad = service.loadProcess(procID);
+ TestProcessBuilder.validateTrivialProcess(procLoad);
+
+ // Delete the process
+ service.deleteProcess(proc);
+ try
+ {
+ service.loadProcess(procID);
+ fail("ProcessNotFoundException expected");
+ }
+ catch (ProcessNotFoundException ex)
+ {
+ // expected
+ }
+ }
+}
Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceTest.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceTest.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -1,142 +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.persistence;
-
-// $Id$
-
-import org.hibernate.Hibernate;
-import org.hibernate.ObjectNotFoundException;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.cfg.AnnotationConfiguration;
-import org.hibernate.classic.Session;
-import org.jbpm.api.ProcessNotFoundException;
-import org.jbpm.api.test.CTSTestCase;
-
-/**
- * Test the ExecutionManager
- *
- * @author thomas.diesler(a)jboss.com
- * @since 08-Jul-2008
- */
-public class PersistenceTest extends CTSTestCase
-{
- private String hibernateConfig;
- private SessionFactory sessionFactory;
-
- /**
- * Test save, load, delete of a trivial process
- */
- public void testSaveLoadDelete() throws Exception
- {
- NodeImpl na = new NodeImpl("A");
- NodeImpl nb = new NodeImpl("B");
- NodeImpl nc = new NodeImpl("C");
-
- ProcessImpl proc = new ProcessImpl("P");
- proc.addNode(na);
- proc.addNode(nb);
- proc.addNode(nc);
-
- new SequenceFlowImpl(na, nb);
- new SequenceFlowImpl(nb, nc);
-
- System.out.println(proc);
-
- Session session = getSessionFactory().openSession();
- Transaction tx = session.beginTransaction();
- try
- {
- session.save(proc);
-
- tx.commit();
- }
- finally
- {
- session.close();
- }
-
- Process loadProc = loadProcess(proc.id);
-
- System.out.println();
- System.out.println(loadProc);
-
- deleteProcess(proc);
- }
-
- public Process loadProcess(Integer id)
- {
- Process proc = null;
- Session session = getSessionFactory().openSession();
- try
- {
- proc = (Process)session.load(ProcessImpl.class, id);
- Hibernate.initialize(proc);
- }
- catch (ObjectNotFoundException ex)
- {
- throw new ProcessNotFoundException("Cannot find process: " + id);
- }
- finally
- {
- session.close();
- }
- return proc;
- }
-
- public void deleteProcess(Process proc)
- {
- Session session = getSessionFactory().openSession();
- Transaction tx = session.beginTransaction();
- try
- {
- session.delete(proc);
- tx.commit();
- }
- finally
- {
- session.close();
- }
- }
-
- private SessionFactory getSessionFactory()
- {
- // If this property is not explicitly set in the beans config
- // fall back to the -Ddatabase property that also activates
- // the corresponding mvn profiles
- if (hibernateConfig == null)
- {
- String database = System.getProperty("database", "mysql");
- hibernateConfig = "hibernate.cfg." + database + ".xml";
- }
-
- if (sessionFactory == null)
- {
- AnnotationConfiguration anConfig = new AnnotationConfiguration();
- anConfig.addAnnotatedClass(ProcessImpl.class);
- anConfig.addAnnotatedClass(NodeImpl.class);
- anConfig.addAnnotatedClass(SequenceFlowImpl.class);
- sessionFactory = anConfig.configure(hibernateConfig).buildSessionFactory();
- }
- return sessionFactory;
- }
-}
Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Process.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Process.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Process.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -1,12 +0,0 @@
-package org.jbpm.test.cts.persistence;
-
-import java.util.List;
-
-public interface Process
-{
-
- public abstract String getName();
-
- public abstract List<Node> getNodes();
-
-}
\ No newline at end of file
Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -1,69 +0,0 @@
-/**
- *
- */
-package org.jbpm.test.cts.persistence;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-
-@Entity( name= "Process" )
-public class ProcessImpl implements Process
-{
- @Id
- @GeneratedValue
- public Integer id;
- @Basic
- private String name;
- @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "process", targetEntity = NodeImpl.class)
- private List<Node> nodes = new ArrayList<Node>();
-
- public ProcessImpl()
- {
- }
-
- public ProcessImpl(String name)
- {
- this.name = name;
- }
-
- public String getName()
- {
- return name;
- }
-
- public void setName(String name)
- {
- this.name = name;
- }
-
- public List<Node> getNodes()
- {
- return nodes;
- }
-
- public void setNodes(List<Node> nodes)
- {
- this.nodes = nodes;
- }
-
- public void addNode(Node node)
- {
- ((NodeImpl)node).setProcess(this);
- nodes.add(node);
- }
-
- @Override
- public String toString()
- {
- return "[name=" + name + ",nodes=" + nodes + "]";
- }
-
-}
\ No newline at end of file
Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlow.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlow.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlow.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -1,12 +0,0 @@
-package org.jbpm.test.cts.persistence;
-
-public interface SequenceFlow
-{
-
- public abstract String getTargetName();
-
- public abstract Node getSource();
-
- public abstract Node getTarget();
-
-}
\ No newline at end of file
Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -1,109 +0,0 @@
-/**
- *
- */
-package org.jbpm.test.cts.persistence;
-
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-
-@Entity( name= "SequenceFlow" )
-public class SequenceFlowImpl implements SequenceFlow
-{
- @Id
- @GeneratedValue
- public Integer id;
- @Basic
- private String targetName;
- @Basic
- private int sourceIndex;
- @Basic
- private int targetIndex;
- @ManyToOne(cascade = CascadeType.ALL, targetEntity = NodeImpl.class)
- private Node source;
- @ManyToOne(cascade = CascadeType.ALL, targetEntity = NodeImpl.class)
- private Node target;
-
- public SequenceFlowImpl()
- {
- }
-
- public SequenceFlowImpl(Node source, Node target)
- {
- this.source = source;
- this.target = target;
- this.targetName = target.getName();
- this.sourceIndex = source.getOutFlows().size();
- this.targetIndex = target.getInFlows().size();
- source.getOutFlows().add(this);
- target.getInFlows().add(this);
- }
-
- public int getSourceIndex()
- {
- return sourceIndex;
- }
-
- public void setSourceIndex(int sourceIndex)
- {
- this.sourceIndex = sourceIndex;
- }
-
- public int getTargetIndex()
- {
- return targetIndex;
- }
-
- public void setTargetIndex(int targetIndex)
- {
- this.targetIndex = targetIndex;
- }
-
- /* (non-Javadoc)
- * @see org.jbpm.test.cts.persistence.SequenceFlow#getTargetName()
- */
- public String getTargetName()
- {
- return targetName;
- }
-
- public void setTargetName(String targetName)
- {
- this.targetName = targetName;
- }
-
- /* (non-Javadoc)
- * @see org.jbpm.test.cts.persistence.SequenceFlow#getSource()
- */
- public Node getSource()
- {
- return source;
- }
-
- public void setSource(Node source)
- {
- this.source = source;
- }
-
- /* (non-Javadoc)
- * @see org.jbpm.test.cts.persistence.SequenceFlow#getTarget()
- */
- public Node getTarget()
- {
- return target;
- }
-
- public void setTarget(Node target)
- {
- this.target = target;
- }
-
- @Override
- public String toString()
- {
- return "[" + source.getName() + "->" + target.getName() + "]";
- }
-}
\ No newline at end of file
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -95,8 +95,8 @@
public void setInFlow(SequenceFlowImpl inFlow)
{
+ inFlow.setSourceIndex(inFlows.size());
inFlows.add(inFlow);
- inFlow.setSourceIndex(inFlows.size());
}
public String toString()
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessImpl.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessImpl.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -121,13 +121,12 @@
if (nodeImpl == null)
throw new IllegalArgumentException("Node cannot be null");
- nodes.add(nodeImpl);
nodeImpl.setNodeIndex(nodes.size());
+ nodes.add(nodeImpl);
}
public List<Node> getNodes()
{
- System.out.println(nodes);
return nodes;
}
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -92,8 +92,8 @@
public void setOutFlow(SequenceFlowImpl outFlow)
{
+ outFlow.setTargetIndex(outFlows.size());
outFlows.add(outFlow);
- outFlow.setTargetIndex(outFlows.size());
}
public String toString()
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -90,8 +90,8 @@
public void setInFlow(SequenceFlowImpl inFlow)
{
+ inFlow.setSourceIndex(inFlows.size());
inFlows.add(inFlow);
- inFlow.setSourceIndex(inFlows.size());
}
@Transient
@@ -104,8 +104,8 @@
public void setOutFlow(SequenceFlowImpl outFlow)
{
+ outFlow.setTargetIndex(outFlows.size());
outFlows.add(outFlow);
- outFlow.setTargetIndex(outFlows.size());
}
public String toString()
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java 2008-09-29 07:32:25 UTC (rev 2421)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java 2008-09-29 07:44:49 UTC (rev 2422)
@@ -65,6 +65,7 @@
public ObjectName saveProcess(Process proc)
{
+ log.debug("START saveProcess: " + proc.getKey());
Session session = getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
try
@@ -76,12 +77,13 @@
{
session.close();
}
+ log.debug("END saveProcess: " + proc.getKey());
return proc.getKey();
}
public Process loadProcess(ObjectName procID)
{
- log.debug("START loadProcess >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+ log.debug("START loadProcess: " + procID);
ProcessImpl procImpl = null;
Session session = getSessionFactory().openSession();
try
@@ -98,12 +100,13 @@
{
session.close();
}
- log.debug("END loadProcess <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
+ log.debug("END loadProcess: " + procID);
return procImpl;
}
public void deleteProcess(Process proc)
{
+ log.debug("START deleteProcess: " + proc.getKey());
Session session = getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
try
@@ -115,6 +118,7 @@
{
session.close();
}
+ log.debug("END deleteProcess: " + proc.getKey());
}
private SessionFactory getSessionFactory()
17 years, 6 months
JBoss JBPM SVN: r2421 - projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-29 03:32:25 -0400 (Mon, 29 Sep 2008)
New Revision: 2421
Modified:
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java
Log:
wip
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java 2008-09-29 07:28:43 UTC (rev 2420)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java 2008-09-29 07:32:25 UTC (rev 2421)
@@ -41,6 +41,8 @@
import org.jbpm.ri.model.SequenceFlowImpl;
import org.jbpm.ri.model.StartEventImpl;
import org.jbpm.ri.model.TaskImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* A Hibernate based persistence service for a process.
@@ -50,6 +52,9 @@
*/
public class HibernatePersistenceService implements PersistenceService
{
+ // Provide logging
+ final Logger log = LoggerFactory.getLogger(HibernatePersistenceService.class);
+
private String hibernateConfig;
private SessionFactory sessionFactory;
@@ -76,6 +81,7 @@
public Process loadProcess(ObjectName procID)
{
+ log.debug("START loadProcess >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
ProcessImpl procImpl = null;
Session session = getSessionFactory().openSession();
try
@@ -92,6 +98,7 @@
{
session.close();
}
+ log.debug("END loadProcess <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
return procImpl;
}
17 years, 6 months
JBoss JBPM SVN: r2420 - projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-29 03:28:43 -0400 (Mon, 29 Sep 2008)
New Revision: 2420
Modified:
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java
Log:
wip
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java 2008-09-29 07:28:43 UTC (rev 2420)
@@ -50,12 +50,6 @@
return id;
}
- // Persistence method
- protected void setId(Integer id)
- {
- this.id = id;
- }
-
/**
* Get the key for this element
*/
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java 2008-09-29 07:28:43 UTC (rev 2420)
@@ -75,12 +75,6 @@
return resultType;
}
- // Persistence method
- protected void setResultType(ResultType resultType)
- {
- this.resultType = resultType;
- }
-
@Override
@Transient
public ObjectName getKey()
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java 2008-09-29 07:28:43 UTC (rev 2420)
@@ -72,10 +72,4 @@
{
return eventType;
}
-
- // Persistence method
- protected void setEventType(EventType eventType)
- {
- this.eventType = eventType;
- }
}
\ No newline at end of file
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-09-29 07:28:43 UTC (rev 2420)
@@ -89,12 +89,6 @@
return process;
}
- // Persistence method
- protected void setProcess(Process proc)
- {
- this.process = proc;
- }
-
public int getNodeIndex()
{
return nodeIndex;
@@ -121,30 +115,18 @@
return inFlows;
}
- // Persistence method
- protected void setInFlows(List<SequenceFlow> inFlows)
- {
- this.inFlows = inFlows;
- }
-
public List<SequenceFlow> getOutFlows()
{
return outFlows;
}
- // Persistence method
- protected void setOutFlows(List<SequenceFlow> outFlows)
- {
- this.outFlows = outFlows;
- }
-
@Override
protected void initialize(Process proc)
{
super.initialize(proc);
// Set the associated process
- setProcess(proc);
+ this.process = proc;
// Check required name
if (name == null)
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java 2008-09-29 07:28:43 UTC (rev 2420)
@@ -117,7 +117,7 @@
return sourceRef;
}
- protected void setSourceRef(Node source)
+ void setSourceRef(Node source)
{
this.sourceRef = source;
}
@@ -127,7 +127,7 @@
return targetRef;
}
- protected void setTargetRef(Node target)
+ void setTargetRef(Node target)
{
this.targetRef = target;
}
@@ -137,23 +137,11 @@
return targetName;
}
- // Persistence method
- protected void setTargetName(String targetName)
- {
- this.targetName = targetName;
- }
-
public ConditionType getConditionType()
{
return conditionType;
}
- // Persistent method
- protected void setConditionType(ConditionType conditionType)
- {
- this.conditionType = conditionType;
- }
-
public Expression getConditionExpression()
{
return conditionExpression;
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java 2008-09-29 07:28:43 UTC (rev 2420)
@@ -73,12 +73,6 @@
return triggerType;
}
- // Persistence method
- protected void setTriggerType(TriggerType triggerType)
- {
- this.triggerType = triggerType;
- }
-
@Override
public ObjectName getKey()
{
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-09-29 07:28:43 UTC (rev 2420)
@@ -70,12 +70,6 @@
return taskType;
}
- // Persistence method
- protected void setTaskType(TaskType taskType)
- {
- this.taskType = taskType;
- }
-
@Override
@Transient
public ObjectName getKey()
17 years, 6 months
JBoss JBPM SVN: r2419 - in projects/spec/trunk/modules: api/src/main/java/org/jbpm/api/service and 4 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-29 03:22:59 -0400 (Mon, 29 Sep 2008)
New Revision: 2419
Added:
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/MultipleInFlowSupport.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/MultipleOutFlowSupport.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/SingleInFlowSupport.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/SingleOutFlowSupport.java
Removed:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/MultipleInFlowSupport.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/MultipleOutFlowSupport.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SingleInFlowSupport.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SingleOutFlowSupport.java
Modified:
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/ProcessBuilder.java
projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java
projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ExpressionImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/GatewayImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java
projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java
Log:
wip
Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/MultipleInFlowSupport.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/MultipleInFlowSupport.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/MultipleInFlowSupport.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -1,48 +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.api.model.builder;
-
-//$Id$
-
-import java.util.List;
-
-import org.jbpm.api.model.SequenceFlow;
-
-/**
- * Implementing {@link Node} support multiple incomming {@link SequenceFlow}s.
- *
- * @author thomas.diesler(a)jboss.com
- * @since 08-Jul-2008
- */
-public interface MultipleInFlowSupport
-{
- /**
- * Gat the incomming SequenceFlows
- */
- List<SequenceFlow> getInFlows();
-
- /**
- * Add an incomming SequenceFlow
- */
- void addInFlow(SequenceFlow flow);
-
-}
Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/MultipleOutFlowSupport.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/MultipleOutFlowSupport.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/MultipleOutFlowSupport.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -1,48 +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.api.model.builder;
-
-//$Id$
-
-import java.util.List;
-
-import org.jbpm.api.model.SequenceFlow;
-
-/**
- * Implementing {@link Node} support multiple outgoing {@link SequenceFlow}s.
- *
- * @author thomas.diesler(a)jboss.com
- * @since 08-Jul-2008
- */
-public interface MultipleOutFlowSupport
-{
- /**
- * Gat the outgoing SequenceFlows
- */
- List<SequenceFlow> getOutFlows();
-
- /**
- * Add an outgoing SequenceFlow
- */
- void addOutFlow(SequenceFlow flow);
-
-}
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/ProcessBuilder.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/ProcessBuilder.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/ProcessBuilder.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -23,7 +23,6 @@
//$Id$
-import org.jbpm.api.model.Node;
import org.jbpm.api.model.Process;
import org.jbpm.api.model.Gateway.GatewayType;
import org.jbpm.api.model.Task.TaskType;
@@ -83,9 +82,4 @@
* Add a Gateway with a given name
*/
ProcessBuilder addGateway(String name, GatewayType type);
-
- /**
- * Add a user defined Node
- */
- ProcessBuilder addNode(Node node);
}
\ No newline at end of file
Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SingleInFlowSupport.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SingleInFlowSupport.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SingleInFlowSupport.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -1,45 +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.api.model.builder;
-
-//$Id$
-
-import org.jbpm.api.model.SequenceFlow;
-
-/**
- * Implementing {@link Node}s support a single incomming {@link SequenceFlow}.
- *
- * @author thomas.diesler(a)jboss.com
- * @since 08-Jul-2008
- */
-public interface SingleInFlowSupport
-{
- /**
- * Get the incomming SequenceFlow
- */
- SequenceFlow getInFlow();
-
- /**
- * Set the incomming SequenceFlow
- */
- void setInFlow(SequenceFlow flow);
-}
Deleted: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SingleOutFlowSupport.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SingleOutFlowSupport.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SingleOutFlowSupport.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -1,45 +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.api.model.builder;
-
-//$Id$
-
-import org.jbpm.api.model.SequenceFlow;
-
-/**
- * Implementing {@link Node}s support a single outgoing {@link SequenceFlow}.
- *
- * @author thomas.diesler(a)jboss.com
- * @since 08-Jul-2008
- */
-public interface SingleOutFlowSupport
-{
- /**
- * Get the outgoing SequenceFlow
- */
- SequenceFlow getOutFlow();
-
- /**
- * Set the outgoing SequenceFlow
- */
- void setOutFlow(SequenceFlow flow);
-}
Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/PersistenceService.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -37,7 +37,7 @@
{
ObjectName saveProcess(Process proc);
- Process loadProcess(ObjectName procID);
+ Process loadProcess(ObjectName key);
void deleteProcess(Process proc);
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -17,7 +17,7 @@
import org.hibernate.annotations.IndexColumn;
-@Entity
+@Entity( name= "Node" )
public class NodeImpl implements Node
{
@Id
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/PersistenceServiceTest.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -28,6 +28,7 @@
import org.jbpm.api.ProcessNotFoundException;
import org.jbpm.api.client.ProcessEngine;
import org.jbpm.api.model.Process;
+import org.jbpm.api.model.Node;
import org.jbpm.api.service.PersistenceService;
import org.jbpm.api.test.CTSTestCase;
import org.jbpm.test.cts.processbuilder.TestProcessBuilder;
@@ -50,11 +51,25 @@
// Save the process
Process proc = TestProcessBuilder.getTrivalProcess();
+
+ System.out.println(proc);
+ for (Node node : proc.getNodes())
+ System.out.println(node);
+
service.saveProcess(proc);
+ System.out.println(proc);
+ for (Node node : proc.getNodes())
+ System.out.println(node);
+
// Load the process
ObjectName procID = proc.getKey();
Process procLoad = service.loadProcess(procID);
+
+ System.out.println(procLoad);
+ for (Node node : procLoad.getNodes())
+ System.out.println(node);
+
TestProcessBuilder.validateTrivialProcess(procLoad);
// Delete the process
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -14,7 +14,7 @@
import javax.persistence.Id;
import javax.persistence.OneToMany;
-@Entity
+@Entity( name= "Process" )
public class ProcessImpl implements Process
{
@Id
Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -10,7 +10,7 @@
import javax.persistence.Id;
import javax.persistence.ManyToOne;
-@Entity
+@Entity( name= "SequenceFlow" )
public class SequenceFlowImpl implements SequenceFlow
{
@Id
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -24,11 +24,10 @@
//$Id$
import javax.management.ObjectName;
+import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
-import javax.persistence.Transient;
-import org.jboss.util.id.UID;
import org.jbpm.api.model.AbstractElement;
import org.jbpm.api.model.Process;
@@ -43,27 +42,22 @@
{
private static final long serialVersionUID = 1L;
- @Id
- private String id;
- @Transient
- protected transient ObjectName key;
+ @Id @GeneratedValue
+ private Integer id;
- @Id
- public String getId()
+ public Integer getId()
{
- if (id == null)
- id = new UID().toString();
-
return id;
}
- public void setId(String id)
+ // Persistence method
+ protected void setId(Integer id)
{
this.id = id;
}
/**
- * Get the ID of this element
+ * Get the key for this element
*/
public abstract ObjectName getKey();
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EndEventImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -27,7 +27,6 @@
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
-import javax.persistence.Table;
import javax.persistence.Transient;
import org.jbpm.api.Constants;
@@ -35,7 +34,7 @@
import org.jbpm.api.model.EndEvent;
import org.jbpm.api.model.SequenceFlow;
import org.jbpm.api.model.builder.ObjectNameFactory;
-import org.jbpm.api.model.builder.SingleInFlowSupport;
+import org.jbpm.ri.model.builder.SingleInFlowSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,8 +48,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity
-@Table(name = "JBPM_END_EVENT")
+@Entity(name = "EndEvent")
public class EndEventImpl extends EventImpl implements EndEvent, SingleInFlowSupport
{
// provide serial version UID
@@ -87,13 +85,10 @@
@Transient
public ObjectName getKey()
{
- if (key == null)
- {
- StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
- str.append("type=EndEvent,name=" + getName() + ",id=" + getId());
- key = ObjectNameFactory.create(str.toString());
- }
- return key;
+ StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
+ str.append("type=EndEvent,name=" + getName() + ",id=" + getId());
+ ObjectName oname = ObjectNameFactory.create(str.toString());
+ return oname;
}
@Transient
@@ -104,9 +99,10 @@
return inFlows.get(0);
}
- public void setInFlow(SequenceFlow inFlow)
+ public void setInFlow(SequenceFlowImpl inFlow)
{
inFlows.add(inFlow);
+ inFlow.setSourceIndex(inFlows.size());
}
public String toString()
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/EventImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -62,13 +62,10 @@
@Override
public ObjectName getKey()
{
- if (key == null)
- {
- StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
- str.append("type=Event,name=" + getName() + ",id=" + getId());
- key = ObjectNameFactory.create(str.toString());
- }
- return key;
+ StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
+ str.append("type=Event,name=" + getName() + ",id=" + getId());
+ ObjectName oname = ObjectNameFactory.create(str.toString());
+ return oname;
}
public EventType getEventType()
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ExpressionImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ExpressionImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ExpressionImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -23,6 +23,7 @@
//$Id$
+import javax.persistence.Column;
import javax.persistence.Embeddable;
import org.jbpm.api.model.Expression;
@@ -40,7 +41,9 @@
// provide serial version UID
private static final long serialVersionUID = 1L;
+ @Column(name = "exprBody")
private String body;
+ @Column(name = "exprLang")
private ExpressionLanguage lang;
public ExpressionImpl(String body)
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/GatewayImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/GatewayImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/GatewayImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -32,9 +32,9 @@
import org.jbpm.api.model.Gateway;
import org.jbpm.api.model.SequenceFlow;
import org.jbpm.api.model.SequenceFlow.ConditionType;
-import org.jbpm.api.model.builder.MultipleInFlowSupport;
-import org.jbpm.api.model.builder.MultipleOutFlowSupport;
import org.jbpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.ri.model.builder.MultipleInFlowSupport;
+import org.jbpm.ri.model.builder.MultipleOutFlowSupport;
/**
* Gateways are modelling elements that are used to control how Sequence Flow interact as they converge and diverge
@@ -56,13 +56,10 @@
@Override
public ObjectName getKey()
{
- if (key == null)
- {
- StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
- str.append("type=" + getGatewayType() + "Gateway,name=" + getName() + ",id=" + getId());
- key = ObjectNameFactory.create(str.toString());
- }
- return key;
+ StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
+ str.append("type=" + getGatewayType() + "Gateway,name=" + getName() + ",id=" + getId());
+ ObjectName oname = ObjectNameFactory.create(str.toString());
+ return oname;
}
public List<SequenceFlow> getGates()
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -27,13 +27,15 @@
import java.util.List;
import javax.persistence.Basic;
+import javax.persistence.CascadeType;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.ManyToOne;
-import javax.persistence.Table;
-import javax.persistence.Transient;
+import javax.persistence.OneToMany;
+import org.hibernate.annotations.IndexColumn;
import org.jbpm.api.InvalidProcessException;
import org.jbpm.api.NameNotUniqueException;
import org.jbpm.api.model.EndEvent;
@@ -41,10 +43,10 @@
import org.jbpm.api.model.Process;
import org.jbpm.api.model.SequenceFlow;
import org.jbpm.api.model.StartEvent;
-import org.jbpm.api.model.builder.MultipleInFlowSupport;
-import org.jbpm.api.model.builder.MultipleOutFlowSupport;
-import org.jbpm.api.model.builder.SingleInFlowSupport;
-import org.jbpm.api.model.builder.SingleOutFlowSupport;
+import org.jbpm.ri.model.builder.MultipleInFlowSupport;
+import org.jbpm.ri.model.builder.MultipleOutFlowSupport;
+import org.jbpm.ri.model.builder.SingleInFlowSupport;
+import org.jbpm.ri.model.builder.SingleOutFlowSupport;
/**
* A Flow Object is one of the set of following graphical objects: Event, Activity, and
@@ -52,8 +54,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity
-@Table(name = "JBPM_NODE")
+@Entity(name = "Node")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class NodeImpl extends AbstractElementImpl implements Node
{
@@ -62,11 +63,15 @@
@Basic
private String name;
- @Transient // @ManyToOne(targetEntity = ProcessImpl.class)
+ @ManyToOne(targetEntity = ProcessImpl.class)
private Process process;
- @Transient // @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "targetRef", targetEntity = SequenceFlowImpl.class)
+ @Basic
+ private int nodeIndex;
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "targetRef", targetEntity = SequenceFlowImpl.class)
+ @IndexColumn(name = "targetIndex")
protected List<SequenceFlow> inFlows = new ArrayList<SequenceFlow>();
- @Transient // @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "sourceRef", targetEntity = SequenceFlowImpl.class)
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "sourceRef", targetEntity = SequenceFlowImpl.class)
+ @IndexColumn(name = "sourceIndex")
protected List<SequenceFlow> outFlows = new ArrayList<SequenceFlow>();
public NodeImpl(String name)
@@ -90,6 +95,17 @@
this.process = proc;
}
+ public int getNodeIndex()
+ {
+ return nodeIndex;
+ }
+
+ // Persistence method
+ public void setNodeIndex(int nodeIndex)
+ {
+ this.nodeIndex = nodeIndex;
+ }
+
public String getName()
{
return name;
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/ProcessImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -24,7 +24,6 @@
//$Id$
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import javax.management.ObjectName;
@@ -35,9 +34,9 @@
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
-import javax.persistence.Table;
import javax.persistence.Transient;
+import org.hibernate.annotations.IndexColumn;
import org.jbpm.api.Constants;
import org.jbpm.api.InvalidProcessException;
import org.jbpm.api.NotImplementedException;
@@ -56,8 +55,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity
-@Table(name = "JBPM_PROCESS")
+@Entity(name = "Process")
public class ProcessImpl extends AbstractElementImpl implements Process
{
private static final long serialVersionUID = 1L;
@@ -69,6 +67,7 @@
private String name;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "process", targetEntity = NodeImpl.class)
+ @IndexColumn(name = "nodeIndex")
private List<Node> nodes = new ArrayList<Node>();
@Enumerated(EnumType.STRING)
@@ -91,13 +90,10 @@
@Transient
public ObjectName getKey()
{
- if (key == null)
- {
- StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
- str.append("type=Process,name=" + getName() + ",id=" + getId());
- key = ObjectNameFactory.create(str.toString());
- }
- return key;
+ StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
+ str.append("type=Process,name=" + getName() + ",id=" + getId());
+ ObjectName oname = ObjectNameFactory.create(str.toString());
+ return oname;
}
public String getName()
@@ -120,37 +116,36 @@
this.status = status;
}
- public void addNode(Node node)
+ public void addNode(NodeImpl nodeImpl)
{
- nodes.add(node);
+ if (nodeImpl == null)
+ throw new IllegalArgumentException("Node cannot be null");
+
+ nodes.add(nodeImpl);
+ nodeImpl.setNodeIndex(nodes.size());
}
public List<Node> getNodes()
{
+ System.out.println(nodes);
return nodes;
}
- // Persistence method
- protected void setNodes(List<Node> Nodes)
- {
- this.nodes = Nodes;
- }
-
public Node getNode(String name)
{
if (name == null)
throw new IllegalArgumentException("Cannot find node with name: null");
- Node Node = null;
- for (Node aux : nodes)
+ Node node = null;
+ for (Node aux : getNodes())
{
if (name.equals(aux.getName()))
{
- Node = aux;
+ node = aux;
break;
}
}
- return Node;
+ return node;
}
@SuppressWarnings("unchecked")
@@ -199,7 +194,7 @@
throw new InvalidProcessException("Process does not have end events");
// Initialize the nodes
- for (Node node : nodes)
+ for (Node node : getNodes())
{
NodeImpl nodeImpl = (NodeImpl)node;
nodeImpl.initialize(this);
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/SequenceFlowImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -32,8 +32,6 @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
-import javax.persistence.Table;
-import javax.persistence.Transient;
import org.jbpm.api.model.Expression;
import org.jbpm.api.model.Node;
@@ -46,8 +44,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity
-@Table(name = "JBPM_SEQUENCE_FLOW")
+@Entity(name = "SequenceFlow")
public class SequenceFlowImpl implements SequenceFlow
{
// provide serial version UID
@@ -58,16 +55,21 @@
@SuppressWarnings("unused")
private Integer id;
+ @Basic
+ private int sourceIndex;
+ @Basic
+ private int targetIndex;
+
@Enumerated(EnumType.STRING)
private ConditionType conditionType = ConditionType.None;
@Basic
private String targetName;
- @Transient // @ManyToOne(cascade = CascadeType.ALL, targetEntity = NodeImpl.class)
+ @ManyToOne(cascade = CascadeType.ALL, targetEntity = NodeImpl.class)
private Node sourceRef;
- @Transient // @ManyToOne(cascade = CascadeType.ALL, targetEntity = NodeImpl.class)
+ @ManyToOne(cascade = CascadeType.ALL, targetEntity = NodeImpl.class)
private Node targetRef;
@Embedded
@@ -90,6 +92,26 @@
{
}
+ public int getSourceIndex()
+ {
+ return sourceIndex;
+ }
+
+ public void setSourceIndex(int sourceIndex)
+ {
+ this.sourceIndex = sourceIndex;
+ }
+
+ public int getTargetIndex()
+ {
+ return targetIndex;
+ }
+
+ public void setTargetIndex(int targetIndex)
+ {
+ this.targetIndex = targetIndex;
+ }
+
public Node getSourceRef()
{
return sourceRef;
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/StartEventImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -27,7 +27,6 @@
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
-import javax.persistence.Table;
import javax.persistence.Transient;
import org.jbpm.api.Constants;
@@ -35,7 +34,7 @@
import org.jbpm.api.model.SequenceFlow;
import org.jbpm.api.model.StartEvent;
import org.jbpm.api.model.builder.ObjectNameFactory;
-import org.jbpm.api.model.builder.SingleOutFlowSupport;
+import org.jbpm.ri.model.builder.SingleOutFlowSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,8 +46,7 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity
-@Table(name = "JBPM_START_EVENT")
+@Entity(name = "StartEvent")
public class StartEventImpl extends EventImpl implements StartEvent, SingleOutFlowSupport
{
private static final long serialVersionUID = 1L;
@@ -84,13 +82,10 @@
@Override
public ObjectName getKey()
{
- if (key == null)
- {
- StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
- str.append("type=StartEvent,name=" + getName() + ",id=" + getId());
- key = ObjectNameFactory.create(str.toString());
- }
- return key;
+ StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
+ str.append("type=StartEvent,name=" + getName() + ",id=" + getId());
+ ObjectName oname = ObjectNameFactory.create(str.toString());
+ return oname;
}
@Transient
@@ -101,9 +96,10 @@
return outFlows.get(0);
}
- public void setOutFlow(SequenceFlow outFlow)
+ public void setOutFlow(SequenceFlowImpl outFlow)
{
outFlows.add(outFlow);
+ outFlow.setTargetIndex(outFlows.size());
}
public String toString()
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/TaskImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -27,7 +27,6 @@
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
-import javax.persistence.Table;
import javax.persistence.Transient;
import org.jbpm.api.Constants;
@@ -35,8 +34,8 @@
import org.jbpm.api.model.SequenceFlow;
import org.jbpm.api.model.Task;
import org.jbpm.api.model.builder.ObjectNameFactory;
-import org.jbpm.api.model.builder.SingleInFlowSupport;
-import org.jbpm.api.model.builder.SingleOutFlowSupport;
+import org.jbpm.ri.model.builder.SingleInFlowSupport;
+import org.jbpm.ri.model.builder.SingleOutFlowSupport;
/**
* A Task is an Atomic Activity that is included within a Process.
@@ -47,15 +46,15 @@
* @author thomas.diesler(a)jboss.com
* @since 08-Jul-2008
*/
-@Entity
-@Table(name = "JBPM_TASK")
+@Entity(name = "Task")
public class TaskImpl extends NodeImpl implements Task, SingleOutFlowSupport, SingleInFlowSupport
{
// provide serial version UID
private static final long serialVersionUID = 1L;
-
+
+ @Enumerated(EnumType.STRING)
private TaskType taskType = TaskType.None;
-
+
public TaskImpl(String name)
{
super(name);
@@ -66,12 +65,11 @@
{
}
- @Enumerated(EnumType.STRING)
public TaskType getTaskType()
{
return taskType;
}
-
+
// Persistence method
protected void setTaskType(TaskType taskType)
{
@@ -82,15 +80,12 @@
@Transient
public ObjectName getKey()
{
- if (key == null)
- {
- StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
- str.append("type=" + getTaskType() + "Task,name=" + getName() + ",id=" + getId());
- key = ObjectNameFactory.create(str.toString());
- }
- return key;
+ StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
+ str.append("type=" + getTaskType() + "Task,name=" + getName() + ",id=" + getId());
+ ObjectName oname = ObjectNameFactory.create(str.toString());
+ return oname;
}
-
+
@Transient
public SequenceFlow getInFlow()
{
@@ -99,9 +94,10 @@
return inFlows.get(0);
}
- public void setInFlow(SequenceFlow inFlow)
+ public void setInFlow(SequenceFlowImpl inFlow)
{
inFlows.add(inFlow);
+ inFlow.setSourceIndex(inFlows.size());
}
@Transient
@@ -112,9 +108,10 @@
return outFlows.get(0);
}
- public void setOutFlow(SequenceFlow outFlow)
+ public void setOutFlow(SequenceFlowImpl outFlow)
{
outFlows.add(outFlow);
+ outFlow.setTargetIndex(outFlows.size());
}
public String toString()
Copied: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/MultipleInFlowSupport.java (from rev 2418, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/MultipleInFlowSupport.java)
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/MultipleInFlowSupport.java (rev 0)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/MultipleInFlowSupport.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -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.ri.model.builder;
+
+//$Id$
+
+import java.util.List;
+
+import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.ri.model.SequenceFlowImpl;
+
+/**
+ * Implementing {@link Node} support multiple incomming {@link SequenceFlow}s.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface MultipleInFlowSupport
+{
+ /**
+ * Gat the incomming SequenceFlows
+ */
+ List<SequenceFlow> getInFlows();
+
+ /**
+ * Add an incomming SequenceFlow
+ */
+ void addInFlow(SequenceFlowImpl flow);
+
+}
Copied: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/MultipleOutFlowSupport.java (from rev 2418, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/MultipleOutFlowSupport.java)
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/MultipleOutFlowSupport.java (rev 0)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/MultipleOutFlowSupport.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -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.ri.model.builder;
+
+//$Id$
+
+import java.util.List;
+
+import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.ri.model.SequenceFlowImpl;
+
+/**
+ * Implementing {@link Node} support multiple outgoing {@link SequenceFlow}s.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface MultipleOutFlowSupport
+{
+ /**
+ * Gat the outgoing SequenceFlows
+ */
+ List<SequenceFlow> getOutFlows();
+
+ /**
+ * Add an outgoing SequenceFlow
+ */
+ void addOutFlow(SequenceFlowImpl flow);
+
+}
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/ProcessBuilderImpl.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -24,13 +24,10 @@
//$Id$
import org.jbpm.api.NotImplementedException;
-import org.jbpm.api.model.Node;
import org.jbpm.api.model.Process;
import org.jbpm.api.model.Gateway.GatewayType;
import org.jbpm.api.model.Task.TaskType;
-import org.jbpm.api.model.builder.MultipleOutFlowSupport;
import org.jbpm.api.model.builder.ProcessBuilder;
-import org.jbpm.api.model.builder.SingleOutFlowSupport;
import org.jbpm.api.service.Service;
import org.jbpm.ri.model.EndEventImpl;
import org.jbpm.ri.model.EventImpl;
@@ -177,9 +174,9 @@
return this;
}
- public ProcessBuilder addNode(Node node)
+ private ProcessBuilder addNode(NodeImpl nodeImpl)
{
- getProcessInternal().addNode(node);
+ getProcessInternal().addNode(nodeImpl);
return this;
}
Copied: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/SingleInFlowSupport.java (from rev 2418, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SingleInFlowSupport.java)
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/SingleInFlowSupport.java (rev 0)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/SingleInFlowSupport.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -0,0 +1,46 @@
+/*
+ * 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.SequenceFlow;
+import org.jbpm.ri.model.SequenceFlowImpl;
+
+/**
+ * Implementing {@link Node}s support a single incomming {@link SequenceFlow}.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SingleInFlowSupport
+{
+ /**
+ * Get the incomming SequenceFlow
+ */
+ SequenceFlow getInFlow();
+
+ /**
+ * Set the incomming SequenceFlow
+ */
+ void setInFlow(SequenceFlowImpl flow);
+}
Copied: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/SingleOutFlowSupport.java (from rev 2418, projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/model/builder/SingleOutFlowSupport.java)
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/SingleOutFlowSupport.java (rev 0)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/builder/SingleOutFlowSupport.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -0,0 +1,46 @@
+/*
+ * 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.SequenceFlow;
+import org.jbpm.ri.model.SequenceFlowImpl;
+
+/**
+ * Implementing {@link Node}s support a single outgoing {@link SequenceFlow}.
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 08-Jul-2008
+ */
+public interface SingleOutFlowSupport
+{
+ /**
+ * Get the outgoing SequenceFlow
+ */
+ SequenceFlow getOutFlow();
+
+ /**
+ * Set the outgoing SequenceFlow
+ */
+ void setOutFlow(SequenceFlowImpl flow);
+}
Modified: projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java
===================================================================
--- projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java 2008-09-29 05:50:29 UTC (rev 2418)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/service/HibernatePersistenceService.java 2008-09-29 07:22:59 UTC (rev 2419)
@@ -80,10 +80,9 @@
Session session = getSessionFactory().openSession();
try
{
- String key = procID.getKeyProperty("id");
- procImpl = (ProcessImpl)session.load(ProcessImpl.class, key);
+ Integer id = Integer.valueOf(procID.getKeyProperty("id"));
+ procImpl = (ProcessImpl)session.load(ProcessImpl.class, id);
Hibernate.initialize(procImpl);
- procImpl.initialize(procImpl);
}
catch (ObjectNotFoundException ex)
{
@@ -128,10 +127,10 @@
anConfig.addAnnotatedClass(AbstractElementImpl.class);
anConfig.addAnnotatedClass(EndEventImpl.class);
anConfig.addAnnotatedClass(NodeImpl.class);
- anConfig.addAnnotatedClass(TaskImpl.class);
anConfig.addAnnotatedClass(ProcessImpl.class);
anConfig.addAnnotatedClass(SequenceFlowImpl.class);
anConfig.addAnnotatedClass(StartEventImpl.class);
+ anConfig.addAnnotatedClass(TaskImpl.class);
sessionFactory = anConfig.configure(hibernateConfig).buildSessionFactory();
}
return sessionFactory;
17 years, 6 months
JBoss JBPM SVN: r2418 - projects/spec.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-29 01:50:29 -0400 (Mon, 29 Sep 2008)
New Revision: 2418
Added:
projects/spec/trunk/
Log:
Recreate spec trunk
Copied: projects/spec/trunk (from rev 2417, jbpm4/branches/tdiesler)
17 years, 6 months
JBoss JBPM SVN: r2417 - projects/spec.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-29 01:49:58 -0400 (Mon, 29 Sep 2008)
New Revision: 2417
Removed:
projects/spec/trunk/
Log:
Recreate spec trunk
17 years, 6 months
JBoss JBPM SVN: r2416 - jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-09-28 17:47:09 -0400 (Sun, 28 Sep 2008)
New Revision: 2416
Added:
jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java
jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java
jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlow.java
jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java
Removed:
jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Flow.java
Log:
wip
Deleted: jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Flow.java
===================================================================
--- jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Flow.java 2008-09-28 21:46:37 UTC (rev 2415)
+++ jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/Flow.java 2008-09-28 21:47:09 UTC (rev 2416)
@@ -1,100 +0,0 @@
-/**
- *
- */
-package org.jbpm.test.cts.persistence;
-
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-
-@Entity
-public class Flow
-{
- @Id
- @GeneratedValue
- public Integer id;
- @Basic
- private String targetName;
- @Basic
- private int sourceIndex;
- @Basic
- private int targetIndex;
- @ManyToOne(cascade = CascadeType.ALL)
- private Node source;
- @ManyToOne(cascade = CascadeType.ALL)
- private Node target;
-
- public Flow()
- {
- }
-
- public Flow(Node source, Node target)
- {
- this.source = source;
- this.target = target;
- this.targetName = target.getName();
- this.sourceIndex = source.getOutFlows().size();
- this.targetIndex = target.getInFlows().size();
- source.getOutFlows().add(this);
- target.getInFlows().add(this);
- }
-
- public int getSourceIndex()
- {
- return sourceIndex;
- }
-
- public void setSourceIndex(int sourceIndex)
- {
- this.sourceIndex = sourceIndex;
- }
-
- public int getTargetIndex()
- {
- return targetIndex;
- }
-
- public void setTargetIndex(int targetIndex)
- {
- this.targetIndex = targetIndex;
- }
-
- public String getTargetName()
- {
- return targetName;
- }
-
- public void setTargetName(String targetName)
- {
- this.targetName = targetName;
- }
-
- public Node getSource()
- {
- return source;
- }
-
- public void setSource(Node source)
- {
- this.source = source;
- }
-
- public Node getTarget()
- {
- return target;
- }
-
- public void setTarget(Node target)
- {
- this.target = target;
- }
-
- @Override
- public String toString()
- {
- return "[" + source.getName() + "->" + target.getName() + "]";
- }
-}
\ No newline at end of file
Added: jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java
===================================================================
--- jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java (rev 0)
+++ jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java 2008-09-28 21:47:09 UTC (rev 2416)
@@ -0,0 +1,92 @@
+/**
+ *
+ */
+package org.jbpm.test.cts.persistence;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+
+import org.hibernate.annotations.IndexColumn;
+
+@Entity
+public class NodeImpl implements Node
+{
+ @Id
+ @GeneratedValue
+ public Integer id;
+ @Basic
+ private String name;
+ @ManyToOne(targetEntity = ProcessImpl.class)
+ private Process process;
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "target", targetEntity = SequenceFlowImpl.class)
+ @IndexColumn(name = "targetIndex")
+ private List<SequenceFlow> inFlows = new ArrayList<SequenceFlow>();
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "source", targetEntity = SequenceFlowImpl.class)
+ @IndexColumn(name = "sourceIndex")
+ private List<SequenceFlow> outFlows = new ArrayList<SequenceFlow>();
+
+ public NodeImpl()
+ {
+ }
+
+ public NodeImpl(String name)
+ {
+ this.name = name;
+ }
+
+ public Process getProcess()
+ {
+ return process;
+ }
+
+ public void setProcess(Process process)
+ {
+ this.process = process;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public List<SequenceFlow> getInFlows()
+ {
+ return inFlows;
+ }
+
+ public void setInFlows(List<SequenceFlow> inFlows)
+ {
+ this.inFlows = inFlows;
+ }
+
+ public List<SequenceFlow> getOutFlows()
+ {
+ return outFlows;
+ }
+
+ public void setOutFlows(List<SequenceFlow> flows)
+ {
+ this.outFlows = flows;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "[name=" + name + ",in=" + inFlows + ",out=" + outFlows + "]";
+ }
+
+}
\ No newline at end of file
Property changes on: jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/NodeImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java
===================================================================
--- jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java (rev 0)
+++ jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java 2008-09-28 21:47:09 UTC (rev 2416)
@@ -0,0 +1,69 @@
+/**
+ *
+ */
+package org.jbpm.test.cts.persistence;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+
+@Entity
+public class ProcessImpl implements Process
+{
+ @Id
+ @GeneratedValue
+ public Integer id;
+ @Basic
+ private String name;
+ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "process", targetEntity = NodeImpl.class)
+ private List<Node> nodes = new ArrayList<Node>();
+
+ public ProcessImpl()
+ {
+ }
+
+ public ProcessImpl(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public List<Node> getNodes()
+ {
+ return nodes;
+ }
+
+ public void setNodes(List<Node> nodes)
+ {
+ this.nodes = nodes;
+ }
+
+ public void addNode(Node node)
+ {
+ ((NodeImpl)node).setProcess(this);
+ nodes.add(node);
+ }
+
+ @Override
+ public String toString()
+ {
+ return "[name=" + name + ",nodes=" + nodes + "]";
+ }
+
+}
\ No newline at end of file
Property changes on: jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/ProcessImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlow.java
===================================================================
--- jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlow.java (rev 0)
+++ jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlow.java 2008-09-28 21:47:09 UTC (rev 2416)
@@ -0,0 +1,12 @@
+package org.jbpm.test.cts.persistence;
+
+public interface SequenceFlow
+{
+
+ public abstract String getTargetName();
+
+ public abstract Node getSource();
+
+ public abstract Node getTarget();
+
+}
\ No newline at end of file
Property changes on: jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlow.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java
===================================================================
--- jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java (rev 0)
+++ jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java 2008-09-28 21:47:09 UTC (rev 2416)
@@ -0,0 +1,109 @@
+/**
+ *
+ */
+package org.jbpm.test.cts.persistence;
+
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+
+@Entity
+public class SequenceFlowImpl implements SequenceFlow
+{
+ @Id
+ @GeneratedValue
+ public Integer id;
+ @Basic
+ private String targetName;
+ @Basic
+ private int sourceIndex;
+ @Basic
+ private int targetIndex;
+ @ManyToOne(cascade = CascadeType.ALL, targetEntity = NodeImpl.class)
+ private Node source;
+ @ManyToOne(cascade = CascadeType.ALL, targetEntity = NodeImpl.class)
+ private Node target;
+
+ public SequenceFlowImpl()
+ {
+ }
+
+ public SequenceFlowImpl(Node source, Node target)
+ {
+ this.source = source;
+ this.target = target;
+ this.targetName = target.getName();
+ this.sourceIndex = source.getOutFlows().size();
+ this.targetIndex = target.getInFlows().size();
+ source.getOutFlows().add(this);
+ target.getInFlows().add(this);
+ }
+
+ public int getSourceIndex()
+ {
+ return sourceIndex;
+ }
+
+ public void setSourceIndex(int sourceIndex)
+ {
+ this.sourceIndex = sourceIndex;
+ }
+
+ public int getTargetIndex()
+ {
+ return targetIndex;
+ }
+
+ public void setTargetIndex(int targetIndex)
+ {
+ this.targetIndex = targetIndex;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jbpm.test.cts.persistence.SequenceFlow#getTargetName()
+ */
+ public String getTargetName()
+ {
+ return targetName;
+ }
+
+ public void setTargetName(String targetName)
+ {
+ this.targetName = targetName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jbpm.test.cts.persistence.SequenceFlow#getSource()
+ */
+ public Node getSource()
+ {
+ return source;
+ }
+
+ public void setSource(Node source)
+ {
+ this.source = source;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jbpm.test.cts.persistence.SequenceFlow#getTarget()
+ */
+ public Node getTarget()
+ {
+ return target;
+ }
+
+ public void setTarget(Node target)
+ {
+ this.target = target;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "[" + source.getName() + "->" + target.getName() + "]";
+ }
+}
\ No newline at end of file
Property changes on: jbpm4/branches/tdiesler/modules/cts/src/test/java/org/jbpm/test/cts/persistence/SequenceFlowImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
17 years, 6 months