Author: thomas.diesler(a)jboss.com
Date: 2008-11-01 05:02:57 -0400 (Sat, 01 Nov 2008)
New Revision: 2732
Modified:
projects/spec/branches/tdiesler/modules/api/.classpath
projects/spec/branches/tdiesler/modules/cts/.classpath
projects/spec/branches/tdiesler/modules/dialects/api10/.classpath
projects/spec/branches/tdiesler/modules/dialects/jpdl32/.classpath
projects/spec/branches/tdiesler/modules/dialects/stp/.classpath
projects/spec/branches/tdiesler/modules/dialects/xpdl21/.classpath
projects/spec/branches/tdiesler/modules/ri/.classpath
projects/spec/branches/tdiesler/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
projects/spec/branches/tdiesler/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java
projects/spec/branches/tdiesler/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/NodePersistenceTest.java
projects/spec/branches/tdiesler/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java
projects/spec/branches/tdiesler/modules/samples/airticket/client/.classpath
projects/spec/branches/tdiesler/modules/samples/airticket/server/.classpath
Log:
task persistence ok
Modified: projects/spec/branches/tdiesler/modules/api/.classpath
===================================================================
--- projects/spec/branches/tdiesler/modules/api/.classpath 2008-10-31 20:03:31 UTC (rev
2731)
+++ projects/spec/branches/tdiesler/modules/api/.classpath 2008-11-01 09:02:57 UTC (rev
2732)
@@ -3,5 +3,5 @@
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con"
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="output" path="target/eclipse/classes"/>
</classpath>
Modified: projects/spec/branches/tdiesler/modules/cts/.classpath
===================================================================
--- projects/spec/branches/tdiesler/modules/cts/.classpath 2008-10-31 20:03:31 UTC (rev
2731)
+++ projects/spec/branches/tdiesler/modules/cts/.classpath 2008-11-01 09:02:57 UTC (rev
2732)
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="target/test-classes"
path="src/test/java"/>
- <classpathentry excluding="**" kind="src"
output="target/test-classes" path="src/test/resources"/>
+ <classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="con"
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="output" path="target/eclipse/classes"/>
</classpath>
Modified: projects/spec/branches/tdiesler/modules/dialects/api10/.classpath
===================================================================
--- projects/spec/branches/tdiesler/modules/dialects/api10/.classpath 2008-10-31 20:03:31
UTC (rev 2731)
+++ projects/spec/branches/tdiesler/modules/dialects/api10/.classpath 2008-11-01 09:02:57
UTC (rev 2732)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="target/classes"
path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con"
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="output" path="target/eclipse/classes"/>
</classpath>
Modified: projects/spec/branches/tdiesler/modules/dialects/jpdl32/.classpath
===================================================================
--- projects/spec/branches/tdiesler/modules/dialects/jpdl32/.classpath 2008-10-31 20:03:31
UTC (rev 2731)
+++ projects/spec/branches/tdiesler/modules/dialects/jpdl32/.classpath 2008-11-01 09:02:57
UTC (rev 2732)
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="target/classes"
path="src/main/java"/>
- <classpathentry excluding="**" kind="src"
output="target/classes" path="src/main/resources"/>
+ <classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con"
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="output" path="target/eclipse/classes"/>
</classpath>
Modified: projects/spec/branches/tdiesler/modules/dialects/stp/.classpath
===================================================================
--- projects/spec/branches/tdiesler/modules/dialects/stp/.classpath 2008-10-31 20:03:31
UTC (rev 2731)
+++ projects/spec/branches/tdiesler/modules/dialects/stp/.classpath 2008-11-01 09:02:57
UTC (rev 2732)
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="target/classes"
path="src/main/java"/>
- <classpathentry excluding="**" kind="src"
output="target/classes" path="src/main/resources"/>
+ <classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con"
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="output" path="target/eclipse/classes"/>
</classpath>
Modified: projects/spec/branches/tdiesler/modules/dialects/xpdl21/.classpath
===================================================================
--- projects/spec/branches/tdiesler/modules/dialects/xpdl21/.classpath 2008-10-31 20:03:31
UTC (rev 2731)
+++ projects/spec/branches/tdiesler/modules/dialects/xpdl21/.classpath 2008-11-01 09:02:57
UTC (rev 2732)
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="target/classes"
path="src/main/java"/>
- <classpathentry excluding="**" kind="src"
output="target/classes" path="src/main/resources"/>
+ <classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con"
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="output" path="target/eclipse/classes"/>
</classpath>
Modified: projects/spec/branches/tdiesler/modules/ri/.classpath
===================================================================
--- projects/spec/branches/tdiesler/modules/ri/.classpath 2008-10-31 20:03:31 UTC (rev
2731)
+++ projects/spec/branches/tdiesler/modules/ri/.classpath 2008-11-01 09:02:57 UTC (rev
2732)
@@ -1,10 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="target/classes"
path="src/main/java"/>
- <classpathentry excluding="**" kind="src"
output="target/classes" path="src/main/resources"/>
- <classpathentry kind="src" output="target/test-classes"
path="src/test/java"/>
- <classpathentry excluding="**" kind="src"
output="target/test-classes" path="src/test/resources"/>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" output="target/eclipse/test-classes"
path="src/test/java"/>
<classpathentry kind="con"
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="output" path="target/eclipse/classes"/>
</classpath>
Modified:
projects/spec/branches/tdiesler/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java
===================================================================
---
projects/spec/branches/tdiesler/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java 2008-10-31
20:03:31 UTC (rev 2731)
+++
projects/spec/branches/tdiesler/modules/ri/src/main/java/org/jbpm/ri/model/AbstractElementImpl.java 2008-11-01
09:02:57 UTC (rev 2732)
@@ -24,7 +24,7 @@
//$Id$
import javax.management.ObjectName;
-import javax.persistence.Column;
+import javax.persistence.Basic;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
@@ -50,7 +50,7 @@
@Id @GeneratedValue
protected Integer id;
- @Column
+ @Basic
private String engineName;
protected AbstractElementImpl(ProcessEngine engine)
Modified:
projects/spec/branches/tdiesler/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java
===================================================================
---
projects/spec/branches/tdiesler/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-10-31
20:03:31 UTC (rev 2731)
+++
projects/spec/branches/tdiesler/modules/ri/src/main/java/org/jbpm/ri/model/NodeImpl.java 2008-11-01
09:02:57 UTC (rev 2732)
@@ -33,6 +33,7 @@
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
+import javax.persistence.JoinTable;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
@@ -92,10 +93,12 @@
private int nodeIndex;
@IndexColumn(name = "targetIndex")
+ @JoinTable(name = "BPMNodeInFlows")
@OneToMany(cascade = { CascadeType.ALL }, targetEntity = SequenceFlowImpl.class)
protected List<SequenceFlow> inFlows = new ArrayList<SequenceFlow>();
@IndexColumn(name = "sourceIndex")
+ @JoinTable(name = "BPMNodeOutFlows")
@OneToMany(cascade = { CascadeType.ALL }, targetEntity = SequenceFlowImpl.class)
protected List<SequenceFlow> outFlows = new ArrayList<SequenceFlow>();
@@ -103,6 +106,7 @@
protected PropertySupport propSupport = new PropertySupportImpl();
@IndexColumn(name = "assignIndex")
+ @JoinTable(name = "BPMNodeAssignments")
@OneToMany(cascade = { CascadeType.ALL }, targetEntity = AssignmentImpl.class)
private List<Assignment> assignments = new ArrayList<Assignment>();
@@ -183,7 +187,7 @@
{
this.groupRef = groupRef;
}
-
+
@Override
public Property getProperty(String name)
{
@@ -403,14 +407,10 @@
public void initialize(Session session)
{
Hibernate.initialize(this);
+ Hibernate.initialize(assignments);
+ Hibernate.initialize(outFlows);
+ Hibernate.initialize(inFlows);
getProperties();
- getAssignments();
- for (SequenceFlow flow : getOutFlows())
- {
- String targetRef = flow.getTargetRef();
- System.out.println(targetRef);
- }
- getInFlows();
}
private void checkAndInitializeStructure(ProcessStructure procStruct)
@@ -434,7 +434,7 @@
Group procGroup = procStruct.getGroup(grpName);
if (procGroup == null)
throw new InvalidProcessException("Cannot obtain group for name: " +
grpName);
-
+
this.groupRef = procGroup;
}
Modified:
projects/spec/branches/tdiesler/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/NodePersistenceTest.java
===================================================================
---
projects/spec/branches/tdiesler/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/NodePersistenceTest.java 2008-10-31
20:03:31 UTC (rev 2731)
+++
projects/spec/branches/tdiesler/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/NodePersistenceTest.java 2008-11-01
09:02:57 UTC (rev 2732)
@@ -26,8 +26,6 @@
import javax.management.ObjectName;
import org.hibernate.Session;
-import org.hibernate.StaleStateException;
-import org.hibernate.Transaction;
import org.jbpm.api.model.Node;
import org.jbpm.api.service.PersistenceService;
import org.jbpm.api.test.CTSTestCase;
@@ -42,61 +40,37 @@
public abstract class NodePersistenceTest extends CTSTestCase
{
protected HibernatePersistenceServiceImpl service;
-
+ private Session session;
+
@Override
protected void setUp() throws Exception
{
super.setUp();
service =
(HibernatePersistenceServiceImpl)PersistenceService.locatePersistenceService();
+ session = service.createSession();
}
+ @Override
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ session.close();
+ }
+
protected ObjectName saveNode(Node node)
{
- Session session = service.createSession();
- Transaction tx = session.beginTransaction();
- try
- {
- service.saveNode(session, node);
- tx.commit();
-
- return node.getKey();
- }
- finally
- {
- session.close();
- }
+ service.saveNode(session, node);
+ return node.getKey();
}
-
+
protected <T extends Node> T loadNode(Class<T> nodeClass, ObjectName
nodeID)
{
- Session session = service.createSession();
- try
- {
- T node = service.loadNode(session, nodeClass, nodeID, true);
- return node;
- }
- finally
- {
- session.close();
- }
+ T node = service.loadNode(session, nodeClass, nodeID, true);
+ return node;
}
protected void deleteNode(Node node)
{
- Session session = service.createSession();
- Transaction tx = session.beginTransaction();
- try
- {
- service.deleteNode(session, node);
- tx.commit();
- }
- catch(StaleStateException ex)
- {
- // ignore, because the node was already deleted by a cascade
- }
- finally
- {
- session.close();
- }
+ service.deleteNode(session, node);
}
}
Modified:
projects/spec/branches/tdiesler/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java
===================================================================
---
projects/spec/branches/tdiesler/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java 2008-10-31
20:03:31 UTC (rev 2731)
+++
projects/spec/branches/tdiesler/modules/ri/src/test/java/org/jbpm/test/ri/service/persistence/TaskPersistenceTest.java 2008-11-01
09:02:57 UTC (rev 2732)
@@ -59,7 +59,7 @@
*/
public class TaskPersistenceTest extends NodePersistenceTest
{
- public void _testSimpleTask() throws Exception
+ public void testSimpleTask() throws Exception
{
Task orgNode = new TaskImpl(null, TaskType.None, "Task");
@@ -72,7 +72,7 @@
deleteNode(wasNode);
}
- public void _testTaskProperties() throws Exception
+ public void testTaskProperties() throws Exception
{
TaskImpl orgNode = new TaskImpl(null, TaskType.None, "Task");
orgNode.addProperty("propOne", "valOne");
@@ -89,7 +89,7 @@
deleteNode(wasNode);
}
- public void _testTaskAssignments() throws Exception
+ public void testTaskAssignments() throws Exception
{
TaskImpl orgNode = new TaskImpl(null, TaskType.None, "Task");
orgNode.addAssignment(new AssignmentImpl(AssignTime.Start, new
ExpressionImpl("foo"), new PropertyImpl("propFoo", null)));
@@ -112,6 +112,25 @@
deleteNode(wasNode);
}
+ public void testOutFlow() throws Exception
+ {
+ TaskImpl taskA = new TaskImpl(null, TaskType.None, "TaskA");
+
+ SequenceFlowImpl flow = new SequenceFlowImpl("TaskB",
ConditionType.Expression, new ExpressionImpl("expr"));
+ taskA.setOutFlow(flow);
+
+ ObjectName aID = saveNode(taskA);
+
+ Task wasA = loadNode(TaskImpl.class, aID);
+
+ SequenceFlow outFlowA = wasA.getOutFlow();
+ assertEquals("TaskB", outFlowA.getTargetRef());
+ assertEquals(ConditionType.Expression, outFlowA.getConditionType());
+ assertEquals("expr",
outFlowA.getConditionExpression().getExpressionBody());
+
+ deleteNode(wasA);
+ }
+
public void testInOutFlows() throws Exception
{
TaskImpl taskA = new TaskImpl(null, TaskType.None, "TaskA");
@@ -131,7 +150,6 @@
assertEquals("TaskB", outFlowA.getTargetRef());
assertEquals(ConditionType.Expression, outFlowA.getConditionType());
assertEquals("expr",
outFlowA.getConditionExpression().getExpressionBody());
- assertSame(wasA, outFlowA.getSourceRef());
SequenceFlow inFlowB = wasB.getInFlow();
assertEquals(outFlowA.getTargetRef(), inFlowB.getTargetRef());
@@ -140,7 +158,7 @@
deleteNode(wasB);
}
- public void _testExecHandler() throws Exception
+ public void testExecHandler() throws Exception
{
class ExecHandler implements ExecutionHandler
{
@@ -177,7 +195,7 @@
deleteNode(wasNode);
}
- public void _testSignalHandler() throws Exception
+ public void testSignalHandler() throws Exception
{
class SigHandler implements SignalHandler
{
@@ -219,7 +237,7 @@
deleteNode(wasNode);
}
- public void _testFlowHandler() throws Exception
+ public void testFlowHandler() throws Exception
{
class FlowHandlerImpl implements FlowHandler
{
@@ -256,7 +274,7 @@
deleteNode(wasNode);
}
- public void _testInputSet() throws Exception
+ public void testInputSet() throws Exception
{
TaskImpl orgNode = new TaskImpl(null, TaskType.None, "Task");
@@ -282,7 +300,7 @@
deleteNode(wasNode);
}
- public void _testOutputSet() throws Exception
+ public void testOutputSet() throws Exception
{
TaskImpl orgNode = new TaskImpl(null, TaskType.None, "Task");
@@ -308,7 +326,7 @@
deleteNode(wasNode);
}
- public void _testIORules() throws Exception
+ public void testIORules() throws Exception
{
TaskImpl orgNode = new TaskImpl(null, TaskType.None, "Task");
orgNode.addIORule(new ExpressionImpl("ioOne"));
Modified: projects/spec/branches/tdiesler/modules/samples/airticket/client/.classpath
===================================================================
--- projects/spec/branches/tdiesler/modules/samples/airticket/client/.classpath 2008-10-31
20:03:31 UTC (rev 2731)
+++ projects/spec/branches/tdiesler/modules/samples/airticket/client/.classpath 2008-11-01
09:02:57 UTC (rev 2732)
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="target/classes"
path="src/main/java"/>
- <classpathentry excluding="**" kind="src"
output="target/classes" path="src/main/resources"/>
+ <classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con"
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="output" path="target/eclipse/classes"/>
</classpath>
Modified: projects/spec/branches/tdiesler/modules/samples/airticket/server/.classpath
===================================================================
--- projects/spec/branches/tdiesler/modules/samples/airticket/server/.classpath 2008-10-31
20:03:31 UTC (rev 2731)
+++ projects/spec/branches/tdiesler/modules/samples/airticket/server/.classpath 2008-11-01
09:02:57 UTC (rev 2732)
@@ -1,10 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="target/classes"
path="src/main/java"/>
- <classpathentry excluding="**" kind="src"
output="target/classes" path="src/main/resources"/>
- <classpathentry kind="src" output="target/test-classes"
path="src/test/java"/>
- <classpathentry excluding="**" kind="src"
output="target/test-classes" path="src/test/resources"/>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" output="target/eclipse/test-classes"
path="src/test/java"/>
<classpathentry kind="con"
path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="output" path="target/eclipse/classes"/>
</classpath>