[jboss-svn-commits] JBL Code SVN: r24639 - in labs/jbossrules/branches/mfossati/drools-osworkflow/src/test: java/org/drools/osworkflow/test and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jan 9 09:13:31 EST 2009
Author: mfossati
Date: 2009-01-09 09:13:30 -0500 (Fri, 09 Jan 2009)
New Revision: 24639
Added:
labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/resources/entrevistarf.rf
Modified:
labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/dummy/DummyFunctionProvider.java
labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/ComplexProcessTestCase.java
Log:
More test cases
Modified: labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/dummy/DummyFunctionProvider.java
===================================================================
--- labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/dummy/DummyFunctionProvider.java 2009-01-09 13:48:50 UTC (rev 24638)
+++ labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/dummy/DummyFunctionProvider.java 2009-01-09 14:13:30 UTC (rev 24639)
@@ -24,7 +24,8 @@
public void execute(Map transientVars, Map args, PropertySet ps){
String name = (String)args.get("name");
String message = (String)args.get("message");
- logger.info("Function" +name+ "called with message: " + message);
+ logger.info("Function " +name+ " called with message: " + message);
+ transientVars.put(message, "dummy" + message);
}
}
Modified: labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/ComplexProcessTestCase.java
===================================================================
--- labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/ComplexProcessTestCase.java 2009-01-09 13:48:50 UTC (rev 24638)
+++ labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/ComplexProcessTestCase.java 2009-01-09 14:13:30 UTC (rev 24639)
@@ -1,11 +1,17 @@
package org.drools.osworkflow.test;
+import java.io.StringReader;
import java.util.Collection;
import java.util.Collections;
import junit.framework.TestCase;
+import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.osworkflow.DroolsWorkflow;
+import org.drools.osworkflow.OSWorkflowParser;
+import org.drools.osworkflow.core.OSWorkflowProcess;
+import org.drools.osworkflow.xml.XmlOSWorkflowProcessDumper;
+import org.drools.xml.XmlProcessReader;
import com.opensymphony.workflow.InvalidActionException;
import com.opensymphony.workflow.InvalidEntryStateException;
@@ -14,56 +20,81 @@
import com.opensymphony.workflow.Workflow;
import com.opensymphony.workflow.WorkflowException;
import com.opensymphony.workflow.config.DefaultConfiguration;
+import com.opensymphony.workflow.loader.WorkflowDescriptor;
import com.opensymphony.workflow.spi.Step;
public class ComplexProcessTestCase extends TestCase {
-
- public void testComplexProcess() {
- Workflow workflow = new DroolsWorkflow();
- DefaultConfiguration config = new DefaultConfiguration();
- workflow.setConfiguration(config);
- try {
- long id = workflow.initialize("entrevista", 1, null);
- Collection<Step> currentSteps = workflow.getCurrentSteps(id);
- //verify we only have one current step
- assertEquals("Unexpected number of current steps", 1, currentSteps.size());
- //verify it's step 1
- Step currentStep = currentSteps.iterator().next();
- assertEquals("Unexpected current step", 1, currentStep.getStepId());
- int[] availableActions = workflow.getAvailableActions(id, Collections.EMPTY_MAP);
- //verify we only have 6 available actions
- assertEquals("Unexpected number of available actions", 6, availableActions.length);
- workflow.doAction(id, 2, null);
- currentSteps = workflow.getCurrentSteps(id);
- //verify we have two current step
- assertEquals("Unexpected number of current steps", 2, currentSteps.size());
- //verify it's step 1
- currentStep = currentSteps.iterator().next();
- assertEquals("Unexpected current step", 1, currentStep.getStepId());
-
- availableActions = workflow.getAvailableActions(id, Collections.EMPTY_MAP);
- //verify we only have one available action
- assertEquals("Unexpected number of available actions", 1, availableActions.length);
- //verify it's action 3
- assertEquals("Unexpected available action", 3, availableActions[0]);
-
- } catch (InvalidActionException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (InvalidRoleException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (InvalidInputException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (InvalidEntryStateException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (WorkflowException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ public void testComplexProcess() {
+ Workflow workflow = new DroolsWorkflow();
+ DefaultConfiguration config = new DefaultConfiguration();
+ workflow.setConfiguration(config);
+ try {
+ long id = workflow.initialize("entrevista", 1, null);
+ Collection<Step> currentSteps = workflow.getCurrentSteps(id);
+ // verify we only have one current step
+ assertEquals("Unexpected number of current steps", 1, currentSteps.size());
+ // verify it's step 1
+ Step currentStep = currentSteps.iterator().next();
+ assertEquals("Unexpected current step", 1, currentStep.getStepId());
+
+ int[] availableActions = workflow.getAvailableActions(id, Collections.EMPTY_MAP);
+ // verify we only have 6 available actions
+ assertEquals("Unexpected number of available actions", 6, availableActions.length);
+ workflow.doAction(id, 2, null);
+ currentSteps = workflow.getCurrentSteps(id);
+ // verify we have one current step
+ assertEquals("Unexpected number of current steps", 1, currentSteps.size());
+ // verify it's step 2
+ currentStep = currentSteps.iterator().next();
+ assertEquals("Unexpected current step", 2, currentStep.getStepId());
+
+ availableActions = workflow.getAvailableActions(id, Collections.EMPTY_MAP);
+ // verify we have 6 available action
+ assertEquals("Unexpected number of available actions", 6, availableActions.length);
+ // //verify it's action 3
+ // assertEquals("Unexpected available action", 3,
+ // availableActions[0]);
+ workflow.doAction(id, 6, null);
+ currentSteps = workflow.getCurrentSteps(id);
+ // verify we have no current Step (since we ended the process)
+ assertEquals("Unexpected number of current steps", 0, currentSteps.size());
+ // verify we have no available action
+ availableActions = workflow.getAvailableActions(id, Collections.EMPTY_MAP);
+ assertEquals("Unexpected number of available actions", 0, availableActions.length);
+
+ } catch (InvalidActionException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InvalidRoleException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InvalidInputException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InvalidEntryStateException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (WorkflowException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
+ }
+ public void testToXML() throws Exception {
+ DefaultConfiguration config = new DefaultConfiguration();
+ config.load(null);
+ WorkflowDescriptor workflowDescriptor = config.getWorkflow("entrevista");
+ OSWorkflowProcess process = new OSWorkflowParser().parseOSWorkflow(workflowDescriptor);
+
+ String processXML = XmlOSWorkflowProcessDumper.INSTANCE.dump(process);
+ System.out.println(processXML);
+
+ XmlProcessReader reader = new XmlProcessReader(
+ new PackageBuilderConfiguration().getSemanticModules());
+ System.setProperty( "drools.schema.validating", "false" );
+ OSWorkflowProcess process2 = (OSWorkflowProcess) reader.read(new StringReader(processXML));
+ assertNotNull(process2);
+ }
+
}
Added: labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/resources/entrevistarf.rf
===================================================================
--- labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/resources/entrevistarf.rf (rev 0)
+++ labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/resources/entrevistarf.rf 2009-01-09 14:13:30 UTC (rev 24639)
@@ -0,0 +1,233 @@
+<process xmlns="http://drools.org/drools-4.0/osworkflow"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xs:schemaLocation="http://drools.org/drools-4.0/osworkflow drools-osworkflow-4.0.xsd"
+ type="OSWorkflow" name="entrevista" id="entrevista" package-name="org.drools.osworkflow" >
+
+ <header>
+<initial-actions>
+ <action id="1" name="Crear Entrevista">
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Entrevista Pendiente" status="Entrevista Pendiente" step="1" owner="AO-FILIAL-${filialAsignada}"/>
+ </results>
+ </action>
+ </initial-actions>
+ </header>
+
+ <nodes>
+ <step id="1" name="Esperar Afiliado" >
+ <action id="2" name="Postergar Llamado">
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Pendiente 1er Contacto con Afiliado" status="Pendiente 1er Contacto con Afiliado" step="2" owner="AO-FILIAL-${filialAsignada}"/>
+ </results>
+ </action>
+ <action id="3" name="Replanificar Entrevista">
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Entrevista Pendiente" status="Entrevista Pendiente" step="1" owner="AO-FILIAL-${filialAsignada}"/>
+ </results>
+ </action>
+ <action id="9" name="Cerrar Entrevista">
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Entrevista Cerrada" status="Entrevista Cerrada" step="3" owner="AO-FILIAL-${filialAsignada}"/>
+ </results>
+ </action>
+ <action id="10" name="Cerrar sin entrevista">
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Cerrada sin Entrevista" status="Cerrada sin Entrevista" step="3" owner="AO-FILIAL-${filialAsignada}"/>
+ </results>
+ </action>
+ <action id="11" name="Confirmar Replanificacion Entrevista">
+ <restrict-to>
+ <conditions type="AND">
+ <condition type="beanshell">
+ <arg name="script"><![CDATA[true]]></arg>
+ </condition>
+ <condition type="class">
+ <arg name="message">GEN at SUB</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyCondition</arg>
+ </condition>
+ </conditions>
+ </restrict-to>
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Entrevista Pendiente" status="Entrevista Pendiente" step="1"/>
+ </results>
+ </action>
+ <action id="12" name="Confirmar Cierre de Entrevista">
+ <restrict-to>
+ <conditions type="AND">
+ <condition type="beanshell">
+ <arg name="script"><![CDATA[true]]></arg>
+ </condition>
+ <condition type="class">
+ <arg name="message">GEN at SUB</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyCondition</arg>
+ </condition>
+ </conditions>
+ </restrict-to>
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Entrevista Cerrada" status="Entrevista Cerrada" step="3"/>
+ </results>
+ </action>
+ </step>
+ <step id="2" name="Esperar 2do Contacto" >
+ <action id="4" name="Cerrar Entrevista">
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Entrevista Cerrada" status="Entrevista Cerrada" step="3" owner="AO-FILIAL-${filialAsignada}"/>
+ </results>
+ </action>
+ <action id="5" name="Replanificar">
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Entrevista Pendiente" status="Entrevista Pendiente" step="1" owner="AO-FILIAL-${filialAsignada}"/>
+ </results>
+ </action>
+ <action id="6" name="Cerrar sin entrevista">
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Cerrada sin Entrevista" status="Cerrada sin Entrevista" step="3" owner="AO-FILIAL-${filialAsignada}"/>
+ </results>
+ </action>
+ <action id="7" name="Cerrar sin contacto">
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Cerrada sin Contacto" status="Cerrada sin Contacto" step="3" owner="AO-FILIAL-${filialAsignada}"/>
+ </results>
+ </action>
+ <action id="13" name="Confirmar Replanificacion Entrevista">
+ <restrict-to>
+ <conditions type="AND">
+ <condition type="beanshell">
+ <arg name="script"><![CDATA[true]]></arg>
+ </condition>
+ <condition type="class">
+ <arg name="message">GEN at SUB</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyCondition</arg>
+ </condition>
+ </conditions>
+ </restrict-to>
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Entrevista Pendiente" status="Entrevista Pendiente" step="1"/>
+ </results>
+ </action>
+ <action id="14" name="Confirmar Cierre de Entrevista">
+ <restrict-to>
+ <conditions type="AND">
+ <condition type="beanshell">
+ <arg name="script"><![CDATA[true]]></arg>
+ </condition>
+ <condition type="class">
+ <arg name="message">GEN at SUB</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyCondition</arg>
+ </condition>
+ </conditions>
+ </restrict-to>
+ <pre-functions>
+ <function type="class">
+ <arg name="message">filialAsignada</arg>
+ <arg name="name">EntrevistaSUBA.IdFilial</arg>
+ <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+ </function>
+ </pre-functions>
+ <results>
+ <unconditional-result old-status="Entrevista Cerrada" status="Entrevista Cerrada" step="3"/>
+ </results>
+ </action>
+ </step>
+ <step id="3" name="Cerrado" >
+ </step>
+ </nodes>
+
+ <connections>
+ <connection from="2" fromType="5" to="1" toType="Entrevista Pendiente" />
+ <connection from="2" fromType="13" to="1" toType="Entrevista Pendiente" />
+ <connection from="1" fromType="2" to="2" toType="Pendiente 1er Contacto con Afiliado" />
+ <connection from="1" fromType="9" to="3" toType="Entrevista Cerrada" />
+ <connection from="1" fromType="12" to="3" toType="Entrevista Cerrada" />
+ <connection from="2" fromType="4" to="3" toType="Entrevista Cerrada" />
+ <connection from="2" fromType="14" to="3" toType="Entrevista Cerrada" />
+ <connection from="1" fromType="10" to="3" toType="Cerrada sin Entrevista" />
+ <connection from="2" fromType="6" to="3" toType="Cerrada sin Entrevista" />
+ <connection from="2" fromType="7" to="3" toType="Cerrada sin Contacto" />
+ </connections>
+
+</process>
More information about the jboss-svn-commits
mailing list