[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