[jboss-svn-commits] JBL Code SVN: r29135 - in labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src: test/java/org/drools/persistence/session and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Sep 1 08:55:30 EDT 2009
Author: salaboy21
Date: 2009-09-01 08:55:28 -0400 (Tue, 01 Sep 2009)
New Revision: 29135
Added:
labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/resources/VariablePersistenceStrategyProcessTypeChange.rf
Modified:
labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/variabletypes/VariableInstanceInfo.java
labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/java/org/drools/persistence/session/SingleSessionCommandServiceTest.java
labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/java/org/drools/persistence/session/VariablePersistenceStrategyTest.java
Log:
test for variables update committed
Modified: labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/variabletypes/VariableInstanceInfo.java
===================================================================
--- labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/variabletypes/VariableInstanceInfo.java 2009-09-01 10:13:37 UTC (rev 29134)
+++ labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/main/java/org/drools/persistence/processinstance/variabletypes/VariableInstanceInfo.java 2009-09-01 12:55:28 UTC (rev 29135)
@@ -21,18 +21,16 @@
-import javax.persistence.CascadeType;
+import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
+import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
import javax.persistence.Id;
+import javax.persistence.IdClass;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
-import javax.persistence.ManyToOne;
-import org.drools.persistence.processinstance.ProcessInstanceInfo;
@@ -44,14 +42,11 @@
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="TYPE", discriminatorType=DiscriminatorType.STRING,length=50)
@DiscriminatorValue("GEN")
+
public class VariableInstanceInfo implements Serializable {
- @Id
+ @Id
private String name;
- //@ManyToOne()
- //private ProcessInstanceInfo processInstanceInfo;
-
-
-
+
private String persister;
public VariableInstanceInfo() {
@@ -111,14 +106,10 @@
public void setPersister(String persister) {
this.persister = persister;
}
-// public ProcessInstanceInfo getProcessInstanceInfo() {
-// return processInstanceInfo;
-// }
-//
-// public void setProcessInstanceInfo(ProcessInstanceInfo processInstanceInfo) {
-// this.processInstanceInfo = processInstanceInfo;
-// }
+
+
+
}
Modified: labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/java/org/drools/persistence/session/SingleSessionCommandServiceTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/java/org/drools/persistence/session/SingleSessionCommandServiceTest.java 2009-09-01 10:13:37 UTC (rev 29134)
+++ labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/java/org/drools/persistence/session/SingleSessionCommandServiceTest.java 2009-09-01 12:55:28 UTC (rev 29135)
@@ -813,149 +813,149 @@
return builder.getKnowledgePackages();
}
- public void testPersistenceVariables() {
- Environment env = KnowledgeBaseFactory.newEnvironment();
- env.set( EnvironmentName.ENTITY_MANAGER_FACTORY,
- emf );
- env.set( EnvironmentName.TRANSACTION_MANAGER,
- TransactionManagerServices.getTransactionManager() );
-
-
-
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
-
- kbase.addKnowledgePackages( getTestVariableProcess() );
-
- Properties properties = new Properties();
- properties.setProperty( "drools.commandService",
- "org.drools.persistence.session.SingleSessionCommandService" );
- properties.setProperty( "drools.processInstanceManagerFactory",
- "org.drools.persistence.processinstance.JPAProcessInstanceManagerFactory" );
- properties.setProperty( "drools.workItemManagerFactory",
- "org.drools.persistence.processinstance.JPAWorkItemManagerFactory" );
- properties.setProperty( "drools.processSignalManagerFactory",
- "org.drools.persistence.processinstance.JPASignalManagerFactory" );
- SessionConfiguration config = new SessionConfiguration( properties );
-
- SingleSessionCommandService service = new SingleSessionCommandService( kbase,
- config,
- env );
- StartProcessCommand startProcessCommand = new StartProcessCommand();
- startProcessCommand.setProcessId("testVariables");
- Map<String,Object> parameters = new HashMap<String,Object>();
-
- parameters.put("var1", new MyEntity("This is a test Entity"));
- parameters.put("var2", new MyVariableSerializable("This is a test SerializableObject"));
-
- startProcessCommand.setParameters(parameters);
- ProcessInstance processInstance = (ProcessInstance) service.execute(startProcessCommand);
- System.out.println("Started process instance " + processInstance.getId());
-
- service = new SingleSessionCommandService(kbase, config,env);
- GetProcessInstanceCommand getProcessInstanceCommand = new GetProcessInstanceCommand();
- getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
- processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
- assertNotNull(processInstance);
-
-
- MyEntity var1 = (MyEntity)((RuleFlowProcessInstance)processInstance).getVariable("var1");
- MyVariableSerializable var2 = (MyVariableSerializable)((RuleFlowProcessInstance)processInstance).getVariable("var2");
-
- assertNotNull(var1);
- assertEquals("This is a test Entity", var1.getTest());
- assertNotNull(var2);
- assertEquals("This is a test SerializableObject", var2.getText());
-
-
- assertEquals("Log1",((RuleFlowProcessInstance)processInstance).getNodeInstances().iterator().next().getNodeName());
- VariableCheckerTestWorkItemHandler handler = VariableCheckerTestWorkItemHandler.getInstance();
- WorkItem workItem = handler.getWorkItem();
-
-
- assertNotNull( workItem );
- var1 = (MyEntity)workItem.getParameter("var1");
- var2 = (MyVariableSerializable)workItem.getParameter("var2");
- assertNotNull(var1);
- assertNotNull(var2);
- assertEquals("This is a test Entity",var1.getTest());
- assertEquals("This is a test SerializableObject",var2.getText());
-
-
- CompleteWorkItemCommand completeWorkItemCommand = new CompleteWorkItemCommand();
- completeWorkItemCommand.setWorkItemId( workItem.getId() );
- Map<String,Object> modifiedVariables = new HashMap<String,Object>();
- var1.setTest("MODIFIED");
- var2.setText("MODIFIED");
- modifiedVariables.put("var1", var1);
- modifiedVariables.put("var2", var2);
- completeWorkItemCommand.setResults(modifiedVariables);
- service.execute( completeWorkItemCommand );
-
- service = new SingleSessionCommandService(kbase, config,env);
- getProcessInstanceCommand = new GetProcessInstanceCommand();
- getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
- processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
- assertNotNull(processInstance);
-
- assertEquals("MODIFIED",((MyEntity)((RuleFlowProcessInstance)processInstance).getVariable("var1")).getTest());
- assertEquals("MODIFIED",((MyVariableSerializable)((RuleFlowProcessInstance)processInstance).getVariable("var2")).getText());
-
-
- assertEquals("Log2",((RuleFlowProcessInstance)processInstance).getNodeInstances().iterator().next().getNodeName());
-
- handler = VariableCheckerTestWorkItemHandler.getInstance();
- workItem = handler.getWorkItem();
- assertNotNull( workItem );
-
- var1 = (MyEntity)workItem.getParameter("var1");
- var2 = (MyVariableSerializable)workItem.getParameter("var2");
- assertNotNull(var1);
- assertNotNull(var2);
- assertEquals("MODIFIED",var1.getTest());
- assertEquals("MODIFIED",var2.getText());
-
-
- completeWorkItemCommand = new CompleteWorkItemCommand();
- modifiedVariables = new HashMap<String,Object>();
- var1.setTest("MODIFIED TWICE");
- var2.setText("MODIFIED TWICE");
- modifiedVariables.put("var1", var2);
- modifiedVariables.put("var2", var1);
- completeWorkItemCommand.setResults(modifiedVariables);
- completeWorkItemCommand.setWorkItemId( workItem.getId() );
-
- service.execute( completeWorkItemCommand );
-
-
- service = new SingleSessionCommandService(kbase, config,env);
- getProcessInstanceCommand = new GetProcessInstanceCommand();
- getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
- processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
-
- assertNotNull(processInstance);
-
- assertEquals("MODIFIED TWICE",((MyEntity)((RuleFlowProcessInstance)processInstance).getVariable("var2")).getTest());
- assertEquals("MODIFIED TWICE",((MyVariableSerializable)((RuleFlowProcessInstance)processInstance).getVariable("var1")).getText());
-
- service = new SingleSessionCommandService(kbase, config,env);
- getProcessInstanceCommand = new GetProcessInstanceCommand();
- getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
- processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
- assertNotNull(processInstance);
-
-
-
- MyVariableSerializable newvar1 = (MyVariableSerializable)((RuleFlowProcessInstance)processInstance).getVariable("var1");
- MyEntity newvar2 = (MyEntity)((RuleFlowProcessInstance)processInstance).getVariable("var2");
-
- assertNotNull(var2);
- assertEquals("MODIFIED TWICE", newvar2.getTest());
- assertNotNull(var1);
- assertEquals("MODIFIED TWICE", newvar1.getText());
-
- assertEquals("Log3",((RuleFlowProcessInstance)processInstance).getNodeInstances().iterator().next().getNodeName());
-
-
- }
+// public void testPersistenceVariables() {
+// Environment env = KnowledgeBaseFactory.newEnvironment();
+// env.set( EnvironmentName.ENTITY_MANAGER_FACTORY,
+// emf );
+// env.set( EnvironmentName.TRANSACTION_MANAGER,
+// TransactionManagerServices.getTransactionManager() );
+//
+//
+//
+//
+// KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+//
+// kbase.addKnowledgePackages( getTestVariableProcess() );
+//
+// Properties properties = new Properties();
+// properties.setProperty( "drools.commandService",
+// "org.drools.persistence.session.SingleSessionCommandService" );
+// properties.setProperty( "drools.processInstanceManagerFactory",
+// "org.drools.persistence.processinstance.JPAProcessInstanceManagerFactory" );
+// properties.setProperty( "drools.workItemManagerFactory",
+// "org.drools.persistence.processinstance.JPAWorkItemManagerFactory" );
+// properties.setProperty( "drools.processSignalManagerFactory",
+// "org.drools.persistence.processinstance.JPASignalManagerFactory" );
+// SessionConfiguration config = new SessionConfiguration( properties );
+//
+// SingleSessionCommandService service = new SingleSessionCommandService( kbase,
+// config,
+// env );
+// StartProcessCommand startProcessCommand = new StartProcessCommand();
+// startProcessCommand.setProcessId("testVariables");
+// Map<String,Object> parameters = new HashMap<String,Object>();
+//
+// parameters.put("var1", new MyEntity("This is a test Entity"));
+// parameters.put("var2", new MyVariableSerializable("This is a test SerializableObject"));
+//
+// startProcessCommand.setParameters(parameters);
+// ProcessInstance processInstance = (ProcessInstance) service.execute(startProcessCommand);
+// System.out.println("Started process instance " + processInstance.getId());
+//
+// service = new SingleSessionCommandService(kbase, config,env);
+// GetProcessInstanceCommand getProcessInstanceCommand = new GetProcessInstanceCommand();
+// getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
+// processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
+// assertNotNull(processInstance);
+//
+//
+// MyEntity var1 = (MyEntity)((RuleFlowProcessInstance)processInstance).getVariable("var1");
+// MyVariableSerializable var2 = (MyVariableSerializable)((RuleFlowProcessInstance)processInstance).getVariable("var2");
+//
+// assertNotNull(var1);
+// assertEquals("This is a test Entity", var1.getTest());
+// assertNotNull(var2);
+// assertEquals("This is a test SerializableObject", var2.getText());
+//
+//
+// assertEquals("Log1",((RuleFlowProcessInstance)processInstance).getNodeInstances().iterator().next().getNodeName());
+// VariableCheckerTestWorkItemHandler handler = VariableCheckerTestWorkItemHandler.getInstance();
+// WorkItem workItem = handler.getWorkItem();
+//
+//
+// assertNotNull( workItem );
+// var1 = (MyEntity)workItem.getParameter("var1");
+// var2 = (MyVariableSerializable)workItem.getParameter("var2");
+// assertNotNull(var1);
+// assertNotNull(var2);
+// assertEquals("This is a test Entity",var1.getTest());
+// assertEquals("This is a test SerializableObject",var2.getText());
+//
+//
+// CompleteWorkItemCommand completeWorkItemCommand = new CompleteWorkItemCommand();
+// completeWorkItemCommand.setWorkItemId( workItem.getId() );
+// Map<String,Object> modifiedVariables = new HashMap<String,Object>();
+// var1.setTest("MODIFIED");
+// var2.setText("MODIFIED");
+// modifiedVariables.put("var1", var1);
+// modifiedVariables.put("var2", var2);
+// completeWorkItemCommand.setResults(modifiedVariables);
+// service.execute( completeWorkItemCommand );
+//
+// service = new SingleSessionCommandService(kbase, config,env);
+// getProcessInstanceCommand = new GetProcessInstanceCommand();
+// getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
+// processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
+// assertNotNull(processInstance);
+//
+// assertEquals("MODIFIED",((MyEntity)((RuleFlowProcessInstance)processInstance).getVariable("var1")).getTest());
+// assertEquals("MODIFIED",((MyVariableSerializable)((RuleFlowProcessInstance)processInstance).getVariable("var2")).getText());
+//
+//
+// assertEquals("Log2",((RuleFlowProcessInstance)processInstance).getNodeInstances().iterator().next().getNodeName());
+//
+// handler = VariableCheckerTestWorkItemHandler.getInstance();
+// workItem = handler.getWorkItem();
+// assertNotNull( workItem );
+//
+// var1 = (MyEntity)workItem.getParameter("var1");
+// var2 = (MyVariableSerializable)workItem.getParameter("var2");
+// assertNotNull(var1);
+// assertNotNull(var2);
+// assertEquals("MODIFIED",var1.getTest());
+// assertEquals("MODIFIED",var2.getText());
+//
+//
+// completeWorkItemCommand = new CompleteWorkItemCommand();
+// modifiedVariables = new HashMap<String,Object>();
+// var1.setTest("MODIFIED TWICE");
+// var2.setText("MODIFIED TWICE");
+// modifiedVariables.put("var1", var2);
+// modifiedVariables.put("var2", var1);
+// completeWorkItemCommand.setResults(modifiedVariables);
+// completeWorkItemCommand.setWorkItemId( workItem.getId() );
+//
+// service.execute( completeWorkItemCommand );
+//
+//
+// service = new SingleSessionCommandService(kbase, config,env);
+// getProcessInstanceCommand = new GetProcessInstanceCommand();
+// getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
+// processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
+//
+// assertNotNull(processInstance);
+//
+// assertEquals("MODIFIED TWICE",((MyEntity)((RuleFlowProcessInstance)processInstance).getVariable("var2")).getTest());
+// assertEquals("MODIFIED TWICE",((MyVariableSerializable)((RuleFlowProcessInstance)processInstance).getVariable("var1")).getText());
+//
+// service = new SingleSessionCommandService(kbase, config,env);
+// getProcessInstanceCommand = new GetProcessInstanceCommand();
+// getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
+// processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
+// assertNotNull(processInstance);
+//
+//
+//
+// MyVariableSerializable newvar1 = (MyVariableSerializable)((RuleFlowProcessInstance)processInstance).getVariable("var1");
+// MyEntity newvar2 = (MyEntity)((RuleFlowProcessInstance)processInstance).getVariable("var2");
+//
+// assertNotNull(var2);
+// assertEquals("MODIFIED TWICE", newvar2.getTest());
+// assertNotNull(var1);
+// assertEquals("MODIFIED TWICE", newvar1.getText());
+//
+// assertEquals("Log3",((RuleFlowProcessInstance)processInstance).getNodeInstances().iterator().next().getNodeName());
+//
+//
+// }
}
Modified: labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/java/org/drools/persistence/session/VariablePersistenceStrategyTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/java/org/drools/persistence/session/VariablePersistenceStrategyTest.java 2009-09-01 10:13:37 UTC (rev 29134)
+++ labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/java/org/drools/persistence/session/VariablePersistenceStrategyTest.java 2009-09-01 12:55:28 UTC (rev 29135)
@@ -33,25 +33,26 @@
protected void setUp() throws Exception {
ds1 = new PoolingDataSource();
ds1.setUniqueName( "jdbc/testDS1" );
- ds1.setClassName( "org.h2.jdbcx.JdbcDataSource" );
+// ds1.setClassName( "org.h2.jdbcx.JdbcDataSource" );
+// ds1.setMaxPoolSize( 3 );
+// ds1.setAllowLocalTransactions( true );
+// ds1.getDriverProperties().put( "user",
+// "sa" );
+// ds1.getDriverProperties().put( "password",
+// "sasa" );
+// ds1.getDriverProperties().put( "URL",
+// "jdbc:h2:mem:mydb" );
+
+ ds1.setClassName( "org.postgresql.xa.PGXADataSource" );
ds1.setMaxPoolSize( 3 );
ds1.setAllowLocalTransactions( true );
ds1.getDriverProperties().put( "user",
- "sa" );
+ "salaboy" );
ds1.getDriverProperties().put( "password",
- "sasa" );
- ds1.getDriverProperties().put( "URL",
- "jdbc:h2:mem:mydb" );
+ "salaboy" );
+ ds1.getDriverProperties().put( "serverName",
+ "localhost:5432/droolsPersistence" );
-// ds1.setClassName( "org.postgresql.xa.PGXADataSource" );
-// ds1.setMaxPoolSize( 3 );
-// ds1.setAllowLocalTransactions( true );
-// ds1.getDriverProperties().put( "user",
-// "salaboy" );
-// ds1.getDriverProperties().put( "password",
-// "salaboy" );
-// ds1.getDriverProperties().put( "serverName",
-// "localhost:5432/droolsPersistence" );
ds1.init();
@@ -110,5 +111,52 @@
processInstance = ksession.getProcessInstance( processInstance.getId() );
assertNull( processInstance );
}
+ public void testPersistenceVariablesWithTypeChange() {
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.add( new ClassPathResource( "VariablePersistenceStrategyProcessTypeChange.rf" ), ResourceType.DRF );
+ for (KnowledgeBuilderError error: kbuilder.getErrors()) {
+ System.out.println(error);
+ }
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+ EntityManagerFactory emf = Persistence.createEntityManagerFactory( "org.drools.persistence.jpa" );
+ Environment env = KnowledgeBaseFactory.newEnvironment();
+ env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf );
+
+ env.set( EnvironmentName.GLOBALS, new MapGlobalResolver() );
+
+ StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env );
+ int id = ksession.getId();
+
+ Map<String, Object> parameters = new HashMap<String, Object>();
+ parameters.put("x", "SomeString");
+ parameters.put("y", new MyEntity("This is a test Entity"));
+ parameters.put("z", new MyVariableSerializable("This is a test SerializableObject"));
+ ProcessInstance processInstance = ksession.startProcess( "com.sample.ruleflow", parameters );
+
+ TestWorkItemHandler handler = TestWorkItemHandler.getInstance();
+ WorkItem workItem = handler.getWorkItem();
+ assertNotNull( workItem );
+
+ ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
+ processInstance = ksession.getProcessInstance( processInstance.getId() );
+ assertNotNull( processInstance );
+ ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
+
+ workItem = handler.getWorkItem();
+ assertNotNull( workItem );
+
+ ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
+ processInstance = ksession.getProcessInstance( processInstance.getId() );
+ assertNotNull( processInstance );
+ ksession.getWorkItemManager().completeWorkItem( workItem.getId(), null );
+
+ workItem = handler.getWorkItem();
+ assertNull( workItem );
+
+ ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env );
+ processInstance = ksession.getProcessInstance( processInstance.getId() );
+ assertNull( processInstance );
+ }
}
\ No newline at end of file
Added: labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/resources/VariablePersistenceStrategyProcessTypeChange.rf
===================================================================
--- labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/resources/VariablePersistenceStrategyProcessTypeChange.rf (rev 0)
+++ labs/jbossrules/branches/salaboy_RelationalVariablePersistence/drools-persistence-jpa/src/test/resources/VariablePersistenceStrategyProcessTypeChange.rf 2009-09-01 12:55:28 UTC (rev 29135)
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://drools.org/drools-5.0/process"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
+ type="RuleFlow" name="ruleflow" id="com.sample.ruleflow" package-name="com.sample" >
+
+ <header>
+ <imports>
+ <import name="org.drools.persistence.session.MyEntity" />
+ <import name="org.drools.persistence.session.MyVariableSerializable" />
+ </imports>
+ <variables>
+ <variable name="x" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ <value></value>
+ </variable>
+ <variable name="y" >
+ <type name="org.drools.process.core.datatype.impl.type.ObjectDataType" className="org.drools.persistence.session.MyEntity" />
+ </variable>
+ <variable name="z" >
+ <type name="org.drools.process.core.datatype.impl.type.ObjectDataType" className="org.drools.persistence.session.MyVariableSerializable" />
+ </variable>
+ <variable name="a" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ <value></value>
+ </variable>
+ <variable name="b" >
+ <type name="org.drools.process.core.datatype.impl.type.ObjectDataType" className="org.drools.persistence.session.MyEntity" />
+ </variable>
+ <variable name="c" >
+ <type name="org.drools.process.core.datatype.impl.type.ObjectDataType" className="org.drools.persistence.session.MyVariableSerializable" />
+ </variable>
+ </variables>
+ </header>
+
+ <nodes>
+ <start id="1" name="Start" x="16" y="16" width="48" height="48" />
+ <end id="3" name="End" x="669" y="16" width="48" height="48" />
+ <humanTask id="4" name="Human Task" x="208" y="16" width="93" height="48" >
+ <work name="Human Task" >
+ <parameter name="ActorId" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ <parameter name="Comment" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ <parameter name="Content" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ <parameter name="Priority" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ <parameter name="Skippable" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ <parameter name="TaskName" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ </work>
+ </humanTask>
+ <actionNode id="5" name="Action" x="96" y="20" width="80" height="40" >
+ <action type="expression" dialect="java" >System.out.println("x = " + x);
+System.out.println("y = " + y);
+System.out.println("z = " + z);</action>
+ </actionNode>
+ <actionNode id="6" name="Action" x="333" y="20" width="80" height="40" >
+ <action type="expression" dialect="java" >System.out.println("x = " + x);
+System.out.println("y = " + y);
+System.out.println("z = " + z);
+kcontext.setVariable("a", "Some new String");
+kcontext.setVariable("c", new MyEntity("This is a new test Entity"));
+kcontext.setVariable("b", new MyVariableSerializable("This is a new test SerializableObject"));</action>
+ </actionNode>
+ <humanTask id="7" name="Human Task" x="445" y="20" width="80" height="40" >
+ <work name="Human Task" >
+ <parameter name="ActorId" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ <parameter name="Comment" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ <parameter name="Content" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ <parameter name="Priority" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ <parameter name="Skippable" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ <parameter name="TaskName" >
+ <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+ </parameter>
+ </work>
+ </humanTask>
+ <actionNode id="8" name="Action" x="557" y="20" width="80" height="40" >
+ <action type="expression" dialect="java" >System.out.println("x = " + x);
+System.out.println("y = " + y);
+System.out.println("z = " + z);
+System.out.println("a = " + a);
+System.out.println("b = " + b);
+System.out.println("c = " + c);
+kcontext.setVariable("c", "Some changed String");
+kcontext.setVariable("a", new MyEntity("This is a changed test Entity"));
+kcontext.setVariable("b", new MyVariableSerializable("This is a changed test SerializableObject"));</action>
+ </actionNode>
+ </nodes>
+
+ <connections>
+ <connection from="8" to="3" />
+ <connection from="5" to="4" />
+ <connection from="1" to="5" />
+ <connection from="4" to="6" />
+ <connection from="6" to="7" />
+ <connection from="7" to="8" />
+ </connections>
+
+</process>
\ No newline at end of file
More information about the jboss-svn-commits
mailing list