[jboss-svn-commits] JBL Code SVN: r30808 - in labs/jbossrules/trunk/drools-vsm/src: main/java/org/drools/vsm/task and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Dec 23 13:42:15 EST 2009


Author: salaboy21
Date: 2009-12-23 13:42:14 -0500 (Wed, 23 Dec 2009)
New Revision: 30808

Modified:
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java
   labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/task/CommandBasedVSMWSHumanTaskHandlerTest.java
   labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerHumanTaskMinaRemoteTest.java
   labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerTestBase.java
Log:
JBRULES-2353: Update HumanTask to the new grid inf and CommandExecutor
	- fix unsupported setError methods

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java	2009-12-23 17:56:28 UTC (rev 30807)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java	2009-12-23 18:42:14 UTC (rev 30808)
@@ -85,11 +85,12 @@
             }
         }
         // Connecting with services
-        if (this.services!=null) {
+        if (this.services != null) {
         	for (GenericConnector connector : services){
         		boolean serviceConnected = connector.connect();
-        		if ( serviceConnected )
+        		if ( serviceConnected ){
         			System.out.println("Service Connected");
+                        }
         	}
         }
 
@@ -98,9 +99,11 @@
 
 	public void disconnect() {
 		this.client.disconnect();
-		if (this.services!=null)
-			for (GenericConnector connector : this.services)
+		if (this.services != null){
+			for (GenericConnector connector : this.services){
 				connector.disconnect();
+                        }
+                }
 	}
 
     public KnowledgeBuilderProvider getKnowledgeBuilderFactory() {

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java	2009-12-23 17:56:28 UTC (rev 30807)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java	2009-12-23 18:42:14 UTC (rev 30808)
@@ -41,6 +41,7 @@
 import org.drools.task.service.Command;
 import org.drools.task.service.ContentData;
 import org.drools.task.service.HumanTaskServiceImpl;
+import org.drools.task.service.responsehandlers.AbstractBaseResponseHandler;
 import org.drools.vsm.GenericConnector;
 import org.drools.vsm.Message;
 import org.drools.vsm.mina.MinaConnector;
@@ -208,7 +209,7 @@
 		}
 	}
 	
-    public class TaskWorkItemAddTaskMessageResponseHandler implements AddTaskMessageResponseHandler {
+    public class TaskWorkItemAddTaskMessageResponseHandler extends AbstractBaseResponseHandler implements AddTaskMessageResponseHandler {
     	
     	private Map<Long, WorkItemManager> managers;
     	private Map<Long, Long> idMapping;
@@ -249,13 +250,11 @@
             client.registerForEvent( key, true, eventResponseHandler );
         }
 
-        public void setError(RuntimeException error) {
-            throw new UnsupportedOperationException("Not supported yet.");
-        }
+       
 
     }
     
-    private class TaskCompletedMessageHandler implements EventMessageResponseHandler {
+    private class TaskCompletedMessageHandler extends AbstractBaseResponseHandler implements EventMessageResponseHandler {
         private long workItemId;
         private long taskId;
 		private final Map<Long, WorkItemManager> managers;
@@ -266,13 +265,9 @@
 			this.managers = managers;
         }
 
-        public void execute(Payload payload) {
-        	throw new UnsupportedOperationException("Not supported yet.");
-        }
+        
 
-        public void setError(RuntimeException error) {
-            throw new UnsupportedOperationException("Not supported yet.");
-        }
+       
 
 		public void receive(Message message) {
 			Command cmd = (Command) message.getPayload();
@@ -299,9 +294,13 @@
 		        }
 			}
 		}
+
+        public void execute(Payload payload) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
     }
     
-    private class GetCompletedTaskMessageResponseHandler  implements GetTaskMessageResponseHandler {
+    private class GetCompletedTaskMessageResponseHandler extends AbstractBaseResponseHandler implements GetTaskMessageResponseHandler {
 
         private WorkItemManager manager;
 
@@ -309,9 +308,7 @@
 			this.manager = manager;
 		}
 
-		public void setError(RuntimeException error) {
-            throw new UnsupportedOperationException("Not supported yet.");
-        }
+	
 
         public void receive(Message message) {
         	Command cmd = (Command) message.getPayload();
@@ -333,9 +330,11 @@
         public void execute(Task task) {
             throw new UnsupportedOperationException("Not supported yet.");
         }
+
+
     }
     
-    private class GetResultContentMessageResponseHandler  implements GetContentMessageResponseHandler {
+    private class GetResultContentMessageResponseHandler extends AbstractBaseResponseHandler implements GetContentMessageResponseHandler {
     	
     	private Task task;
     	private final WorkItemManager manager;
@@ -347,9 +346,7 @@
     		this.results = results;
     	}
 
-        public void setError(RuntimeException error) {
-            throw new UnsupportedOperationException("Not supported yet.");
-        }
+        
 
         public void receive(Message message) {
         	Command cmd = (Command)message.getPayload();

Modified: labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/task/CommandBasedVSMWSHumanTaskHandlerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/task/CommandBasedVSMWSHumanTaskHandlerTest.java	2009-12-23 17:56:28 UTC (rev 30807)
+++ labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/task/CommandBasedVSMWSHumanTaskHandlerTest.java	2009-12-23 18:42:14 UTC (rev 30808)
@@ -132,6 +132,7 @@
 
         BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
         humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(1, tasks.size());
         TaskSummary task = tasks.get(0);
@@ -169,6 +170,7 @@
 
         BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
         humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(1, tasks.size());
         TaskSummary task = tasks.get(0);
@@ -214,6 +216,7 @@
         List<String> groupIds = new ArrayList<String>();
         groupIds.add("Crusaders");
         humanTaskClient.getTasksAssignedAsPotentialOwner(null, groupIds, "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(1, tasks.size());
         TaskSummary taskSummary = tasks.get(0);
@@ -271,6 +274,7 @@
         List<String> groupIds = new ArrayList<String>();
         groupIds.add("Crusaders");
         humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", groupIds, "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(2, tasks.size());
     }
@@ -289,6 +293,7 @@
 
         BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
         humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(1, tasks.size());
         TaskSummary task = tasks.get(0);
@@ -327,6 +332,7 @@
 
         BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
         humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(1, tasks.size());
         TaskSummary task = tasks.get(0);
@@ -363,6 +369,7 @@
 
         BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
         humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(0, tasks.size());
     }
@@ -382,6 +389,7 @@
 
         BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
         humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(1, tasks.size());
 
@@ -410,6 +418,7 @@
 
         BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
         humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(1, tasks.size());
         TaskSummary taskSummary = tasks.get(0);
@@ -480,6 +489,7 @@
         //Test if the task is succesfully created
         BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
         humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(1, tasks.size());
         TaskSummary task = tasks.get(0);
@@ -625,6 +635,7 @@
         //Test if the task is succesfully created
         BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
         humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+        responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(1, tasks.size());
         TaskSummary task = tasks.get(0);

Modified: labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerHumanTaskMinaRemoteTest.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerHumanTaskMinaRemoteTest.java	2009-12-23 17:56:28 UTC (rev 30807)
+++ labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerHumanTaskMinaRemoteTest.java	2009-12-23 18:42:14 UTC (rev 30808)
@@ -12,26 +12,42 @@
 
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.Persistence;
+import junit.framework.TestCase;
 
 import org.apache.commons.collections.map.HashedMap;
 import org.apache.mina.transport.socket.SocketAcceptor;
 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
 import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseProvider;
 import org.drools.SystemEventListenerFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderProvider;
+import org.drools.builder.ResourceType;
+import org.drools.io.impl.ClassPathResource;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.ProcessInstance;
 import org.drools.task.Group;
 import org.drools.task.User;
+import org.drools.task.query.TaskSummary;
+import org.drools.task.service.ContentData;
+import org.drools.task.service.HumanTaskServiceImpl;
 import org.drools.task.service.TaskService;
 import org.drools.task.service.TaskServiceSession;
 import org.drools.vsm.mina.MinaAcceptor;
 import org.drools.vsm.mina.MinaConnector;
 import org.drools.vsm.mina.MinaIoHandler;
 import org.drools.vsm.remote.ServiceManagerRemoteClient;
+import org.drools.vsm.remote.StatefulKnowledgeSessionRemoteClient;
 import org.drools.vsm.task.TaskServerMessageHandlerImpl;
+import org.drools.vsm.task.responseHandlers.BlockingTaskOperationMessageResponseHandler;
+import org.drools.vsm.task.responseHandlers.BlockingTaskSummaryMessageResponseHandler;
 import org.mvel2.MVEL;
 import org.mvel2.ParserContext;
 import org.mvel2.compiler.ExpressionCompiler;
 
-public class ServiceManagerHumanTaskMinaRemoteTest extends ServiceManagerTestBase {
+public class ServiceManagerHumanTaskMinaRemoteTest extends TestCase {
+    //extends ServiceManagerTestBase {
 
     AcceptorService server;
     AcceptorService humanTaskServer;
@@ -40,7 +56,10 @@
     protected TaskServiceSession taskSession;
     protected Map<String, User> users;
     protected Map<String, Group> groups;
-
+    private HumanTaskService htClient;
+    private static final int DEFAULT_WAIT_TIME = 5000;
+    protected ServiceManager client;
+    
     protected void setUp() throws Exception {
         // Configure persistence to be used inside the WSHT Service
         // Use persistence.xml configuration
@@ -134,6 +153,7 @@
         ((ServiceManagerRemoteClient) client).disconnect();
         this.server.stop();
         this.humanTaskServer.stop();
+
     }
     
     public Object eval(Reader reader, Map<String, Object> vars) {
@@ -164,4 +184,69 @@
             sb.append((char) charValue);
         return sb.toString();
     }
+     public void testHumanTasks() throws Exception {
+
+    	KnowledgeBuilderProvider kbuilderFactory = this.client.getKnowledgeBuilderFactory();
+    	KnowledgeBuilder kbuilder = kbuilderFactory.newKnowledgeBuilder();
+    	kbuilder.add( new ClassPathResource("rules/humanTasks.rf"),
+    			ResourceType.DRF );
+
+    	if ( kbuilder.hasErrors() ) {
+    		System.out.println( "Errors: " + kbuilder.getErrors() );
+    	}
+
+    	KnowledgeBaseProvider kbaseFactory = this.client.getKnowledgeBaseFactory();
+    	KnowledgeBase kbase = kbaseFactory.newKnowledgeBase();
+
+    	kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+    	StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+    	((StatefulKnowledgeSessionRemoteClient)ksession).registerWorkItemHandler("Human Task", "org.drools.vsm.task.CommandBasedVSMWSHumanTaskHandler");
+    	ProcessInstance processInstance = ksession.startProcess("org.drools.test.humanTasks");
+    	HumanTaskServiceProvider humanTaskServiceFactory = this.client.getHumanTaskService();
+    	htClient = humanTaskServiceFactory.newHumanTaskServiceClient();
+
+    	Thread.sleep(1000);
+
+    	ksession.fireAllRules();
+
+    	System.out.println("First Task Execution");
+    	assertEquals(true , executeNextTask("lucaz"));
+    	Thread.sleep(8000);
+    	System.out.println("Second Task Execution");
+    	assertEquals(true , executeNextTask("lucaz"));
+    	System.out.println("Inexistent Task Execution");
+    	Thread.sleep(8000);
+    	assertEquals(false, executeNextTask("lucaz"));
+
+    }
+
+    private boolean executeNextTask(String user) {
+
+    	BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
+    	((HumanTaskServiceImpl)htClient).getTasksAssignedAsPotentialOwner(user, "en-UK", responseHandler);
+    	responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
+
+    	if (responseHandler.getResults().size()==0)
+    		return false;
+
+    	TaskSummary task = responseHandler.getResults().get(0);
+    	ContentData data = new ContentData();
+    	data.setContent("next step".getBytes());
+
+    	BlockingTaskOperationMessageResponseHandler startResponseHandler = new BlockingTaskOperationMessageResponseHandler();
+    	((HumanTaskServiceImpl)htClient).start(task.getId(), user, startResponseHandler );
+    	startResponseHandler.waitTillDone(DEFAULT_WAIT_TIME);
+
+    	System.out.println("Started Task " + task.getId());
+
+    	BlockingTaskOperationMessageResponseHandler completeResponseHandler = new BlockingTaskOperationMessageResponseHandler();
+    	((HumanTaskServiceImpl)htClient).complete(task.getId(), user, null , completeResponseHandler);
+    	completeResponseHandler.waitTillDone(DEFAULT_WAIT_TIME);
+    	System.out.println("Completed Task " + task.getId());
+
+    	return true;
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerTestBase.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerTestBase.java	2009-12-23 17:56:28 UTC (rev 30807)
+++ labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerTestBase.java	2009-12-23 18:42:14 UTC (rev 30808)
@@ -9,24 +9,16 @@
 import org.drools.builder.ResourceType;
 import org.drools.command.runtime.rule.FireAllRulesCommand;
 import org.drools.io.ResourceFactory;
-import org.drools.io.impl.ClassPathResource;
 import org.drools.runtime.ExecutionResults;
 import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.process.ProcessInstance;
-import org.drools.task.query.TaskSummary;
-import org.drools.task.service.ContentData;
-import org.drools.task.service.HumanTaskServiceImpl;
-import org.drools.vsm.remote.StatefulKnowledgeSessionRemoteClient;
-import org.drools.vsm.task.responseHandlers.BlockingTaskOperationMessageResponseHandler;
-import org.drools.vsm.task.responseHandlers.BlockingTaskSummaryMessageResponseHandler;
 
 
 public class ServiceManagerTestBase extends TestCase {
 
-	private static final int DEFAULT_WAIT_TIME = 5000;
 	
+	
     protected ServiceManager client;
-	private HumanTaskService htClient;
+	
 
     public void testFireAllRules() throws Exception {
         String str = "";
@@ -187,69 +179,5 @@
         //        assertEquals( 2, (int ) ( Integer) results.getValue( "fired" ) );
     }
 
-    public void testHumanTasks() throws Exception {
-
-    	KnowledgeBuilderProvider kbuilderFactory = this.client.getKnowledgeBuilderFactory();
-    	KnowledgeBuilder kbuilder = kbuilderFactory.newKnowledgeBuilder();
-    	kbuilder.add( new ClassPathResource("rules/humanTasks.rf"),
-    			ResourceType.DRF );
-
-    	if ( kbuilder.hasErrors() ) {
-    		System.out.println( "Errors: " + kbuilder.getErrors() );
-    	}
-
-    	KnowledgeBaseProvider kbaseFactory = this.client.getKnowledgeBaseFactory();
-    	KnowledgeBase kbase = kbaseFactory.newKnowledgeBase();
-
-    	kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-
-    	StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
-    	
-    	((StatefulKnowledgeSessionRemoteClient)ksession).registerWorkItemHandler("Human Task", "org.drools.vsm.task.CommandBasedVSMWSHumanTaskHandler");
-    	ProcessInstance processInstance = ksession.startProcess("org.drools.test.humanTasks");
-    	HumanTaskServiceProvider humanTaskServiceFactory = this.client.getHumanTaskService();
-    	htClient = humanTaskServiceFactory.newHumanTaskServiceClient();
-    	
-    	Thread.sleep(1000);
-
-    	ksession.fireAllRules();
-
-    	System.out.println("First Task Execution");
-    	assertEquals(true , executeNextTask("lucaz"));
-    	Thread.sleep(8000);
-    	System.out.println("Second Task Execution");
-    	assertEquals(true , executeNextTask("lucaz"));
-    	System.out.println("Inexistent Task Execution");
-    	Thread.sleep(8000);
-    	assertEquals(false, executeNextTask("lucaz"));
-    	
-    }
-
-    private boolean executeNextTask(String user) {
-
-    	BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
-    	((HumanTaskServiceImpl)htClient).getTasksAssignedAsPotentialOwner(user, "en-UK", responseHandler);
-    	responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
-
-    	if (responseHandler.getResults().size()==0)
-    		return false;
-
-    	TaskSummary task = responseHandler.getResults().get(0);
-    	ContentData data = new ContentData(); 
-    	data.setContent("next step".getBytes());
-
-    	BlockingTaskOperationMessageResponseHandler startResponseHandler = new BlockingTaskOperationMessageResponseHandler();
-    	((HumanTaskServiceImpl)htClient).start(task.getId(), user, startResponseHandler );
-    	startResponseHandler.waitTillDone(DEFAULT_WAIT_TIME);
-    	
-    	System.out.println("Started Task " + task.getId());
-    	
-    	BlockingTaskOperationMessageResponseHandler completeResponseHandler = new BlockingTaskOperationMessageResponseHandler();
-    	((HumanTaskServiceImpl)htClient).complete(task.getId(), user, null , completeResponseHandler);
-    	completeResponseHandler.waitTillDone(DEFAULT_WAIT_TIME);
-    	System.out.println("Completed Task " + task.getId());
-    	
-    	return true;
-    }
-
+   
 }



More information about the jboss-svn-commits mailing list