[jbpm-commits] JBoss JBPM SVN: r6248 - in jbpm3/branches/jbpm-3.2-soa/modules/simulation/src: main/java/org/jbpm/sim/jpdl and 2 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Apr 7 05:30:02 EDT 2010


Author: alex.guizar at jboss.com
Date: 2010-04-07 05:30:00 -0400 (Wed, 07 Apr 2010)
New Revision: 6248

Added:
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/AbstractSimTestCase.java
Modified:
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/java/org/jbpm/sim/def/JbpmSimulationModel.java
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/java/org/jbpm/sim/jpdl/SimulationJpdlXmlReader.java
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/resources/org/jbpm/sim/simulation.cfg.xml
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/BusinessFiguresTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/LanguageDefinitionTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/OneStateTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/OneTaskTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/ScenarioTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/SteadyStateResetTest.java
   jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/VariableSourceAndFilterTest.java
Log:
move explicit references to simulation.cfg.xml from main code to test code;
set date generator in configuration file instead of Clock.dateGenerator field

Modified: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/java/org/jbpm/sim/def/JbpmSimulationModel.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/java/org/jbpm/sim/def/JbpmSimulationModel.java	2010-04-07 08:31:23 UTC (rev 6247)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/java/org/jbpm/sim/def/JbpmSimulationModel.java	2010-04-07 09:30:00 UTC (rev 6248)
@@ -10,6 +10,8 @@
 import org.apache.commons.beanutils.PropertyUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+
+import org.jbpm.JbpmConfiguration;
 import org.jbpm.graph.def.Node;
 import org.jbpm.graph.def.ProcessDefinition;
 import org.jbpm.graph.def.Transition;
@@ -23,7 +25,6 @@
 import org.jbpm.sim.kpi.BusinessFigure;
 import org.jbpm.taskmgmt.def.Task;
 import org.jbpm.taskmgmt.exe.TaskInstance;
-import org.jbpm.util.Clock;
 
 import desmoj.core.dist.Distribution;
 import desmoj.core.dist.IntDist;
@@ -159,10 +160,9 @@
     super.connectToExperiment(exp);
 
     // set the jBPM-Clock and register it to be controlled by the real simulation clock
-    // TODO: Only do that, if the clock isn't already created, for example from the
-    //       JbpmExperiment
-    JbpmSimulationClock jbpmClock = new JbpmSimulationClock();
-    Clock.dateGenerator = jbpmClock;
+    // TODO: Only do that, if the clock isn't already created, e.g. by JbpmExperiment
+    JbpmSimulationClock jbpmClock =
+      (JbpmSimulationClock) JbpmConfiguration.Configs.getObject("jbpm.date.generator");
     getExperiment().getSimClock().addObserver(jbpmClock);
   }
   

Modified: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/java/org/jbpm/sim/jpdl/SimulationJpdlXmlReader.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/java/org/jbpm/sim/jpdl/SimulationJpdlXmlReader.java	2010-04-07 08:31:23 UTC (rev 6247)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/java/org/jbpm/sim/jpdl/SimulationJpdlXmlReader.java	2010-04-07 09:30:00 UTC (rev 6248)
@@ -7,8 +7,6 @@
 import org.dom4j.Element;
 import org.xml.sax.InputSource;
 
-import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
 import org.jbpm.graph.def.Event;
 import org.jbpm.graph.def.Node;
 import org.jbpm.graph.def.NodeCollection;
@@ -56,15 +54,9 @@
   }
 
   public ProcessDefinition readProcessDefinition() {
-    JbpmContext jbpmContext = JbpmConfiguration.getInstance("org/jbpm/sim/simulation.cfg.xml").createJbpmContext();
-    try {
-      ProcessDefinition result = super.readProcessDefinition();
-      instrument();
-      return result;
-    }
-    finally {
-      jbpmContext.close();
-    }
+    ProcessDefinition result = super.readProcessDefinition();
+    instrument();
+    return result;
   }
   
   /**

Modified: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/resources/org/jbpm/sim/simulation.cfg.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/resources/org/jbpm/sim/simulation.cfg.xml	2010-04-07 08:31:23 UTC (rev 6247)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/main/resources/org/jbpm/sim/simulation.cfg.xml	2010-04-07 09:30:00 UTC (rev 6248)
@@ -1,11 +1,10 @@
 <jbpm-configuration>
-
   <jbpm-context>
     <!-- 
     TODO: add an in-memory asynchronous messaging system and corresponding job 
     executor for supporting async execution in the simulation environment
     <service name="message" factory="org.jbpm.sim.SimulationMessageServiceFactory" />
-    
+
     TODO: figure out what to do with timers during simulation
     <service name="scheduler" factory="org.jbpm.scheduler.sim.SimulationSchedulerServiceFactory" />
      -->
@@ -15,4 +14,5 @@
   <string name="resource.action.types" value="org/jbpm/sim/simulation.action.types.xml" />
   <string name="resource.node.types" value="org/jbpm/sim/simulation.node.types.xml" />
 
+  <bean name="jbpm.date.generator" class="org.jbpm.sim.def.JbpmSimulationClock" />
 </jbpm-configuration>

Added: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/AbstractSimTestCase.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/AbstractSimTestCase.java	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/AbstractSimTestCase.java	2010-04-07 09:30:00 UTC (rev 6248)
@@ -0,0 +1,21 @@
+package org.jbpm.sim;
+
+import org.jbpm.AbstractJbpmTestCase;
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+
+public abstract class AbstractSimTestCase extends AbstractJbpmTestCase {
+
+  private JbpmContext jbpmContext;
+
+  protected void setUp() throws Exception {
+    super.setUp();
+    jbpmContext = JbpmConfiguration.getInstance("org/jbpm/sim/simulation.cfg.xml").createJbpmContext();
+  }
+
+  protected void tearDown() throws Exception {
+    jbpmContext.close();
+    super.tearDown();
+  }
+
+}
\ No newline at end of file


Property changes on: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/AbstractSimTestCase.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Modified: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/BusinessFiguresTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/BusinessFiguresTest.java	2010-04-07 08:31:23 UTC (rev 6247)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/BusinessFiguresTest.java	2010-04-07 09:30:00 UTC (rev 6248)
@@ -1,14 +1,12 @@
 package org.jbpm.sim;
 
-import junit.framework.TestCase;
-
 import org.jbpm.graph.exe.ExecutionContext;
 import org.jbpm.sim.def.JbpmSimulationExperiment;
 import org.jbpm.sim.exe.ExperimentReader;
 import org.jbpm.sim.kpi.BusinessFigureCalculator;
 import org.jbpm.sim.report.ScenarioReport;
 
-public class BusinessFiguresTest extends TestCase {
+public class BusinessFiguresTest extends AbstractSimTestCase {
 
   private static final String testProcessXml = "<process-definition name='test' start-distribution='startDist'>"
 

Modified: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/LanguageDefinitionTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/LanguageDefinitionTest.java	2010-04-07 08:31:23 UTC (rev 6247)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/LanguageDefinitionTest.java	2010-04-07 09:30:00 UTC (rev 6248)
@@ -16,9 +16,8 @@
 
 import desmoj.core.simulator.Experiment;
 import desmoj.core.simulator.SimTime;
-import junit.framework.TestCase;
 
-public class LanguageDefinitionTest extends TestCase {
+public class LanguageDefinitionTest extends AbstractSimTestCase {
 
   public void testDistributionsOnProcessElements() {
     Experiment exp = new Experiment(getName(), "target");

Modified: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/OneStateTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/OneStateTest.java	2010-04-07 08:31:23 UTC (rev 6247)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/OneStateTest.java	2010-04-07 09:30:00 UTC (rev 6248)
@@ -4,9 +4,8 @@
 
 import desmoj.core.simulator.Experiment;
 import desmoj.core.simulator.SimTime;
-import junit.framework.TestCase;
 
-public class OneStateTest extends TestCase {
+public class OneStateTest extends AbstractSimTestCase {
 
   public void testOneState() {
     Experiment exp = new Experiment(getName(), "target");

Modified: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/OneTaskTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/OneTaskTest.java	2010-04-07 08:31:23 UTC (rev 6247)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/OneTaskTest.java	2010-04-07 09:30:00 UTC (rev 6248)
@@ -1,17 +1,11 @@
 package org.jbpm.sim;
 
-import java.util.Iterator;
-
-import org.jbpm.graph.exe.ProcessInstance;
 import org.jbpm.sim.def.DefaultJbpmSimulationModel;
-import org.jbpm.taskmgmt.exe.TaskInstance;
-import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
 
 import desmoj.core.simulator.Experiment;
 import desmoj.core.simulator.SimTime;
-import junit.framework.TestCase;
 
-public class OneTaskTest extends TestCase {
+public class OneTaskTest extends AbstractSimTestCase {
 
   public void testOneState() {
     Experiment exp = new Experiment(getName(), "target");
@@ -57,22 +51,7 @@
     exp.finish();    
   }
   
-  public TaskInstance findTaskInstance(String taskName, ProcessInstance processInstance) {
-    TaskMgmtInstance tmi = processInstance.getTaskMgmtInstance();
-    Iterator iter = tmi.getTaskInstances().iterator();
-    while (iter.hasNext()) {
-      TaskInstance taskInstance = (TaskInstance) iter.next();
-      if ( (taskName.equals(taskInstance.getName())
-           && (!taskInstance.hasEnded())
-           && (taskInstance.getStart()!=null))
-         ) {
-        return taskInstance;
-      }
-    }
-    return null;
-  }
   
-  
   // old test:
 //  setCurrentTime("10:29");
 //  pi1.signal();

Modified: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/ScenarioTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/ScenarioTest.java	2010-04-07 08:31:23 UTC (rev 6247)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/ScenarioTest.java	2010-04-07 09:30:00 UTC (rev 6248)
@@ -8,11 +8,9 @@
 import org.jbpm.sim.report.ScenarioReport;
 import org.jbpm.sim.report.dto.ValueStatisticResult;
 
-import junit.framework.TestCase;
-
-public class ScenarioTest extends TestCase {
+public class ScenarioTest extends AbstractSimTestCase {
   
-  private String testProcessXml =     
+  private static final String testProcessXml =     
     "<process-definition name='test' start-distribution='start new process instances of test'>" +
 
     "  <distribution name='start new process instances of test' sample-type='real' type='constant' value='20' /> " +

Modified: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/SteadyStateResetTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/SteadyStateResetTest.java	2010-04-07 08:31:23 UTC (rev 6247)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/SteadyStateResetTest.java	2010-04-07 09:30:00 UTC (rev 6248)
@@ -1,7 +1,5 @@
 package org.jbpm.sim;
 
-import junit.framework.TestCase;
-
 import org.jbpm.sim.def.JbpmSimulationExperiment;
 import org.jbpm.sim.exe.ExperimentReader;
 import org.jbpm.sim.report.ScenarioReport;
@@ -14,9 +12,9 @@
  * 
  * @author bernd.ruecker at camunda.com
  */
-public class SteadyStateResetTest extends TestCase {
-  
-  private String testProcessXml =     
+public class SteadyStateResetTest extends AbstractSimTestCase {
+
+  private static final String testProcessXml =     
     "<process-definition name='test'>" +
 
     "  <start-state name='start'>" +
@@ -26,7 +24,7 @@
 
     "</process-definition>" ;
 
-  private String experimentConfiguration = 
+  private static final String experimentConfiguration = 
     "<experiment name='MySimulationExperiment'" + 
     "          run-time='100'" + 
     "          reset-time='50' " +

Modified: jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/VariableSourceAndFilterTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/VariableSourceAndFilterTest.java	2010-04-07 08:31:23 UTC (rev 6247)
+++ jbpm3/branches/jbpm-3.2-soa/modules/simulation/src/test/java/org/jbpm/sim/VariableSourceAndFilterTest.java	2010-04-07 09:30:00 UTC (rev 6248)
@@ -2,7 +2,6 @@
 
 import java.util.List;
 
-import junit.framework.TestCase;
 
 import org.jbpm.graph.exe.ExecutionContext;
 import org.jbpm.graph.exe.ProcessInstance;
@@ -12,9 +11,9 @@
 import org.jbpm.sim.def.JbpmSimulationScenario;
 import org.jbpm.sim.exe.ExperimentReader;
 
-public class VariableSourceAndFilterTest extends TestCase {
+public class VariableSourceAndFilterTest extends AbstractSimTestCase {
 
-  private String testProcessXml = "<process-definition name='test' start-distribution='startDist'>"
+  private static final String testProcessXml = "<process-definition name='test' start-distribution='startDist'>"
       + "  <start-state name='start'>"
       + "    <transition to='change order' />"
       + "  </start-state>"
@@ -25,7 +24,7 @@
       + "  <end-state name='end'/>"
       + "</process-definition>";
 
-  private String experimentConfiguration = "<experiment name='MySimulationExperiment'"
+  private static final String experimentConfiguration = "<experiment name='MySimulationExperiment'"
       + "          run-time='100'"
       + "          real-start-time='01.01.1970 01:00:00:002'"
       + "          time-unit='minute'>"
@@ -100,7 +99,7 @@
     assertEquals(100, scenario.getScenarioReport().getSimulationRunTime(), 0.001);
   }
 
-  private String experimentConfiguration2 = "<experiment name='MySimulationExperiment'"
+  private static final String experimentConfiguration2 = "<experiment name='MySimulationExperiment'"
       + "          run-time='100'"
       + "          real-start-time='01.01.1970 01:00:00:002'"
       + "          time-unit='minute'>"



More information about the jbpm-commits mailing list