[jbpm-commits] JBoss JBPM SVN: r2449 - in projects/spec/trunk/modules: cts/src/test/java/org/jbpm/test/cts/service/persistence and 3 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Sep 30 07:01:16 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-09-30 07:01:11 -0400 (Tue, 30 Sep 2008)
New Revision: 2449

Added:
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/ProcessCatalog.java
Removed:
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/TestProcessBuilder.java
Modified:
   projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessService.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/PersistenceServiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/ProcessBuilderTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequenceTest.java
   projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java
Log:
persistent properties - ok

Modified: projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessService.java	2008-09-30 10:39:06 UTC (rev 2448)
+++ projects/spec/trunk/modules/api/src/main/java/org/jbpm/api/service/ProcessService.java	2008-09-30 11:01:11 UTC (rev 2449)
@@ -79,11 +79,6 @@
     if (proc == null)
       throw new IllegalStateException("Cannot obtain process from: " + dep);
     
-    // Save the process if the PersistenceService is registered
-    PersistenceService dbService = engine.getService(PersistenceService.class);
-    if (dbService != null)
-      dbService.saveProcess(proc);
-
     registerProcess(proc);
     return proc.getKey();
   }
@@ -94,6 +89,11 @@
   public void registerProcess(Process proc)
   {
     log.debug("registerProcess: " + proc);
+    
+    // Save the process through the PersistenceService
+    PersistenceService dbService = getProcessEngine().getService(PersistenceService.class);
+    dbService.saveProcess(proc);
+    
     registeredProcs.put(proc.getKey(), proc);
   }
 
@@ -103,6 +103,11 @@
   public void unregisterProcess(Process proc)
   {
     log.debug("unregisterProcess: " + proc);
+    
+    // Delete the process through the PersistenceService
+    PersistenceService dbService = getProcessEngine().getService(PersistenceService.class);
+    dbService.deleteProcess(proc);
+    
     registeredProcs.remove(proc.getKey());
   }
 

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/PersistenceServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/PersistenceServiceTest.java	2008-09-30 10:39:06 UTC (rev 2448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/persistence/PersistenceServiceTest.java	2008-09-30 11:01:11 UTC (rev 2449)
@@ -29,7 +29,7 @@
 import org.jbpm.api.model.Process;
 import org.jbpm.api.service.PersistenceService;
 import org.jbpm.api.test.CTSTestCase;
-import org.jbpm.test.cts.service.processbuilder.TestProcessBuilder;
+import org.jbpm.test.cts.service.processbuilder.ProcessCatalog;
 
 /**
  * Test the PersistenceService
@@ -47,13 +47,13 @@
     PersistenceService service = PersistenceService.locatePersistenceService();
 
     // Save the process
-    Process proc = TestProcessBuilder.getTrivalProcess();
+    Process proc = ProcessCatalog.getDefaultProcess();
     service.saveProcess(proc);
 
     // Load the process
     ObjectName procID = proc.getKey();
     Process procLoad = service.loadProcess(procID);
-    TestProcessBuilder.validateTrivialProcess(procLoad);
+    ProcessCatalog.validateDefaultProcess(procLoad);
 
     // Delete the process
     service.deleteProcess(proc);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/ProcessBuilderTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/ProcessBuilderTest.java	2008-09-30 10:39:06 UTC (rev 2448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/ProcessBuilderTest.java	2008-09-30 11:01:11 UTC (rev 2449)
@@ -39,8 +39,8 @@
 {
   public void testBasicProcess() throws Exception
   {
-    Process proc = TestProcessBuilder.getTrivalProcess();
-    TestProcessBuilder.validateTrivialProcess(proc);
+    Process proc = ProcessCatalog.getDefaultProcess();
+    ProcessCatalog.validateDefaultProcess(proc);
   }
 
   public void testNoProcessName() throws Exception

Added: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/ProcessCatalog.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/ProcessCatalog.java	                        (rev 0)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/ProcessCatalog.java	2008-09-30 11:01:11 UTC (rev 2449)
@@ -0,0 +1,99 @@
+/*
+ * 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.service.processbuilder;
+
+// $Id$
+
+import junit.framework.TestCase;
+
+import org.jbpm.api.model.EndEvent;
+import org.jbpm.api.model.Process;
+import org.jbpm.api.model.SequenceFlow;
+import org.jbpm.api.model.StartEvent;
+import org.jbpm.api.model.Task;
+import org.jbpm.api.model.builder.ProcessBuilder;
+import org.jbpm.api.model.builder.ProcessBuilderService;
+
+/**
+ * A catalog of CTS test processes
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 24-Sep-2008
+ */
+public abstract class ProcessCatalog
+{
+  public static Process getDefaultProcess()
+  {
+    ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+    builder.addProcess("Proc").addProperty("proP1", "valP1").addProperty("proP2", "valP2");
+    builder.addStartEvent("Start").addSequenceFlow("Task");
+    builder.addTask("Task").addProperty("proT1", "valT1").addProperty("proT2", "valT2");
+    builder.addSequenceFlow("End").addEndEvent("End");
+    Process proc = builder.getProcess();
+    return proc;
+  }
+
+  public static void validateDefaultProcess(Process wasProc)
+  {
+    TestCase.assertNotNull("Process not null", wasProc);
+    TestCase.assertEquals("Proc", wasProc.getName());
+
+    TestCase.assertEquals("Two proc props", 2, wasProc.getProperties().size());
+    TestCase.assertEquals("valP1", wasProc.getProperty("proP1").getValue());
+    TestCase.assertEquals("valP2", wasProc.getProperty("proP2").getValue());
+    
+    StartEvent start = (StartEvent)wasProc.getNode("Start");
+    Task task = (Task)wasProc.getNode("Task");
+    EndEvent end = (EndEvent)wasProc.getNode("End");
+
+    TestCase.assertNotNull("Start not null", start);
+    TestCase.assertNotNull("Task not null", task);
+    TestCase.assertNotNull("End not null", end);
+
+    TestCase.assertEquals("No start props", 0, start.getProperties().size());
+    TestCase.assertEquals("Two task props", 2, task.getProperties().size());
+    TestCase.assertEquals("No end props", 0, end.getProperties().size());
+    
+    TestCase.assertEquals("valT1", task.getProperty("proT1").getValue());
+    TestCase.assertEquals("valT2", task.getProperty("proT2").getValue());
+    
+    TestCase.assertSame(wasProc, start.getProcess());
+    TestCase.assertSame(wasProc, task.getProcess());
+    TestCase.assertSame(wasProc, end.getProcess());
+
+    TestCase.assertSame(start, wasProc.getNode(StartEvent.class, "Start"));
+    TestCase.assertSame(task, wasProc.getNode(Task.class, "Task"));
+    TestCase.assertSame(end, wasProc.getNode(EndEvent.class, "End"));
+
+    SequenceFlow startFlow = start.getOutFlow();
+    TestCase.assertNotNull("Start flow not null", startFlow);
+    TestCase.assertEquals("Task", startFlow.getTargetName());
+    TestCase.assertSame(start, startFlow.getSourceRef());
+    TestCase.assertSame(task, startFlow.getTargetRef());
+
+    SequenceFlow taskFlow = task.getOutFlow();
+    TestCase.assertNotNull("Task flow not null", taskFlow);
+    TestCase.assertEquals("End", taskFlow.getTargetName());
+    TestCase.assertSame(task, taskFlow.getSourceRef());
+    TestCase.assertSame(end, taskFlow.getTargetRef());
+  }
+}


Property changes on: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/ProcessCatalog.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/TestProcessBuilder.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/TestProcessBuilder.java	2008-09-30 10:39:06 UTC (rev 2448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/cts/service/processbuilder/TestProcessBuilder.java	2008-09-30 11:01:11 UTC (rev 2449)
@@ -1,86 +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.service.processbuilder;
-
-// $Id$
-
-import junit.framework.TestCase;
-
-import org.jbpm.api.model.EndEvent;
-import org.jbpm.api.model.Process;
-import org.jbpm.api.model.SequenceFlow;
-import org.jbpm.api.model.StartEvent;
-import org.jbpm.api.model.Task;
-import org.jbpm.api.model.builder.ProcessBuilder;
-import org.jbpm.api.model.builder.ProcessBuilderService;
-
-/**
- * A catalog of CTS test processes
- * 
- * @author thomas.diesler at jboss.com
- * @since 24-Sep-2008
- */
-public abstract class TestProcessBuilder
-{
-  public static Process getTrivalProcess()
-  {
-    ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
-    builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
-    builder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
-    Process proc = builder.getProcess();
-    return proc;
-  }
-
-  public static void validateTrivialProcess(Process wasProc)
-  {
-    TestCase.assertNotNull("Process not null", wasProc);
-    TestCase.assertEquals("Proc", wasProc.getName());
-
-    StartEvent start = (StartEvent)wasProc.getNode("Start");
-    Task task = (Task)wasProc.getNode("Task");
-    EndEvent end = (EndEvent)wasProc.getNode("End");
-
-    TestCase.assertNotNull("Start not null", start);
-    TestCase.assertNotNull("Task not null", task);
-    TestCase.assertNotNull("End not null", end);
-
-    TestCase.assertSame(wasProc, start.getProcess());
-    TestCase.assertSame(wasProc, task.getProcess());
-    TestCase.assertSame(wasProc, end.getProcess());
-
-    TestCase.assertSame(start, wasProc.getNode(StartEvent.class, "Start"));
-    TestCase.assertSame(task, wasProc.getNode(Task.class, "Task"));
-    TestCase.assertSame(end, wasProc.getNode(EndEvent.class, "End"));
-
-    SequenceFlow startFlow = start.getOutFlow();
-    TestCase.assertNotNull("Start flow not null", startFlow);
-    TestCase.assertEquals("Task", startFlow.getTargetName());
-    TestCase.assertSame(start, startFlow.getSourceRef());
-    TestCase.assertSame(task, startFlow.getTargetRef());
-
-    SequenceFlow taskFlow = task.getOutFlow();
-    TestCase.assertNotNull("Task flow not null", taskFlow);
-    TestCase.assertEquals("End", taskFlow.getTargetName());
-    TestCase.assertSame(task, taskFlow.getSourceRef());
-    TestCase.assertSame(end, taskFlow.getTargetRef());
-  }
-}

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequenceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequenceTest.java	2008-09-30 10:39:06 UTC (rev 2448)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jbpm/test/pattern/control/sequence/SequenceTest.java	2008-09-30 11:01:11 UTC (rev 2449)
@@ -31,7 +31,6 @@
 import org.jbpm.api.model.Signal.SignalType;
 import org.jbpm.api.model.builder.ProcessBuilder;
 import org.jbpm.api.model.builder.ProcessBuilderService;
-import org.jbpm.api.service.ProcessService;
 import org.jbpm.api.test.CTSTestCase;
 
 

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-30 10:39:06 UTC (rev 2448)
+++ projects/spec/trunk/modules/impl/src/main/java/org/jbpm/ri/model/NodeImpl.java	2008-09-30 11:01:11 UTC (rev 2449)
@@ -37,7 +37,6 @@
 import javax.persistence.InheritanceType;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
-import javax.persistence.Transient;
 
 import org.hibernate.annotations.IndexColumn;
 import org.jbpm.api.InvalidProcessException;
@@ -92,9 +91,8 @@
   @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "sourceRef", targetEntity = SequenceFlowImpl.class)
   protected List<SequenceFlow> outFlows = new ArrayList<SequenceFlow>();
 
-  @Transient
-  // @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = PropertyImpl.class)
-  private Set<Property> properties = new HashSet<Property>();
+  @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = PropertyImpl.class)
+  protected Set<Property> properties = new HashSet<Property>();
 
   @Basic
   private String execHandler;




More information about the jbpm-commits mailing list