[jboss-svn-commits] JBL Code SVN: r30625 - in labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools: vsm/remote and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Dec 14 10:40:32 EST 2009


Author: salaboy21
Date: 2009-12-14 10:40:31 -0500 (Mon, 14 Dec 2009)
New Revision: 30625

Modified:
   labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/task/service/HumanTaskServiceImpl.java
   labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/remote/HumanTaskServiceRemoteProviderImpl.java
   labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java
   labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java
Log:
test working but some exceptions are thrown because the Task Service doesn't have users and admins

Modified: labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/task/service/HumanTaskServiceImpl.java
===================================================================
--- labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/task/service/HumanTaskServiceImpl.java	2009-12-14 14:43:13 UTC (rev 30624)
+++ labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/task/service/HumanTaskServiceImpl.java	2009-12-14 15:40:31 UTC (rev 30625)
@@ -37,12 +37,16 @@
 	private final AtomicInteger counter;
 	private int sessionId;
 
-	public HumanTaskServiceImpl(GenericConnector client, AtomicInteger counter, int sessionId) {
+	public HumanTaskServiceImpl(GenericConnector client, int sessionId) {
 		this.client = client;
-		this.counter = counter;
+		this.counter = new AtomicInteger();
 		this.sessionId = sessionId;
 	}
 
+        
+
+
+
 	public void addTask(Task task, ContentData content, AddTaskMessageResponseHandler responseHandler) {
 		List<Object> args = new ArrayList<Object>( 2 );
 		args.add( task );

Modified: labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/remote/HumanTaskServiceRemoteProviderImpl.java
===================================================================
--- labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/remote/HumanTaskServiceRemoteProviderImpl.java	2009-12-14 14:43:13 UTC (rev 30624)
+++ labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/remote/HumanTaskServiceRemoteProviderImpl.java	2009-12-14 15:40:31 UTC (rev 30625)
@@ -18,7 +18,7 @@
 	}
 
 	public HumanTaskService newHumanTaskServiceClient() {
-		return new HumanTaskServiceImpl( serviceManager.client, serviceManager.counter, serviceManager.getSessionId());
+		return new HumanTaskServiceImpl( serviceManager.client, serviceManager.getSessionId());
 	}
 
 }

Modified: labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java
===================================================================
--- labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java	2009-12-14 14:43:13 UTC (rev 30624)
+++ labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java	2009-12-14 15:40:31 UTC (rev 30625)
@@ -81,19 +81,19 @@
             }
         }
         //Connecting with services
-        for(GenericConnector connector : services){
-            boolean serviceConnected = connector.connect();
-              if ( serviceConnected ) {
-                
+//        for(GenericConnector connector : services){
+//            boolean serviceConnected = connector.connect();
+//              if ( serviceConnected ) {
+//
+//
+//                    System.out.println("Service Connected");
+//
+//
+//
+//            }
+//        }
 
-                    System.out.println("Service Connected");
 
-
-               
-            }
-        }
-
-
         return connected;
     }
 

Modified: labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java	2009-12-14 14:43:13 UTC (rev 30624)
+++ labs/jbossrules/branches/human-task-vsm_lucaz-salaboy/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java	2009-12-14 15:40:31 UTC (rev 30625)
@@ -18,6 +18,7 @@
 import org.drools.eventmessaging.EventResponseHandler;
 import org.drools.eventmessaging.Payload;
 import org.drools.runtime.KnowledgeRuntime;
+import org.drools.runtime.StatefulKnowledgeSession;
 import org.drools.runtime.process.WorkItem;
 import org.drools.runtime.process.WorkItemHandler;
 import org.drools.runtime.process.WorkItemManager;
@@ -38,41 +39,55 @@
 import org.drools.task.event.TaskFailedEvent;
 import org.drools.task.event.TaskSkippedEvent;
 import org.drools.task.service.ContentData;
-import org.drools.task.service.MinaTaskClient;
-import org.drools.task.service.TaskClientHandler;
-import org.drools.task.service.TaskClientHandler.AddTaskResponseHandler;
-import org.drools.task.service.TaskClientHandler.GetContentResponseHandler;
-import org.drools.task.service.TaskClientHandler.GetTaskResponseHandler;
-import org.drools.task.service.responsehandlers.AbstractBaseResponseHandler;
+import org.drools.task.service.HumanTaskServiceImpl;
+import org.drools.vsm.GenericConnector;
+import org.drools.vsm.Message;
+import org.drools.vsm.mina.MinaConnector;
+import org.drools.vsm.mina.MinaIoHandler;
+import org.drools.vsm.task.TaskClientMessageHandlerImpl.AddTaskMessageResponseHandler;
+import org.drools.vsm.task.TaskClientMessageHandlerImpl.GetContentMessageResponseHandler;
+import org.drools.vsm.task.TaskClientMessageHandlerImpl.GetTaskMessageResponseHandler;
 
 
 public class CommandBasedVSMWSHumanTaskHandler implements WorkItemHandler {
 
 	private String ipAddress = "127.0.0.1";
 	private int port = 9124;
-	private MinaTaskClient client;
+        private SocketAddress address;
+	private GenericConnector connector;
+        private HumanTaskServiceImpl client;
 	private KnowledgeRuntime session;
 	private Map<Long, Long> idMapping = new HashMap<Long, Long>();
 	
 	public CommandBasedVSMWSHumanTaskHandler(KnowledgeRuntime session) {
 		this.session = session;
-
+                this.address = new InetSocketAddress(ipAddress, port);
 	}
 
 	
 	
 	public void connect() {
-		if (client == null) {
-			client = new MinaTaskClient(
-				"org.drools.process.workitem.wsht.WSHumanTaskHandler",
-                    new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()));
-			NioSocketConnector connector = new NioSocketConnector();
-			SocketAddress address = new InetSocketAddress(ipAddress, port);
-			boolean connected = client.connect(connector, address);
+		if (connector == null) {
+                          NioSocketConnector htclientConnector = new NioSocketConnector();
+                            htclientConnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()
+                                 , new TaskClientMessageHandlerImpl(SystemEventListenerFactory.getSystemEventListener()) ));
+                         connector = new MinaConnector( "client ht",
+                                                         htclientConnector,
+                                                         this.address,
+                                                         SystemEventListenerFactory.getSystemEventListener() );
+//
+//			client = new HumanTaskServiceImpl(
+//				"org.drools.process.workitem.wsht.WSHumanTaskHandler",
+//                    new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()));
+//			NioSocketConnector connector = new NioSocketConnector();
+//			SocketAddress address = new InetSocketAddress(ipAddress, port);
+//			boolean connected = client.connect(connector, address);
+                        boolean connected = connector.connect();
 			if (!connected) {
 				throw new IllegalArgumentException(
 					"Could not connect task client");
 			}
+                        client = new HumanTaskServiceImpl(connector, ((StatefulKnowledgeSession)session).getId());
 		}
 	}
 
@@ -177,14 +192,14 @@
 				e.printStackTrace();
 			}
 		}
-		TaskWorkItemAddTaskResponseHandler taskResponseHandler =
-			new TaskWorkItemAddTaskResponseHandler(this.client, workItem.getId());
+		TaskWorkItemAddTaskMessageResponseHandler taskResponseHandler =
+			new TaskWorkItemAddTaskMessageResponseHandler(this.client, workItem.getId());
 		client.addTask(task, content, taskResponseHandler);
 	}
 	
 	public void dispose() {
-		if (client != null) {
-			client.disconnect();
+		if (connector != null) {
+			connector.disconnect();
 		}
 	}
 
@@ -198,32 +213,47 @@
 		}
 	}
 	
-    public class TaskWorkItemAddTaskResponseHandler extends AbstractBaseResponseHandler implements AddTaskResponseHandler {
-
+    public class TaskWorkItemAddTaskMessageResponseHandler implements AddTaskMessageResponseHandler {
+       //extends AbstractBaseResponseHandler ??
     	private long workItemId;
         
-        public TaskWorkItemAddTaskResponseHandler(MinaTaskClient client, long workItemId) {
+        public TaskWorkItemAddTaskMessageResponseHandler(HumanTaskServiceImpl client, long workItemId) {
             this.workItemId = workItemId;
         }
         
+       
+
         public void execute(long taskId) {
-            synchronized ( idMapping ) {
-                idMapping.put(workItemId, taskId);           
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void receive(Message message) {
+            long taskId = (Long) message.getPayload();
+
+             synchronized ( idMapping ) {
+                idMapping.put(workItemId, taskId);
             }
 //            System.out.println("Created task " + taskId + " for work item " + workItemId);
-            
-            EventKey key = new TaskEventKey(TaskCompletedEvent.class, taskId );           
+
+            EventKey key = new TaskEventKey(TaskCompletedEvent.class, taskId );
             TaskCompletedHandler eventResponseHandler =
-            	new TaskCompletedHandler(workItemId, taskId); 
-            client.registerForEvent( key, true, eventResponseHandler );
-            key = new TaskEventKey(TaskFailedEvent.class, taskId );           
-            client.registerForEvent( key, true, eventResponseHandler );
-            key = new TaskEventKey(TaskSkippedEvent.class, taskId );           
-            client.registerForEvent( key, true, eventResponseHandler );
+            	new TaskCompletedHandler(workItemId, taskId);
+          //  client.registerForEvent( key, true, eventResponseHandler );
+            key = new TaskEventKey(TaskFailedEvent.class, taskId );
+          //  client.registerForEvent( key, true, eventResponseHandler );
+            key = new TaskEventKey(TaskSkippedEvent.class, taskId );
+           // client.registerForEvent( key, true, eventResponseHandler );
         }
+
+        public void setError(RuntimeException error) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+
     }
     
-    private class TaskCompletedHandler extends AbstractBaseResponseHandler implements EventResponseHandler {
+    private class TaskCompletedHandler  implements EventResponseHandler {
+        //extends AbstractBaseResponseHandler ??
         private long workItemId;
         private long taskId;
         
@@ -240,45 +270,66 @@
                 return;
             }
         	if (event instanceof TaskCompletedEvent) {
-            	GetTaskResponseHandler getTaskResponseHandler = new GetCompletedTaskResponseHandler();
+            	GetTaskMessageResponseHandler getTaskResponseHandler = new GetCompletedTaskMessageResponseHandler();
             	client.getTask(taskId, getTaskResponseHandler);   
         	} else {
             	session.getWorkItemManager().abortWorkItem(workItemId);
         	}
         }
+
+        public void setError(RuntimeException error) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
     }
     
-    private class GetCompletedTaskResponseHandler extends AbstractBaseResponseHandler implements GetTaskResponseHandler {
+    private class GetCompletedTaskMessageResponseHandler  implements GetTaskMessageResponseHandler {
+        // extends AbstractBaseResponseHandler??
+		
 
-		public void execute(Task task) {
-			long workItemId = task.getTaskData().getWorkItemId();
+        public void setError(RuntimeException error) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void receive(Message message) {
+            Task task = (Task)message.getPayload();
+            long workItemId = task.getTaskData().getWorkItemId();
 			String userId = task.getTaskData().getActualOwner().getId();
 			Map<String, Object> results = new HashMap<String, Object>();
 			results.put("ActorId", userId);
 			long contentId = task.getTaskData().getOutputContentId();
 			if (contentId != -1) {
-				GetContentResponseHandler getContentResponseHandler =
-					new GetResultContentResponseHandler(task, results);
+				GetResultContentMessageResponseHandler getContentResponseHandler =
+					new GetResultContentMessageResponseHandler(task, results);
 				client.getContent(contentId, getContentResponseHandler);
 			} else {
 				session.getWorkItemManager().completeWorkItem(workItemId, results);
 			}
-		}
+        }
+
+        public void execute(Task task) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
     }
     
-    private class GetResultContentResponseHandler extends AbstractBaseResponseHandler implements GetContentResponseHandler {
-
+    private class GetResultContentMessageResponseHandler  implements GetContentMessageResponseHandler {
+        // extends AbstractBaseResponseHandler??
     	private Task task;
     	private Map<String, Object> results;
 
-    	public GetResultContentResponseHandler(Task task, Map<String, Object> results) {
+    	public GetResultContentMessageResponseHandler(Task task, Map<String, Object> results) {
     		this.task = task;
     		this.results = results;
     	}
     	
-		@SuppressWarnings("unchecked")
-		public void execute(Content content) {
-			ByteArrayInputStream bis = new ByteArrayInputStream(content.getContent());
+		
+
+        public void setError(RuntimeException error) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void receive(Message message) {
+            Content content = (Content)message.getPayload();
+            ByteArrayInputStream bis = new ByteArrayInputStream(content.getContent());
 			ObjectInputStream in;
 			try {
 				in = new ObjectInputStream(bis);
@@ -299,6 +350,10 @@
 			} catch (ClassNotFoundException e) {
 				e.printStackTrace();
 			}
-		}
+        }
+
+        public void execute(Content content) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
     }
 }



More information about the jboss-svn-commits mailing list