[jbpm-commits] JBoss JBPM SVN: r2281 - in projects/jbpm-spec/trunk: modules/api/src/main/java/org/jboss/bpm/client and 5 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Sep 18 15:11:01 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-09-18 15:11:01 -0400 (Thu, 18 Sep 2008)
New Revision: 2281

Added:
   projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/NoneTask.java
   projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/InvalidProcessTest.java
   projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessMarshallerTest.java
   projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessStorageTest.java
   projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessTest.java
Removed:
   projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessIntegrityTest.java
Modified:
   projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/PersistenceService.java
   projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/SequenceFlow.java
   projects/jbpm-spec/trunk/modules/ri/pom.xml
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/HibernatePersistenceService.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/NoneTaskImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SequenceFlowImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SupportingElementImpl.java
   projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java
   projects/jbpm-spec/trunk/pom.xml
Log:
More Persistence

Modified: projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/PersistenceService.java
===================================================================
--- projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/PersistenceService.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/PersistenceService.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -35,7 +35,7 @@
  */
 public interface PersistenceService
 {
-  void saveProcess(Process proc);
+  ObjectName saveProcess(Process proc);
 
   Process loadProcess(ObjectName procID);
 

Added: projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/NoneTask.java
===================================================================
--- projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/NoneTask.java	                        (rev 0)
+++ projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/NoneTask.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -0,0 +1,35 @@
+/*
+ * 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.jboss.bpm.model;
+
+//$Id$
+
+
+/**
+ * Task that corresponds to the TaskType.None
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public interface NoneTask extends Task 
+{
+}
\ No newline at end of file


Property changes on: projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/NoneTask.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/SequenceFlow.java
===================================================================
--- projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/SequenceFlow.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/SequenceFlow.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -23,8 +23,9 @@
 
 
 
-//$Id$
 
+//$Id: $
+
 /**
  * A Sequence Flow is used to show the order that activities will be performed in a Process. Each Flow has only one
  * source and only one target. The source and target must be from the set of the following Flow Objects: Events (Start,

Copied: projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/InvalidProcessTest.java (from rev 2278, projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessIntegrityTest.java)
===================================================================
--- projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/InvalidProcessTest.java	                        (rev 0)
+++ projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/InvalidProcessTest.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -0,0 +1,69 @@
+/*
+ * 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.jboss.bpm.cts.model.process;
+
+// $Id$
+
+import org.jboss.bpm.InvalidProcessException;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
+import org.jboss.bpm.test.DefaultEngineTestCase;
+
+/**
+ * Test the intergety of various process definitions
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public class InvalidProcessTest extends DefaultEngineTestCase
+{
+  public void testNoStartEvent() throws Exception
+  {
+    try
+    {
+      // Create a Process through the ProcessBuilder
+      ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+      builder.addProcess("NoStartState").addTask("taskA").addSequenceFlow("end").addEndEvent("end").getProcess();
+      fail("InvalidProcessException expected");
+    }
+    catch (InvalidProcessException ex)
+    {
+      assertTrue("Unexpected message: " + ex.getMessage(), ex.getMessage().indexOf("start event") > 0);
+    }
+  }
+
+  public void testNoEndEvent() throws Exception
+  {
+    try
+    {
+      // Create a Process through the ProcessBuilder
+      ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+      builder.addProcess("NoEndState").addStartEvent("Start").addSequenceFlow("taskA").addTask("taskA").addSequenceFlow("end").
+      addTask("end").getProcess();
+      fail("InvalidProcessException expected");
+    }
+    catch (InvalidProcessException ex)
+    {
+      assertTrue("Unexpected message: " + ex.getMessage(), ex.getMessage().indexOf("end event") > 0);
+    }
+  }
+}

Deleted: projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessIntegrityTest.java
===================================================================
--- projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessIntegrityTest.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessIntegrityTest.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -1,69 +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.jboss.bpm.cts.model.process;
-
-// $Id$
-
-import org.jboss.bpm.InvalidProcessException;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.test.DefaultEngineTestCase;
-
-/**
- * Test the intergety of various process definitions
- * 
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public class ProcessIntegrityTest extends DefaultEngineTestCase
-{
-  public void testNoStartEvent() throws Exception
-  {
-    try
-    {
-      // Create a Process through the ProcessBuilder
-      ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
-      builder.addProcess("NoStartState").addTask("taskA").addSequenceFlow("end").addEndEvent("end").getProcess();
-      fail("InvalidProcessException expected");
-    }
-    catch (InvalidProcessException ex)
-    {
-      assertTrue("Unexpected message: " + ex.getMessage(), ex.getMessage().indexOf("start event") > 0);
-    }
-  }
-
-  public void testNoEndEvent() throws Exception
-  {
-    try
-    {
-      // Create a Process through the ProcessBuilder
-      ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
-      builder.addProcess("NoEndState").addStartEvent("Start").addSequenceFlow("taskA").addTask("taskA").addSequenceFlow("end").
-      addTask("end").getProcess();
-      fail("InvalidProcessException expected");
-    }
-    catch (InvalidProcessException ex)
-    {
-      assertTrue("Unexpected message: " + ex.getMessage(), ex.getMessage().indexOf("end event") > 0);
-    }
-  }
-}

Added: projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessMarshallerTest.java
===================================================================
--- projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessMarshallerTest.java	                        (rev 0)
+++ projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessMarshallerTest.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -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.jboss.bpm.cts.model.process;
+
+// $Id$
+
+import java.io.IOException;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+/**
+ * Test Process integrity.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Sep-2008
+ */
+public class ProcessMarshallerTest extends ProcessTest
+{
+  protected Process getSimpleProcess() throws IOException
+  {
+    // Marshall the process to a string
+    Process proc = super.getSimpleProcess();
+    String procXML = marshallProcess(proc);
+
+    // Recreate the process from the marshalled process
+    ProcessManager procManager = ProcessManager.locateProcessManager();
+    return procManager.createProcess(procXML);
+  }
+}


Property changes on: projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessMarshallerTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessStorageTest.java
===================================================================
--- projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessStorageTest.java	                        (rev 0)
+++ projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessStorageTest.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -0,0 +1,48 @@
+/*
+ * 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.jboss.bpm.cts.model.process;
+
+// $Id$
+
+import java.io.IOException;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+/**
+ * Test Process integrity.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Sep-2008
+ */
+public class ProcessStorageTest extends ProcessTest
+{
+  protected Process getSimpleProcess() throws IOException
+  {
+    // Save and reload the process
+    ProcessManager pm = ProcessManager.locateProcessManager();
+    ObjectName procID = pm.saveProcess(super.getSimpleProcess());
+    return pm.loadProcess(procID);
+  }
+}


Property changes on: projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessStorageTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessTest.java
===================================================================
--- projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessTest.java	                        (rev 0)
+++ projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessTest.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -0,0 +1,90 @@
+/*
+ * 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.jboss.bpm.cts.model.process;
+
+// $Id$
+
+import java.io.IOException;
+import java.util.List;
+
+import org.jboss.bpm.model.EndEvent;
+import org.jboss.bpm.model.NoneTask;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
+import org.jboss.bpm.model.SequenceFlow;
+import org.jboss.bpm.model.StartEvent;
+import org.jboss.bpm.model.Task;
+import org.jboss.bpm.model.Process.ProcessStatus;
+import org.jboss.bpm.test.DefaultEngineTestCase;
+
+/**
+ * Test Process integrity.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Sep-2008
+ */
+public class ProcessTest extends DefaultEngineTestCase
+{
+  public void testSimpleProcess() throws Exception
+  {
+    Process proc = getSimpleProcess();
+    assertEquals("SimpleProcess", proc.getName());
+    assertEquals(ProcessStatus.Ready, proc.getProcessStatus());
+    
+    List<StartEvent> startEvents = proc.getFlowObjects(StartEvent.class);
+    assertEquals("One StartEvent", 1, startEvents.size());
+    StartEvent startEvent = startEvents.get(0);
+    
+    List<Task> tasks = proc.getFlowObjects(Task.class);
+    assertEquals("One Task", 1, tasks.size());
+    NoneTask task = (NoneTask)tasks.get(0);
+    
+    List<EndEvent> endEvents = proc.getFlowObjects(EndEvent.class);
+    assertEquals("One EndEvent", 1, endEvents.size());
+    EndEvent endEvent = endEvents.get(0);
+    
+    assertEquals("StartEvent name", "Start", startEvent.getName());
+    assertSame("Same Process", proc, startEvent.getProcess());
+    SequenceFlow outFlow = startEvent.getOutFlow();
+    assertNotNull("StartEvent outFlow", outFlow);
+    assertEquals("OutFlow target", "Task", outFlow.getTargetName());
+    
+    assertEquals("Task name", "Task", task.getName());
+    assertSame("Same Process", proc, task.getProcess());
+    outFlow = task.getOutFlow();
+    assertNotNull("Task outFlow", outFlow);
+    assertEquals("OutFlow target", "End", outFlow.getTargetName());
+    
+    assertEquals("EndEvent name", "End", endEvent.getName());
+    assertSame("Same Process", proc, endEvent.getProcess());
+  }
+
+  protected Process getSimpleProcess() throws IOException
+  {
+    ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+    procBuilder.addProcess("SimpleProcess").addStartEvent("Start").addSequenceFlow("Task");
+    procBuilder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
+    Process proc = procBuilder.getProcess();
+    return proc;
+  }
+}


Property changes on: projects/jbpm-spec/trunk/modules/cts/src/test/java/org/jboss/bpm/cts/model/process/ProcessTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/jbpm-spec/trunk/modules/ri/pom.xml
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/pom.xml	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/pom.xml	2008-09-18 19:11:01 UTC (rev 2281)
@@ -29,46 +29,8 @@
 
   <!-- Properties -->
   <properties>
-    <hibernate.version>3.2.6.ga</hibernate.version>
-    <hibernate.annotations.version>3.3.1.GA</hibernate.annotations.version>
-    <hibernate.validator.version>3.0.0.ga</hibernate.validator.version>
-    <hsqldb.version>1.8.0.7</hsqldb.version>
-    <mysql.connector.version>5.1.6</mysql.connector.version>
   </properties>
 
-  <!-- DependencyManagement -->
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>hsqldb</groupId>
-        <artifactId>hsqldb</artifactId>
-        <version>${hsqldb.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.hibernate</groupId>
-        <artifactId>hibernate</artifactId>
-        <version>${hibernate.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.hibernate</groupId>
-        <artifactId>hibernate-annotations</artifactId>
-        <version>${hibernate.annotations.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.hibernate</groupId>
-        <artifactId>hibernate-validator</artifactId>
-        <version>${hibernate.validator.version}</version>
-      </dependency>
-
-      <!-- Database Driver Versions  -->
-      <dependency>
-        <groupId>mysql</groupId>
-        <artifactId>mysql-connector-java</artifactId>
-        <version>${mysql.connector.version}</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
   <!-- Dependencies -->
   <dependencies>
     <dependency>
@@ -97,71 +59,6 @@
 
   <!-- Profiles -->
   <profiles>
-
-    <!-- 
-      Name:  no-database
-      Descr: Setup the default database   
-    -->
-    <profile>
-      <id>no-database</id>
-      <activation>
-        <property>
-          <name>!database</name>
-        </property>
-      </activation>
-      <properties>
-        <database>hsqldb</database>
-      </properties>
-      <dependencies>
-        <dependency>
-          <groupId>hsqldb</groupId>
-          <artifactId>hsqldb</artifactId>
-          <scope>test</scope>
-        </dependency>
-      </dependencies>
-    </profile>
-
-    <!-- 
-      Name:  hsqldb
-      Descr: Hypersonic Database Setup   
-    -->
-    <profile>
-      <id>hsqldb</id>
-      <activation>
-        <property>
-          <name>database</name>
-          <value>hsqldb</value>
-        </property>
-      </activation>
-      <dependencies>
-        <dependency>
-          <groupId>hsqldb</groupId>
-          <artifactId>hsqldb</artifactId>
-          <scope>test</scope>
-        </dependency>
-      </dependencies>
-    </profile>
-
-    <!-- 
-      Name:  mysql
-      Descr: MySQL Database Setup   
-    -->
-    <profile>
-      <id>mysql</id>
-      <activation>
-        <property>
-          <name>database</name>
-          <value>mysql</value>
-        </property>
-      </activation>
-      <dependencies>
-        <dependency>
-          <groupId>mysql</groupId>
-          <artifactId>mysql-connector-java</artifactId>
-          <scope>test</scope>
-        </dependency>
-      </dependencies>
-    </profile>
-
   </profiles>
+  
 </project>
\ No newline at end of file

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/HibernatePersistenceService.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/HibernatePersistenceService.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/HibernatePersistenceService.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -35,10 +35,13 @@
 import org.jboss.bpm.client.PersistenceService;
 import org.jboss.bpm.model.Process;
 import org.jboss.bpm.ri.model.impl.AbstractElementImpl;
+import org.jboss.bpm.ri.model.impl.ActivityImpl;
 import org.jboss.bpm.ri.model.impl.EndEventImpl;
+import org.jboss.bpm.ri.model.impl.FlowImpl;
 import org.jboss.bpm.ri.model.impl.FlowObjectImpl;
 import org.jboss.bpm.ri.model.impl.NoneTaskImpl;
 import org.jboss.bpm.ri.model.impl.ProcessImpl;
+import org.jboss.bpm.ri.model.impl.SequenceFlowImpl;
 import org.jboss.bpm.ri.model.impl.StartEventImpl;
 
 /**
@@ -57,7 +60,7 @@
     this.hibernateConfig = hibernateConfig;
   }
 
-  public void saveProcess(Process proc)
+  public ObjectName saveProcess(Process proc)
   {
     Session session = getSessionFactory().openSession();
     Transaction tx = session.beginTransaction();
@@ -70,6 +73,7 @@
     {
       session.close();
     }
+    return proc.getID();
   }
 
   public Process loadProcess(ObjectName procID)
@@ -123,10 +127,13 @@
     {
       AnnotationConfiguration anConfig = new AnnotationConfiguration();
       anConfig.addAnnotatedClass(AbstractElementImpl.class);
+      anConfig.addAnnotatedClass(ActivityImpl.class);
       anConfig.addAnnotatedClass(EndEventImpl.class);
+      anConfig.addAnnotatedClass(FlowImpl.class);
       anConfig.addAnnotatedClass(FlowObjectImpl.class);
       anConfig.addAnnotatedClass(NoneTaskImpl.class);
       anConfig.addAnnotatedClass(ProcessImpl.class);
+      anConfig.addAnnotatedClass(SequenceFlowImpl.class);
       anConfig.addAnnotatedClass(StartEventImpl.class);
       sessionFactory = anConfig.configure(hibernateConfig).buildSessionFactory();
     }

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/ProcessManagerImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -93,10 +93,10 @@
     super.unregisterProcess(procImpl.getID());
   }
 
-  public void saveProcess(Process proc)
+  public ObjectName saveProcess(Process proc)
   {
     assertPersistenceService();
-    persistenceService.saveProcess(proc);
+    return persistenceService.saveProcess(proc);
   }
 
   public Process loadProcess(ObjectName procID)

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/AbstractElementImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -44,21 +44,20 @@
 {
   // provide serial version UID
   private static final long serialVersionUID = 1L;
-  
+
   // The cached ID
   protected transient ObjectName id;
   // The persistent key
   private transient String key;
-  
-  public AbstractElementImpl()
-  {
-    this.key = new UID().toString();
-  }
 
   @Id
   @Column(name = "id")
   public String getKey()
   {
+    if (key == null)
+    {
+      key = new UID().toString();
+    }
     return key;
   }
 
@@ -72,7 +71,7 @@
    */
   @Transient
   public abstract ObjectName getID();
-  
+
   /**
    * Called when the process is created
    */

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ActivityImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -27,6 +27,11 @@
 import java.util.Collections;
 import java.util.List;
 
+import javax.persistence.CascadeType;
+import javax.persistence.FetchType;
+import javax.persistence.JoinColumn;
+import javax.persistence.MappedSuperclass;
+import javax.persistence.OneToOne;
 import javax.persistence.Transient;
 
 import org.apache.commons.logging.Log;
@@ -55,6 +60,7 @@
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
  */
+ at MappedSuperclass
 public abstract class ActivityImpl extends FlowObjectImpl implements Activity, MutablePropertySupport,
     SingleInFlowSetterSupport, SingleOutFlowSetterSupport
 {
@@ -192,7 +198,8 @@
     this.inFlow = inFlow;
   }
 
-  @Transient
+  @OneToOne(cascade = CascadeType.ALL, fetch= FetchType.EAGER, targetEntity = SequenceFlowImpl.class)
+  @JoinColumn
   public SequenceFlow getOutFlow()
   {
     return outFlow;
@@ -259,9 +266,7 @@
     return inputSet;
   }
 
-  /**
-   * Select the active outputSet
-   */
+  @Transient
   protected OutputSet getActiveOutputSet()
   {
     OutputSet outputSet = null;

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -48,7 +48,6 @@
 import org.jboss.bpm.runtime.SignalHandler;
 import org.jboss.bpm.runtime.Token;
 import org.jboss.bpm.runtime.TokenExecutor;
-import org.jboss.util.id.UID;
 
 /**
  * As the name implies, the End Event indicates where a Process will end.
@@ -88,7 +87,7 @@
     if (id == null)
     {
       StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
-      str.append("type=EndEvent,name=" + getName() + ",id=" + new UID());
+      str.append("type=EndEvent,name=" + getName() + ",id=" + getKey());
       id = ObjectNameFactory.create(str.toString());
     }
     return id;

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -23,6 +23,9 @@
 
 //$Id$
 
+import javax.persistence.MappedSuperclass;
+import javax.persistence.Transient;
+
 import org.jboss.bpm.model.ConnectingObject;
 import org.jboss.bpm.model.FlowObject;
 
@@ -33,6 +36,7 @@
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
  */
+ at MappedSuperclass
 public abstract class FlowImpl extends SupportingElementImpl implements ConnectingObject
 {
   // provide serial version UID
@@ -66,6 +70,7 @@
     this.name = name;
   }
 
+  @Transient
   public FlowObject getSourceRef()
   {
     return source;
@@ -76,6 +81,7 @@
     this.source = source;
   }
 
+  @Transient
   public FlowObject getTargetRef()
   {
     return target;
@@ -90,4 +96,10 @@
   {
     return targetName;
   }
+
+  // Persistence method
+  protected void setTargetName(String targetName)
+  {
+    this.targetName = targetName;
+  }
 }
\ No newline at end of file

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/FlowObjectImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -25,8 +25,11 @@
 import java.util.Collections;
 import java.util.List;
 
+import javax.persistence.Entity;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
 import javax.persistence.ManyToOne;
-import javax.persistence.MappedSuperclass;
+import javax.persistence.Table;
 import javax.persistence.Transient;
 
 import org.jboss.bpm.InvalidProcessException;
@@ -56,7 +59,9 @@
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
  */
- at MappedSuperclass
+ at Entity
+ at Table(name = "JBPM_FLOW_OBJECT")
+ at Inheritance (strategy = InheritanceType.JOINED)
 public abstract class FlowObjectImpl extends GraphicalElementImpl implements FlowObject, HandlerSetterSupport
 {
   // provide serial version UID
@@ -79,13 +84,18 @@
   {
   }
 
-  //@ManyToOne(targetEntity = ProcessImpl.class)
-  @Transient
+  @ManyToOne(targetEntity = ProcessImpl.class)
   public Process getProcess()
   {
     return proc;
   }
 
+  // Persistence method
+  protected void setProcess(Process proc)
+  {
+    this.proc = proc;
+  }
+
   public String getName()
   {
     return name;
@@ -233,8 +243,10 @@
   protected void create(Process proc)
   {
     super.create(proc);
-    this.proc = proc;
 
+    // Set the associated process
+    setProcess(proc);
+
     // Check required name
     if (name == null)
       throw new InvalidProcessException("Name is required for: " + this);

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -43,7 +43,6 @@
 import org.jboss.bpm.runtime.ExecutionHandler;
 import org.jboss.bpm.runtime.SignalHandler;
 import org.jboss.bpm.runtime.Token;
-import org.jboss.util.id.UID;
 
 /**
  * Gateways are modelling elements that are used to control how Sequence Flow interact as they converge and diverge
@@ -77,7 +76,7 @@
     if (id == null)
     {
       StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
-      str.append("type=" + getGatewayType() + "Gateway,name=" + getName() + ",id=" + new UID());
+      str.append("type=" + getGatewayType() + "Gateway,name=" + getName() + ",id=" + getKey());
       id = ObjectNameFactory.create(str.toString());
     }
     return id;

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -40,7 +40,6 @@
 import org.jboss.bpm.runtime.SignalHandler;
 import org.jboss.bpm.runtime.Token;
 import org.jboss.bpm.runtime.TokenExecutor;
-import org.jboss.util.id.UID;
 
 /**
  * An Intermediate Event is an Event that occurs after a Process has been started. It will affect the Flow of the Process, but will not start or (directly) terminate
@@ -70,7 +69,7 @@
     if (id == null)
     {
       StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
-      str.append("type=IntermediateEvent,name=" + getName() + ",id=" + new UID());
+      str.append("type=IntermediateEvent,name=" + getName() + ",id=" + getKey());
       id = ObjectNameFactory.create(str.toString());
     }
     return id;

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/NoneTaskImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/NoneTaskImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/NoneTaskImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -27,6 +27,8 @@
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
+import org.jboss.bpm.model.NoneTask;
+
 /**
  * Task that corresponds to the TaskType.None
  * 
@@ -35,7 +37,7 @@
  */
 @Entity
 @Table(name = "JBPM_NONE_TASK")
-public class NoneTaskImpl extends TaskImpl 
+public class NoneTaskImpl extends TaskImpl implements NoneTask
 {
   // provide serial version UID
   private static final long serialVersionUID = 1L;

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/ProcessImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -34,6 +34,8 @@
 import javax.management.ObjectName;
 import javax.persistence.CascadeType;
 import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
 import javax.persistence.FetchType;
 import javax.persistence.OneToMany;
 import javax.persistence.Table;
@@ -268,8 +270,7 @@
     return em.waitForEnd(this, timeout);
   }
 
-  //@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "process", targetEntity = FlowObjectImpl.class)
-  @Transient
+  @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "process", targetEntity = FlowObjectImpl.class)
   public List<FlowObject> getFlowObjects()
   {
     if (status == ProcessStatus.None)
@@ -278,6 +279,12 @@
     return Collections.unmodifiableList(flowObjects);
   }
 
+  // Persistence method
+  protected void setFlowObjects(List<FlowObject> flowObjects)
+  {
+    this.flowObjects = flowObjects;
+  }
+
   public FlowObject getFlowObject(String name)
   {
     if (name == null)
@@ -307,6 +314,7 @@
     return retFlowObjects;
   }
 
+  @Enumerated(EnumType.STRING)
   public synchronized ProcessStatus getProcessStatus()
   {
     return status;

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SequenceFlowImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SequenceFlowImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SequenceFlowImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -24,15 +24,18 @@
 //$Id$
 
 import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
 import javax.persistence.Table;
+import javax.persistence.Transient;
 
 import org.jboss.bpm.model.Expression;
 import org.jboss.bpm.model.FlowObject;
 import org.jboss.bpm.model.SequenceFlow;
 
 /**
- * A Sequence Flow is a solid graphical line that is used to show the order that Activities will be performed in a Process. 
- * Each Flow has only one source and only one target.
+ * A Sequence Flow is a solid graphical line that is used to show the order that Activities will be performed in a
+ * Process. Each Flow has only one source and only one target.
  * 
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
@@ -43,10 +46,10 @@
 {
   // provide serial version UID
   private static final long serialVersionUID = 1L;
-  
+
   private ConditionType conditionType = ConditionType.None;
   private Expression conditionExpression;
-  
+
   public SequenceFlowImpl(String targetName)
   {
     super(targetName);
@@ -64,29 +67,37 @@
   {
   }
 
+  @Enumerated(EnumType.STRING)
   public ConditionType getConditionType()
   {
     return conditionType;
   }
-  
+
+  // Persistent method
+  protected void setConditionType(ConditionType conditionType)
+  {
+    this.conditionType = conditionType;
+  }
+
+  @Transient
   public Expression getConditionExpression()
   {
     return conditionExpression;
   }
-  
+
   public String toString()
   {
     FlowObject sourceRef = getSourceRef();
     FlowObject targetRef = getTargetRef();
-    
+
     String srcName = null;
     if (sourceRef != null)
       srcName = (sourceRef.getName() != null ? sourceRef.getName() : sourceRef.getID().getCanonicalName());
-    
+
     String tarName = null;
     if (targetRef != null)
       tarName = (targetRef.getName() != null ? targetRef.getName() : targetRef.getID().getCanonicalName());
-    
+
     return "SequenceFlow[" + srcName + "->" + tarName + "]";
   }
 }
\ No newline at end of file

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -28,7 +28,11 @@
 import java.util.List;
 
 import javax.management.ObjectName;
+import javax.persistence.CascadeType;
 import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
@@ -50,7 +54,6 @@
 import org.jboss.bpm.runtime.SignalHandler;
 import org.jboss.bpm.runtime.Token;
 import org.jboss.bpm.runtime.TokenExecutor;
-import org.jboss.util.id.UID;
 
 /**
  * A Start Event indicates where a particular Process will start. In terms of Sequence Flow, the Start Event starts the
@@ -90,7 +93,7 @@
     if (id == null)
     {
       StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
-      str.append("type=StartEvent,name=" + getName() + ",id=" + new UID());
+      str.append("type=StartEvent,name=" + getName() + ",id=" + getKey());
       id = ObjectNameFactory.create(str.toString());
     }
     return id;
@@ -107,7 +110,8 @@
     triggers.add(eventDetail);
   }
 
-  @Transient
+  @OneToOne(cascade = CascadeType.ALL, fetch= FetchType.EAGER, targetEntity = SequenceFlowImpl.class)
+  @JoinColumn
   public SequenceFlow getOutFlow()
   {
     return outFlow;

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -32,7 +32,6 @@
 import org.jboss.bpm.ri.model.spec.SubProcess;
 import org.jboss.bpm.runtime.SignalHandler;
 import org.jboss.bpm.runtime.Token;
-import org.jboss.util.id.UID;
 
 /**
  * A Sub-Process is Process that is included within another Process.
@@ -61,7 +60,7 @@
     if (id == null)
     {
       StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
-      str.append("type=SubProcess,name=" + getName() + ",id=" + new UID());
+      str.append("type=SubProcess,name=" + getName() + ",id=" + getKey());
       id = ObjectNameFactory.create(str.toString());
     }
     return id;

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SupportingElementImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SupportingElementImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SupportingElementImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -29,11 +29,10 @@
 import org.jboss.bpm.model.Constants;
 import org.jboss.bpm.model.ObjectNameFactory;
 import org.jboss.bpm.model.SupportingElement;
-import org.jboss.util.id.UID;
 
 /**
  * A supporting element
- *  
+ * 
  * @author thomas.diesler at jboss.com
  * @since 08-Jul-2008
  */
@@ -41,7 +40,7 @@
 {
   // provide serial version UID
   private static final long serialVersionUID = 1L;
-  
+
   @Override
   @Transient
   public ObjectName getID()
@@ -49,7 +48,7 @@
     if (id == null)
     {
       StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
-      str.append("type=SupportingElement,id=" + new UID());
+      str.append("type=SupportingElement,id=" + getKey());
       id = ObjectNameFactory.create(str.toString());
     }
     return id;

Modified: projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java
===================================================================
--- projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java	2008-09-18 19:11:01 UTC (rev 2281)
@@ -31,7 +31,6 @@
 import org.jboss.bpm.model.Task;
 import org.jboss.bpm.runtime.SignalHandler;
 import org.jboss.bpm.runtime.Token;
-import org.jboss.util.id.UID;
 
 //$Id$
 
@@ -74,7 +73,7 @@
     if (id == null)
     {
       StringBuilder str = new StringBuilder(Constants.ID_DOMAIN + ":");
-      str.append("type=" + getTaskType() + "Task,name=" + getName() + ",id=" + new UID());
+      str.append("type=" + getTaskType() + "Task,name=" + getName() + ",id=" + getKey());
       id = ObjectNameFactory.create(str.toString());
     }
     return id;

Modified: projects/jbpm-spec/trunk/pom.xml
===================================================================
--- projects/jbpm-spec/trunk/pom.xml	2008-09-18 13:56:28 UTC (rev 2280)
+++ projects/jbpm-spec/trunk/pom.xml	2008-09-18 19:11:01 UTC (rev 2281)
@@ -38,6 +38,11 @@
   <properties>
     <commons.logging.version>1.1.1</commons.logging.version>
     <google.gwt.version>1.4.61</google.gwt.version>
+    <hibernate.version>3.2.6.ga</hibernate.version>
+    <hibernate.annotations.version>3.3.1.GA</hibernate.annotations.version>
+    <hibernate.validator.version>3.0.0.ga</hibernate.validator.version>
+    <hsqldb.version>1.8.0.7</hsqldb.version>
+    <mysql.connector.version>5.1.6</mysql.connector.version>
     <jaxb.ri.version>2.1.7</jaxb.ri.version>
     <javax.servlet.version>2.5</javax.servlet.version>
     <jboss.microcontainer.version>2.0.0.Beta15</jboss.microcontainer.version>
@@ -106,6 +111,21 @@
         <version>${commons.logging.version}</version>
       </dependency>
       <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate</artifactId>
+        <version>${hibernate.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-annotations</artifactId>
+        <version>${hibernate.annotations.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-validator</artifactId>
+        <version>${hibernate.validator.version}</version>
+      </dependency>
+      <dependency>
         <groupId>org.jboss.microcontainer</groupId>
         <artifactId>jboss-kernel</artifactId>
         <version>${jboss.microcontainer.version}</version>
@@ -120,6 +140,18 @@
         <artifactId>servlet-api</artifactId>
         <version>${javax.servlet.version}</version>
       </dependency>
+
+      <!-- Database Driver Versions  -->
+      <dependency>
+        <groupId>hsqldb</groupId>
+        <artifactId>hsqldb</artifactId>
+        <version>${hsqldb.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>mysql</groupId>
+        <artifactId>mysql-connector-java</artifactId>
+        <version>${mysql.connector.version}</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>
 
@@ -203,6 +235,71 @@
 
   <!-- Profiles -->
   <profiles>
+    <!-- 
+      Name:  no-database
+      Descr: Setup the default database   
+    -->
+    <profile>
+      <id>no-database</id>
+      <activation>
+        <property>
+          <name>!database</name>
+        </property>
+      </activation>
+      <properties>
+        <database>hsqldb</database>
+      </properties>
+      <dependencies>
+        <dependency>
+          <groupId>hsqldb</groupId>
+          <artifactId>hsqldb</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <!-- 
+      Name:  hsqldb
+      Descr: Hypersonic Database Setup   
+    -->
+    <profile>
+      <id>hsqldb</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>hsqldb</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>hsqldb</groupId>
+          <artifactId>hsqldb</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+
+    <!-- 
+      Name:  mysql
+      Descr: MySQL Database Setup   
+    -->
+    <profile>
+      <id>mysql</id>
+      <activation>
+        <property>
+          <name>database</name>
+          <value>mysql</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>mysql</groupId>
+          <artifactId>mysql-connector-java</artifactId>
+          <scope>test</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+    
     <!--
       Name: skiptests
       Desc: Skips the tests 




More information about the jbpm-commits mailing list