[jboss-svn-commits] JBL Code SVN: r32910 - in labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process: drools-gwt-form/src/main/java/org/drools/integration/console/forms and 11 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon May 17 12:43:49 EDT 2010


Author: lucazamador
Date: 2010-05-17 12:43:47 -0400 (Mon, 17 May 2010)
New Revision: 32910

Added:
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseHornetQHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseMinaHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/SessionWriter.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClient.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientConnector.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServer.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/BaseHornetQHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/BaseHornetQTaskServer.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQSessionWriter.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskClientConnector.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskServer.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskServerHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/TaskHornetQClientHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/BaseMinaHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/BaseMinaTaskServer.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaEventTransport.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaSessionWriter.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskClientConnector.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskServer.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskServerHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/TaskMinaClientHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServerTest.java
Removed:
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaClient.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaServer.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaEventTransport.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskClient.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskServer.java
Modified:
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTaskManagement.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-jpdl/src/main/java/org/drools/jpdl/xml/JpdlProcessSemanticModule.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-jpdl/src/main/java/org/drools/jpdl/xml/StartStateHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/pom.xml
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/MinaKnowledgeBaseClient.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/CommandBasedWSHumanTaskHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/WSHumanTaskHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/Command.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServerHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/responsehandlers/BlockingTaskSummaryResponseHandler.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/process/workitem/wsht/WSHumanTaskHandlerTest.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/QueryTest.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/RunTaskService.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/DemoTaskService.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/IcalTest.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskLifeCycleTest.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceCommentsAndAttachmentsTest.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceDeadlinesTest.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceEscalationTest.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceEventMessagingTest.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceLifeCycleTest.java
   labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTest.java
Log:
added hornetq support

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTaskManagement.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTaskManagement.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowTaskManagement.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -3,13 +3,10 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.ObjectOutputStream;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
 import org.drools.SystemEventListenerFactory;
 import org.drools.process.workitem.wsht.BlockingGetTaskResponseHandler;
 import org.drools.task.AccessType;
@@ -17,8 +14,9 @@
 import org.drools.task.Task;
 import org.drools.task.query.TaskSummary;
 import org.drools.task.service.ContentData;
-import org.drools.task.service.MinaTaskClient;
-import org.drools.task.service.TaskClientHandler;
+import org.drools.task.service.TaskClient;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.TaskMinaClientHandler;
 import org.drools.task.service.responsehandlers.BlockingTaskOperationResponseHandler;
 import org.drools.task.service.responsehandlers.BlockingTaskSummaryResponseHandler;
 import org.jboss.bpm.console.client.model.TaskRef;
@@ -29,7 +27,7 @@
 	// TODO: make this configurable
 	private String ipAddress = "127.0.0.1";
 	private int port = 9123;
-	private MinaTaskClient client;
+	private TaskClient client;
 
 	public void setConnection(String ipAddress, int port) {
 		this.ipAddress = ipAddress;
@@ -38,12 +36,9 @@
 	
 	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);
+			client = new TaskClient(new MinaTaskClientConnector("org.drools.process.workitem.wsht.WSHumanTaskHandler",
+									new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+			boolean connected = client.connect(ipAddress, port);
 			if (!connected) {
 				throw new IllegalArgumentException(
 					"Could not connect task client");

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-gwt-form/src/main/java/org/drools/integration/console/forms/TaskFormDispatcher.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -4,21 +4,19 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.ObjectInputStream;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import javax.activation.DataHandler;
 
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
 import org.drools.SystemEventListenerFactory;
 import org.drools.task.Content;
 import org.drools.task.I18NText;
 import org.drools.task.Task;
-import org.drools.task.service.MinaTaskClient;
-import org.drools.task.service.TaskClientHandler;
+import org.drools.task.service.TaskClient;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.TaskMinaClientHandler;
 import org.drools.task.service.responsehandlers.BlockingGetContentResponseHandler;
 import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
 import org.jboss.bpm.console.server.plugin.FormAuthorityRef;
@@ -31,16 +29,13 @@
 	// TODO make this configurable
 	private String ipAddress = "127.0.0.1";
 	private int port = 9123;
-	private MinaTaskClient client;
+	private TaskClient client;
 
 	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);
+			client = new TaskClient(new MinaTaskClientConnector("org.drools.process.workitem.wsht.WSHumanTaskHandler",
+									new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+			boolean connected = client.connect(ipAddress, port);
 			if (!connected) {
 				throw new IllegalArgumentException(
 					"Could not connect task client");

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-jpdl/src/main/java/org/drools/jpdl/xml/JpdlProcessSemanticModule.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-jpdl/src/main/java/org/drools/jpdl/xml/JpdlProcessSemanticModule.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-jpdl/src/main/java/org/drools/jpdl/xml/JpdlProcessSemanticModule.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,30 +1,30 @@
 package org.drools.jpdl.xml;
 
+import org.drools.compiler.xml.processes.ActionNodeHandler;
+import org.drools.compiler.xml.processes.CompositeNodeHandler;
+import org.drools.compiler.xml.processes.ConnectionHandler;
+import org.drools.compiler.xml.processes.ConstraintHandler;
+import org.drools.compiler.xml.processes.EndNodeHandler;
+import org.drools.compiler.xml.processes.GlobalHandler;
+import org.drools.compiler.xml.processes.ImportHandler;
+import org.drools.compiler.xml.processes.InPortHandler;
+import org.drools.compiler.xml.processes.JoinNodeHandler;
+import org.drools.compiler.xml.processes.MappingHandler;
+import org.drools.compiler.xml.processes.MilestoneNodeHandler;
+import org.drools.compiler.xml.processes.OutPortHandler;
+import org.drools.compiler.xml.processes.ParameterHandler;
+import org.drools.compiler.xml.processes.ProcessHandler;
+import org.drools.compiler.xml.processes.RuleSetNodeHandler;
+import org.drools.compiler.xml.processes.SplitNodeHandler;
+import org.drools.compiler.xml.processes.SubProcessNodeHandler;
+import org.drools.compiler.xml.processes.TimerNodeHandler;
+import org.drools.compiler.xml.processes.TypeHandler;
+import org.drools.compiler.xml.processes.ValueHandler;
+import org.drools.compiler.xml.processes.VariableHandler;
+import org.drools.compiler.xml.processes.WorkHandler;
+import org.drools.compiler.xml.processes.WorkItemNodeHandler;
 import org.drools.xml.DefaultSemanticModule;
 import org.drools.xml.SemanticModule;
-import org.drools.xml.processes.ActionNodeHandler;
-import org.drools.xml.processes.CompositeNodeHandler;
-import org.drools.xml.processes.ConnectionHandler;
-import org.drools.xml.processes.ConstraintHandler;
-import org.drools.xml.processes.EndNodeHandler;
-import org.drools.xml.processes.GlobalHandler;
-import org.drools.xml.processes.ImportHandler;
-import org.drools.xml.processes.InPortHandler;
-import org.drools.xml.processes.JoinNodeHandler;
-import org.drools.xml.processes.MappingHandler;
-import org.drools.xml.processes.MilestoneNodeHandler;
-import org.drools.xml.processes.OutPortHandler;
-import org.drools.xml.processes.ParameterHandler;
-import org.drools.xml.processes.ProcessHandler;
-import org.drools.xml.processes.RuleSetNodeHandler;
-import org.drools.xml.processes.SplitNodeHandler;
-import org.drools.xml.processes.SubProcessNodeHandler;
-import org.drools.xml.processes.TimerNodeHandler;
-import org.drools.xml.processes.TypeHandler;
-import org.drools.xml.processes.ValueHandler;
-import org.drools.xml.processes.VariableHandler;
-import org.drools.xml.processes.WorkHandler;
-import org.drools.xml.processes.WorkItemNodeHandler;
 
 public class JpdlProcessSemanticModule extends DefaultSemanticModule implements SemanticModule {    
     public JpdlProcessSemanticModule() {

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-jpdl/src/main/java/org/drools/jpdl/xml/StartStateHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-jpdl/src/main/java/org/drools/jpdl/xml/StartStateHandler.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-jpdl/src/main/java/org/drools/jpdl/xml/StartStateHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,8 +1,8 @@
 package org.drools.jpdl.xml;
 
+import org.drools.compiler.xml.processes.AbstractNodeHandler;
 import org.drools.jpdl.core.node.StartState;
 import org.drools.workflow.core.Node;
-import org.drools.xml.processes.AbstractNodeHandler;
 
 public class StartStateHandler extends AbstractNodeHandler {
     

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/pom.xml
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/pom.xml	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/pom.xml	2010-05-17 16:43:47 UTC (rev 32910)
@@ -42,6 +42,21 @@
          <version>2.0.0-M6</version>
       </dependency>
       <dependency>
+         <groupId>org.hornetq</groupId>
+         <artifactId>hornetq-core</artifactId>
+         <version>2.0.0.GA</version>
+      </dependency>
+      <dependency>
+         <groupId>org.hornetq</groupId>
+         <artifactId>hornetq-transports</artifactId>
+         <version>2.0.0.GA</version>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.netty</groupId>
+         <artifactId>netty</artifactId>
+         <version>3.1.5.GA</version>
+      </dependency>
+      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-jdk14</artifactId>
          <version>1.5.2</version>

Deleted: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseHandler.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,48 +0,0 @@
-package org.drools.client;
-
-import org.apache.mina.core.session.IoSession;
-import org.drools.task.service.BaseMinaHandler;
-import org.drools.task.service.MinaTaskClient;
-
-public class KnowledgeBaseHandler extends BaseMinaHandler {
-    private MinaTaskClient    client;
-  
-
-    public MinaTaskClient getClient() {
-        return client;
-    }
-
-    public void setClient(MinaTaskClient client) {
-        this.client = client;
-    }
-
-    @Override
-    public void exceptionCaught(IoSession session,
-                                Throwable cause) throws Exception {
-        //cause.printStackTrace();
-        if ( !session.isConnected() ) {
-            client.connect();
-        }
-    }
-
-    @Override
-    public void messageReceived(IoSession session,
-                                Object message) throws Exception {
-        KnowledgeBaseCommand cmd = (KnowledgeBaseCommand) message;
-        switch ( cmd.getName() ) {
-//            case  : {
-//                Task task = (Task) cmd.getArguments().get( 0 );
-//                AddPackageResponseHandler responseHandler = (AddPackageResponseHandler) responseHandlers.remove( cmd.getId() );
-//                if ( responseHandler != null ) {
-//                    responseHandler.execute( task );
-//                }
-//                break;
-//            }
-            default : {
-                
-            }            
-        }
-    }
-
-
-}
\ No newline at end of file

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseHornetQHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseHornetQHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseHornetQHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,18 @@
+package org.drools.client;
+
+import org.drools.task.service.TaskClient;
+import org.drools.task.service.hornetq.BaseHornetQHandler;
+
+public class KnowledgeBaseHornetQHandler extends BaseHornetQHandler {
+
+	private TaskClient client;
+
+	public TaskClient getClient() {
+		return client;
+	}
+
+	public void setClient(TaskClient client) {
+		this.client = client;
+	}
+
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseHornetQHandler.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseMinaHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseMinaHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseMinaHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,48 @@
+package org.drools.client;
+
+import org.apache.mina.core.session.IoSession;
+import org.drools.task.service.mina.BaseMinaHandler;
+
+//TODO: REVIEW
+public class KnowledgeBaseMinaHandler extends BaseMinaHandler {
+//    private MinaTaskClient    client;
+//  
+//
+//    public MinaTaskClient getClient() {
+//        return client;
+//    }
+//
+//    public void setClient(MinaTaskClient client) {
+//        this.client = client;
+//    }
+
+    @Override
+    public void exceptionCaught(IoSession session,
+                                Throwable cause) throws Exception {
+        //cause.printStackTrace();
+        if ( !session.isConnected() ) {
+//            client.connect();
+        }
+    }
+
+    @Override
+    public void messageReceived(IoSession session,
+                                Object message) throws Exception {
+        KnowledgeBaseCommand cmd = (KnowledgeBaseCommand) message;
+        switch ( cmd.getName() ) {
+//            case  : {
+//                Task task = (Task) cmd.getArguments().get( 0 );
+//                AddPackageResponseHandler responseHandler = (AddPackageResponseHandler) responseHandlers.remove( cmd.getId() );
+//                if ( responseHandler != null ) {
+//                    responseHandler.execute( task );
+//                }
+//                break;
+//            }
+            default : {
+                
+            }            
+        }
+    }
+
+
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/KnowledgeBaseMinaHandler.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/MinaKnowledgeBaseClient.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/MinaKnowledgeBaseClient.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/client/MinaKnowledgeBaseClient.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,37 +1,31 @@
 package org.drools.client;
 
-import java.util.ArrayList;
-import java.util.List;
+import org.drools.task.service.mina.TaskMinaClientHandler;
 
-import org.drools.task.Task;
-import org.drools.task.service.BaseMinaClient;
-import org.drools.task.service.Command;
-import org.drools.task.service.CommandName;
-import org.drools.task.service.TaskClientHandler;
-import org.drools.task.service.TaskClientHandler.AddTaskResponseHandler;
-
-public class MinaKnowledgeBaseClient extends BaseMinaClient {
+//TODO: REVIEW
+//public class MinaKnowledgeBaseClient extends BaseMinaTaskClient {
+public class MinaKnowledgeBaseClient {
     
     public MinaKnowledgeBaseClient(String name,
-                          TaskClientHandler handler) {
-        super( name,
-               handler );
+                          TaskMinaClientHandler handler) {
+//        super( name,
+//               handler );
     }            
 
-    public void addPackage(Task task,
-                        AddTaskResponseHandler responseHandler) {
-        List args = new ArrayList( 2 );
-        args.add( task );
-        args.add( null );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.AddTaskRequest,
-                                   args );
+//    public void addPackage(Task task,
+//                        AddTaskResponseHandler responseHandler) {
+//        List args = new ArrayList( 2 );
+//        args.add( task );
+//        args.add( null );
+//        Command cmd = new Command( counter.getAndIncrement(),
+//                                   CommandName.AddTaskRequest,
+//                                   args );
+//
+//        handler.addResponseHandler( cmd.getId(),
+//                                    responseHandler );
+//
+//        session.write( cmd );
+//    }
 
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
 
-        session.write( cmd );
-    }
-
-
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/CommandBasedWSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/CommandBasedWSHumanTaskHandler.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/CommandBasedWSHumanTaskHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -5,14 +5,11 @@
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
 import org.drools.SystemEventListenerFactory;
 import org.drools.eventmessaging.EventResponseHandler;
 import org.drools.eventmessaging.Payload;
@@ -38,17 +35,18 @@
 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.TaskClient;
 import org.drools.task.service.TaskClientHandler.GetContentResponseHandler;
 import org.drools.task.service.TaskClientHandler.GetTaskResponseHandler;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.TaskMinaClientHandler;
 import org.drools.task.service.responsehandlers.AbstractBaseResponseHandler;
 
 public class CommandBasedWSHumanTaskHandler implements WorkItemHandler {
 
 	private String ipAddress = "127.0.0.1";
 	private int port = 9123;
-	private MinaTaskClient client;
+	private TaskClient client;
 	private KnowledgeRuntime session;
 	
 	public CommandBasedWSHumanTaskHandler(KnowledgeRuntime session) {
@@ -62,15 +60,12 @@
 	
 	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);
+			client = new TaskClient(new MinaTaskClientConnector("org.drools.process.workitem.wsht.WSHumanTaskHandler", 
+																new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+			boolean connected = client.connect(ipAddress, port);
+			
 			if (!connected) {
-				throw new IllegalArgumentException(
-					"Could not connect task client");
+				throw new IllegalArgumentException("Could not connect task client");
 			}
 			TaskEventKey key = new TaskEventKey(TaskCompletedEvent.class, -1);           
 	        TaskCompletedHandler eventResponseHandler = new TaskCompletedHandler();

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/WSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/WSHumanTaskHandler.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/WSHumanTaskHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,36 +1,51 @@
 package org.drools.process.workitem.wsht;
 
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import org.drools.SystemEventListenerFactory;
-import org.drools.eventmessaging.EventKey;
 import org.drools.eventmessaging.EventResponseHandler;
 import org.drools.eventmessaging.Payload;
 import org.drools.runtime.process.WorkItem;
 import org.drools.runtime.process.WorkItemHandler;
 import org.drools.runtime.process.WorkItemManager;
-import org.drools.task.*;
-import org.drools.task.event.*;
+import org.drools.task.AccessType;
+import org.drools.task.Content;
+import org.drools.task.Group;
+import org.drools.task.I18NText;
+import org.drools.task.OrganizationalEntity;
+import org.drools.task.PeopleAssignments;
+import org.drools.task.Status;
+import org.drools.task.SubTasksStrategy;
+import org.drools.task.SubTasksStrategyFactory;
+import org.drools.task.Task;
+import org.drools.task.TaskData;
+import org.drools.task.User;
+import org.drools.task.event.TaskCompletedEvent;
+import org.drools.task.event.TaskEvent;
+import org.drools.task.event.TaskEventKey;
+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.responsehandlers.AbstractBaseResponseHandler;
-import org.drools.task.service.TaskClientHandler.AddTaskResponseHandler;
+import org.drools.task.service.TaskClient;
 import org.drools.task.service.TaskClientHandler.GetContentResponseHandler;
 import org.drools.task.service.TaskClientHandler.GetTaskResponseHandler;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.TaskMinaClientHandler;
+import org.drools.task.service.responsehandlers.AbstractBaseResponseHandler;
 
-import java.io.*;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 public class WSHumanTaskHandler implements WorkItemHandler {
 
 	private String ipAddress = "127.0.0.1";
 	private int port = 9123;
-	private MinaTaskClient client;
+	private TaskClient client;
 	private WorkItemManager manager = null;
 
 	public void setConnection(String ipAddress, int port) {
@@ -40,19 +55,15 @@
 	
 	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);
+			client = new TaskClient(new MinaTaskClientConnector("org.drools.process.workitem.wsht.WSHumanTaskHandler",
+										new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+			
+			boolean connected = client.connect(ipAddress, port);
 			if (!connected) {
-				throw new IllegalArgumentException(
-					"Could not connect task client");
+				throw new IllegalArgumentException("Could not connect task client");
 			}
 			TaskEventKey key = new TaskEventKey(TaskCompletedEvent.class, -1);           
-            TaskCompletedHandler eventResponseHandler =
-            	new TaskCompletedHandler(manager, client);
+            TaskCompletedHandler eventResponseHandler = new TaskCompletedHandler(manager, client);
             client.registerForEvent(key, false, eventResponseHandler);
             key = new TaskEventKey(TaskFailedEvent.class, -1);           
             client.registerForEvent(key, false, eventResponseHandler);
@@ -192,9 +203,9 @@
     
     private static class TaskCompletedHandler extends AbstractBaseResponseHandler implements EventResponseHandler {
         private WorkItemManager manager;
-        private MinaTaskClient client;
+        private TaskClient client;
         
-        public TaskCompletedHandler(WorkItemManager manager, MinaTaskClient client) {
+        public TaskCompletedHandler(WorkItemManager manager, TaskClient client) {
             this.manager = manager;
             this.client = client;
         }
@@ -216,9 +227,9 @@
     private static class GetCompletedTaskResponseHandler extends AbstractBaseResponseHandler implements GetTaskResponseHandler {
 
     	private WorkItemManager manager;
-    	private MinaTaskClient client;
+    	private TaskClient client;
     	
-    	public GetCompletedTaskResponseHandler(WorkItemManager manager, MinaTaskClient client) {
+    	public GetCompletedTaskResponseHandler(WorkItemManager manager, TaskClient client) {
     		this.manager = manager;
     		this.client = client;
     	}
@@ -282,9 +293,9 @@
     
     private static class AbortTaskResponseHandler extends AbstractBaseResponseHandler implements GetTaskResponseHandler {
 
-    	private MinaTaskClient client;
+    	private TaskClient client;
     	
-    	public AbortTaskResponseHandler(MinaTaskClient client) {
+    	public AbortTaskResponseHandler(TaskClient client) {
     		this.client = client;
     	}
     	

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,9 @@
+package org.drools.task.service;
+
+import org.drools.task.service.ResponseHandler;
+
+public interface BaseHandler {
+	
+	public void addResponseHandler(int id, ResponseHandler responseHandler);
+
+}


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseHandler.java
___________________________________________________________________
Name: svn:eol-style
   + native

Deleted: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaClient.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaClient.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaClient.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,79 +0,0 @@
-package org.drools.task.service;
-
-import java.net.SocketAddress;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.mina.core.future.ConnectFuture;
-import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.codec.ProtocolCodecFilter;
-import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
-import org.apache.mina.transport.socket.SocketConnector;
-
-public class BaseMinaClient {
-    protected IoSession session;
-    
-    protected final BaseMinaHandler handler;
-    protected final String name;   
-    protected AtomicInteger counter;
-    
-    protected SocketConnector connector; 
-    protected SocketAddress address;
-    
-    public BaseMinaClient(String name, BaseMinaHandler handler) {
-        if (name == null) {
-            throw new IllegalArgumentException("Name can not be null");
-        }
-        this.name = name;
-        this.handler = handler;
-        counter = new AtomicInteger();
-    }
-    public boolean connect(SocketConnector connector, SocketAddress address) {
-        this.connector = connector;
-        this.address = address;
-        connector.setHandler( this.handler );
-        return connect();
-    }
-    
-    public boolean connect() {
-        if (session != null && session.isConnected()) {
-            throw new IllegalStateException(
-                    "Already connected. Disconnect first.");
-        } 
- 
-        try {
-//            SocketConnectorConfig config = new SocketConnectorConfig();
-//            if (useSsl) {
-//                SSLContext sslContext = BogusSSLContextFactory
-//                        .getInstance(false);
-//                SSLFilter sslFilter = new SSLFilter(sslContext);
-//                sslFilter.setUseClientMode(true);
-//                config.getFilterChain().addLast("sslFilter", sslFilter);
-//            }
-            
-            //connector.setHandler( arg0 );
-            
-            connector.getFilterChain().addLast(
-                                               "codec",
-                                               new ProtocolCodecFilter(
-                                                       new ObjectSerializationCodecFactory()));
-
-            ConnectFuture future1 = connector.connect( address );
-            future1.join();
-            if (!future1.isConnected()) {
-                return false;
-            }
-            session = future1.getSession();
-            return true;
-        } catch (Exception e) {
-            e.printStackTrace();
-            return false;
-        }
-    }
-    
-    public void disconnect() {
-        if ( session!= null && session.isConnected() ) {
-            session.close();
-            session.getCloseFuture().join();
-        }
-    }
-}

Deleted: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaHandler.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,20 +0,0 @@
-package org.drools.task.service;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.mina.core.service.IoHandlerAdapter;
-
-public class BaseMinaHandler extends IoHandlerAdapter
-{       
-    protected Map<Integer, ResponseHandler> responseHandlers;
-    
-    public BaseMinaHandler() {
-        responseHandlers = new HashMap<Integer, ResponseHandler>();
-    }
-    
-    public void addResponseHandler(int id, ResponseHandler responseHandler) {
-        responseHandlers.put( id, responseHandler );
-    }
-    
-}
\ No newline at end of file

Deleted: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaServer.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaServer.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/BaseMinaServer.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,68 +0,0 @@
-package org.drools.task.service;
-
-import java.io.IOException;
-import java.net.InetSocketAddress;
-
-import org.apache.mina.core.service.IoAcceptor;
-import org.apache.mina.core.service.IoHandlerAdapter;
-import org.apache.mina.core.session.IdleStatus;
-import org.apache.mina.filter.codec.ProtocolCodecFilter;
-import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
-import org.apache.mina.filter.logging.LoggingFilter;
-import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
-
-public class BaseMinaServer
-    implements
-    Runnable {
-    private final int port;
-
-    IoHandlerAdapter  handler;
-
-    IoAcceptor        acceptor;
-
-    volatile boolean  running;
-
-    public BaseMinaServer(IoHandlerAdapter handler,
-                          int port) {
-        this.handler = handler;
-        this.port = port;
-    }
-
-    public void run() {
-        try {
-            start();
-            while ( running ) {
-                Thread.sleep( 100 );
-            }
-        } catch ( Exception e ) {
-            throw new RuntimeException( "Server Exception with class " + getClass() + " using port " + port,
-                                        e );
-        }
-    }
-
-    public void start() throws IOException {
-        running = true;
-
-        acceptor = new NioSocketAcceptor();
-
-        acceptor.getFilterChain().addLast( "logger",
-                                           new LoggingFilter() );
-        acceptor.getFilterChain().addLast( "codec",
-                                           new ProtocolCodecFilter( new ObjectSerializationCodecFactory() ) );
-
-        acceptor.setHandler( handler );
-        acceptor.getSessionConfig().setReadBufferSize( 2048 );
-        acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE,
-                                                 10 );
-        acceptor.bind( new InetSocketAddress( "127.0.0.1", port ) );
-    }
-    
-    public IoAcceptor getIoAcceptor() {
-        return acceptor;
-    }
-
-    public void stop() {
-        acceptor.dispose();
-        running = false;
-    }
-}
\ No newline at end of file

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/Command.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/Command.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/Command.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -11,6 +11,9 @@
     
     private List<Object> arguments;
     
+    public Command() {
+	}
+    
     public Command(int id, CommandName name, List<Object> arguments) {
         super();
         this.id = id;
@@ -18,8 +21,6 @@
         this.name = name;
     }
     
-    
-    
     public int getId() {
         return id;
     }
@@ -44,5 +45,5 @@
     public void setArguments(List<Object> arguments) {
         this.arguments = arguments;
     }
-            
+
 }

Deleted: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaEventTransport.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaEventTransport.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaEventTransport.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,35 +0,0 @@
-package org.drools.task.service;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.mina.core.session.IoSession;
-import org.drools.eventmessaging.EventTriggerTransport;
-import org.drools.eventmessaging.Payload;
-
-public class MinaEventTransport implements EventTriggerTransport {
-    private String uuid;
-    private Map<String, IoSession> sessions;
-    private int responseId;
-    private boolean remove;
-    
-    MinaEventTransport(String uuid, int responseId, Map<String, IoSession> sessions, boolean remove) {
-        this.uuid = uuid;
-        this.responseId = responseId;
-        this.sessions = sessions;
-        this.remove = remove;
-    }
-
-    public void trigger(Payload payload) {        
-        IoSession session = sessions.get( uuid );
-        List args = new ArrayList( 1 );
-        args.add( payload );
-        Command cmd = new Command( responseId, CommandName.EventTriggerResponse, args);             
-        session.write( cmd );        
-    }
-    
-    public boolean isRemove() {
-        return this.remove;
-    }
-}

Deleted: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskClient.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskClient.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskClient.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,521 +0,0 @@
-package org.drools.task.service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.eventmessaging.EventKey;
-import org.drools.eventmessaging.EventResponseHandler;
-import org.drools.task.Attachment;
-import org.drools.task.Comment;
-import org.drools.task.Content;
-import org.drools.task.Task;
-import org.drools.task.service.TaskClientHandler.AddAttachmentResponseHandler;
-import org.drools.task.service.TaskClientHandler.AddCommentResponseHandler;
-import org.drools.task.service.TaskClientHandler.AddTaskResponseHandler;
-import org.drools.task.service.TaskClientHandler.DeleteAttachmentResponseHandler;
-import org.drools.task.service.TaskClientHandler.DeleteCommentResponseHandler;
-import org.drools.task.service.TaskClientHandler.GetContentResponseHandler;
-import org.drools.task.service.TaskClientHandler.GetTaskResponseHandler;
-import org.drools.task.service.TaskClientHandler.SetDocumentResponseHandler;
-import org.drools.task.service.TaskClientHandler.TaskOperationResponseHandler;
-import org.drools.task.service.TaskClientHandler.TaskSummaryResponseHandler;
-
-public class MinaTaskClient extends BaseMinaClient {
-
-    public MinaTaskClient(String name,
-                          TaskClientHandler handler) {
-        super( name,
-               handler );
-    }
-
-    public void addTask(Task task, ContentData content, 
-                        AddTaskResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( task );
-        args.add( content );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.AddTaskRequest,
-                                   args );
-
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void getTask(long taskId,
-                        GetTaskResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 1 );
-        args.add( taskId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.GetTaskRequest,
-                                   args );
-
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-
-    }
-
-    public void addComment(long taskId,
-                           Comment comment,
-                           AddCommentResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( taskId );
-        args.add( comment );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.AddCommentRequest,
-                                   args );
-
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void deleteComment(long taskId,
-                              long commentId,
-                              DeleteCommentResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( taskId );
-        args.add( commentId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.DeleteCommentRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void addAttachment(long taskId,
-                              Attachment attachment,
-                              Content content,
-                              AddAttachmentResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 3 );
-        args.add( taskId );
-        args.add( attachment );
-        args.add( content );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.AddAttachmentRequest,
-                                   args );
-
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void deleteAttachment(long taskId,
-                                 long attachmentId,
-                                 long contentId,
-                                 DeleteAttachmentResponseHandler responseHandler ) {
-        List<Object> args = new ArrayList<Object>( 3 );
-        args.add( taskId );
-        args.add( attachmentId );
-        args.add( contentId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.DeleteAttachmentRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        
-        session.write( cmd );
-    }
-
-    public void setDocumentContent(long taskId,
-                                   Content content,
-                                   SetDocumentResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( taskId );
-        args.add( content );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.SetDocumentContentRequest,
-                                   args );
-
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void getContent(long contentId,
-                           GetContentResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 1 );
-        args.add( contentId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.GetContentRequest,
-                                   args );
-
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void claim(long taskId,
-                      String userId,
-                      TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 3 );
-        args.add( Operation.Claim );
-        args.add( taskId );
-        args.add( userId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void start(long taskId,
-                      String userId,
-                      TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 3 );
-        args.add( Operation.Start );
-        args.add( taskId );
-        args.add( userId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void stop(long taskId,
-                     String userId,
-                     TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 3 );
-        args.add( Operation.Stop );
-        args.add( taskId );
-        args.add( userId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void release(long taskId,
-                        String userId,
-                        TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 3 );
-        args.add( Operation.Release );
-        args.add( taskId );
-        args.add( userId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void suspend(long taskId,
-                        String userId,
-                        TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 3 );
-        args.add( Operation.Suspend );
-        args.add( taskId );
-        args.add( userId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void resume(long taskId,
-                       String userId,
-                       TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 3 );
-        args.add( Operation.Resume );
-        args.add( taskId );
-        args.add( userId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void skip(long taskId,
-                     String userId,
-                     TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 3 );
-        args.add( Operation.Skip );
-        args.add( taskId );
-        args.add( userId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-    
-    public void delegate(long taskId,
-                         String userId,
-                         String targetUserId,
-                         TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 4 );
-        args.add( Operation.Delegate );
-        args.add( taskId );
-        args.add( userId );
-        args.add( targetUserId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );      
-    }
-    
-    public void forward(long taskId,
-                        String userId,
-                        String targetEntityId,
-                        TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 4 );
-        args.add( Operation.Forward );
-        args.add( taskId );
-        args.add( userId );
-        args.add( targetEntityId );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );      
-    }    
-
-    public void complete(long taskId,
-                         String userId,
-                         ContentData outputData,
-                         TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 5 );
-        args.add( Operation.Complete );
-        args.add( taskId );
-        args.add( userId );
-        args.add( null );
-        args.add( outputData );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void fail(long taskId,
-                     String userId,
-                     FaultData faultData,
-                     TaskOperationResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 5 );
-        args.add( Operation.Fail );
-        args.add( taskId );
-        args.add( userId );
-        args.add( null );
-        args.add( faultData );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.OperationRequest,
-                                   args );
-        
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-
-        session.write( cmd );
-    }
-
-    public void getTasksOwned(String userId,
-                              String language,
-                              TaskSummaryResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( userId );
-        args.add( language );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.QueryTasksOwned,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-
-    public void getTaskByWorkItemId(long workItemId,
-			                        GetTaskResponseHandler responseHandler) {
-		List<Object> args = new ArrayList<Object>(1);
-		args.add(workItemId);
-		Command cmd = new Command( counter.getAndIncrement(),
-				                   CommandName.QueryTaskByWorkItemId,
-				                   args);
-		handler.addResponseHandler( cmd.getId(),
-				                    responseHandler);
-		session.write(cmd);
-	}
-
-    public void getTasksAssignedAsBusinessAdministrator(String userId,
-                                                        String language,
-                                                        TaskSummaryResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( userId );
-        args.add( language );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.QueryTasksAssignedAsBusinessAdministrator,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-
-    public void getTasksAssignedAsExcludedOwner(String userId,
-                                                String language,
-                                                TaskSummaryResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( userId );
-        args.add( language );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.QueryTasksAssignedAsExcludedOwner,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-
-    public void getTasksAssignedAsPotentialOwner(String userId,
-                                                 String language,
-                                                 TaskSummaryResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( userId );
-        args.add( language );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.QueryTasksAssignedAsPotentialOwner,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-     public void getTasksAssignedAsPotentialOwner(String userId, List<String> groupIds,
-                                                 String language,
-                                                 TaskSummaryResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( userId );
-        args.add( groupIds );
-        args.add( language );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.QueryTasksAssignedAsPotentialOwnerWithGroup,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-    
-    public void getSubTasksAssignedAsPotentialOwner(long parentId, String userId,
-                                                 String language,
-                                                 TaskSummaryResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( parentId );
-        args.add( userId );
-        args.add( language );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.QuerySubTasksAssignedAsPotentialOwner,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-    public void getSubTasksByParent(long parentId, TaskSummaryResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( parentId );
-        //@TODO: un hard code this
-        args.add( "en-UK" );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.QueryGetSubTasksByParentTaskId,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-    public void getTasksAssignedAsRecipient(String userId,
-                                            String language,
-                                            TaskSummaryResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( userId );
-        args.add( language );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.QueryTasksAssignedAsRecipient,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-
-    public void getTasksAssignedAsTaskInitiator(String userId,
-                                                String language,
-                                                TaskSummaryResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( userId );
-        args.add( language );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.QueryTasksAssignedAsTaskInitiator,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-
-    public void getTasksAssignedAsTaskStakeholder(String userId,
-                                                  String language,
-                                                  TaskSummaryResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 2 );
-        args.add( userId );
-        args.add( language );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.QueryTasksAssignedAsTaskStakeholder,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-
-    public void registerForEvent(EventKey key,
-                                 boolean remove,
-                                 EventResponseHandler responseHandler) {
-        List<Object> args = new ArrayList<Object>( 3 );
-        args.add( key );
-        args.add( remove );
-        args.add( this.name );
-        Command cmd = new Command( counter.getAndIncrement(),
-                                   CommandName.RegisterForEventRequest,
-                                   args );
-        handler.addResponseHandler( cmd.getId(),
-                                    responseHandler );
-        session.write( cmd );
-    }
-
-}
\ No newline at end of file

Deleted: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskServer.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskServer.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskServer.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,13 +0,0 @@
-package org.drools.task.service;
-
-import org.drools.SystemEventListenerFactory;
-
-
-public class MinaTaskServer extends BaseMinaServer
-    implements
-    Runnable {
-    public MinaTaskServer(TaskService service) {
-        super( new TaskServerHandler( service, SystemEventListenerFactory.getSystemEventListener() ),
-               9123 );
-    }
-}
\ No newline at end of file

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/SessionWriter.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/SessionWriter.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/SessionWriter.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,7 @@
+package org.drools.task.service;
+
+public interface SessionWriter {
+	
+	public void write(Object message);
+
+}


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/SessionWriter.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClient.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClient.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClient.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,541 @@
+package org.drools.task.service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.drools.eventmessaging.EventKey;
+import org.drools.eventmessaging.EventResponseHandler;
+import org.drools.task.Attachment;
+import org.drools.task.Comment;
+import org.drools.task.Content;
+import org.drools.task.Task;
+import org.drools.task.service.TaskClientHandler.AddAttachmentResponseHandler;
+import org.drools.task.service.TaskClientHandler.AddCommentResponseHandler;
+import org.drools.task.service.TaskClientHandler.AddTaskResponseHandler;
+import org.drools.task.service.TaskClientHandler.DeleteAttachmentResponseHandler;
+import org.drools.task.service.TaskClientHandler.DeleteCommentResponseHandler;
+import org.drools.task.service.TaskClientHandler.GetContentResponseHandler;
+import org.drools.task.service.TaskClientHandler.GetTaskResponseHandler;
+import org.drools.task.service.TaskClientHandler.SetDocumentResponseHandler;
+import org.drools.task.service.TaskClientHandler.TaskOperationResponseHandler;
+import org.drools.task.service.TaskClientHandler.TaskSummaryResponseHandler;
+
+public class TaskClient  {
+
+    private final BaseHandler handler;
+	private final AtomicInteger counter;
+	private final String name;
+	private final TaskClientConnector connector;
+
+	public TaskClient(TaskClientConnector connector) {
+		this.connector = connector;
+		this.counter = connector.getCounter();
+		this.name = connector.getName();
+		this.handler = connector.getHandler();
+	}
+
+    public void addTask(Task task, ContentData content, 
+                        AddTaskResponseHandler responseHandler) {
+    	List<Object> args = new ArrayList<Object>( 2 );
+        args.add( task );
+        args.add( content );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.AddTaskRequest,
+                                   args );
+
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        
+        connector.write( cmd );
+    }
+
+    public void getTask(long taskId,
+                        GetTaskResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 1 );
+        args.add( taskId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.GetTaskRequest,
+                                   args );
+
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+
+    }
+
+    public void addComment(long taskId,
+                           Comment comment,
+                           AddCommentResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( taskId );
+        args.add( comment );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.AddCommentRequest,
+                                   args );
+
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void deleteComment(long taskId,
+                              long commentId,
+                              DeleteCommentResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( taskId );
+        args.add( commentId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.DeleteCommentRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void addAttachment(long taskId,
+                              Attachment attachment,
+                              Content content,
+                              AddAttachmentResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 3 );
+        args.add( taskId );
+        args.add( attachment );
+        args.add( content );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.AddAttachmentRequest,
+                                   args );
+
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void deleteAttachment(long taskId,
+                                 long attachmentId,
+                                 long contentId,
+                                 DeleteAttachmentResponseHandler responseHandler ) {
+        List<Object> args = new ArrayList<Object>( 3 );
+        args.add( taskId );
+        args.add( attachmentId );
+        args.add( contentId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.DeleteAttachmentRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        
+        connector.write( cmd );
+    }
+
+    public void setDocumentContent(long taskId,
+                                   Content content,
+                                   SetDocumentResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( taskId );
+        args.add( content );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.SetDocumentContentRequest,
+                                   args );
+
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void getContent(long contentId,
+                           GetContentResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 1 );
+        args.add( contentId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.GetContentRequest,
+                                   args );
+
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void claim(long taskId,
+                      String userId,
+                      TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 3 );
+        args.add( Operation.Claim );
+        args.add( taskId );
+        args.add( userId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void start(long taskId,
+                      String userId,
+                      TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 3 );
+        args.add( Operation.Start );
+        args.add( taskId );
+        args.add( userId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void stop(long taskId,
+                     String userId,
+                     TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 3 );
+        args.add( Operation.Stop );
+        args.add( taskId );
+        args.add( userId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void release(long taskId,
+                        String userId,
+                        TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 3 );
+        args.add( Operation.Release );
+        args.add( taskId );
+        args.add( userId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void suspend(long taskId,
+                        String userId,
+                        TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 3 );
+        args.add( Operation.Suspend );
+        args.add( taskId );
+        args.add( userId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void resume(long taskId,
+                       String userId,
+                       TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 3 );
+        args.add( Operation.Resume );
+        args.add( taskId );
+        args.add( userId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void skip(long taskId,
+                     String userId,
+                     TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 3 );
+        args.add( Operation.Skip );
+        args.add( taskId );
+        args.add( userId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+    
+    public void delegate(long taskId,
+                         String userId,
+                         String targetUserId,
+                         TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 4 );
+        args.add( Operation.Delegate );
+        args.add( taskId );
+        args.add( userId );
+        args.add( targetUserId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );      
+    }
+    
+    public void forward(long taskId,
+                        String userId,
+                        String targetEntityId,
+                        TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 4 );
+        args.add( Operation.Forward );
+        args.add( taskId );
+        args.add( userId );
+        args.add( targetEntityId );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );      
+    }    
+
+    public void complete(long taskId,
+                         String userId,
+                         ContentData outputData,
+                         TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 5 );
+        args.add( Operation.Complete );
+        args.add( taskId );
+        args.add( userId );
+        args.add( null );
+        args.add( outputData );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void fail(long taskId,
+                     String userId,
+                     FaultData faultData,
+                     TaskOperationResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 5 );
+        args.add( Operation.Fail );
+        args.add( taskId );
+        args.add( userId );
+        args.add( null );
+        args.add( faultData );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.OperationRequest,
+                                   args );
+        
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+
+        connector.write( cmd );
+    }
+
+    public void getTasksOwned(String userId,
+                              String language,
+                              TaskSummaryResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( userId );
+        args.add( language );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.QueryTasksOwned,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+
+    public void getTaskByWorkItemId(long workItemId,
+			                        GetTaskResponseHandler responseHandler) {
+		List<Object> args = new ArrayList<Object>(1);
+		args.add(workItemId);
+		Command cmd = new Command( counter.getAndIncrement(),
+				                   CommandName.QueryTaskByWorkItemId,
+				                   args);
+		handler.addResponseHandler( cmd.getId(),
+				                    responseHandler);
+		connector.write(cmd);
+	}
+
+    public void getTasksAssignedAsBusinessAdministrator(String userId,
+                                                        String language,
+                                                        TaskSummaryResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( userId );
+        args.add( language );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.QueryTasksAssignedAsBusinessAdministrator,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+
+    public void getTasksAssignedAsExcludedOwner(String userId,
+                                                String language,
+                                                TaskSummaryResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( userId );
+        args.add( language );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.QueryTasksAssignedAsExcludedOwner,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+
+    public void getTasksAssignedAsPotentialOwner(String userId,
+                                                 String language,
+                                                 TaskSummaryResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( userId );
+        args.add( language );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.QueryTasksAssignedAsPotentialOwner,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+
+    public void getTasksAssignedAsPotentialOwner(String userId, List<String> groupIds,
+                                                 String language,
+                                                 TaskSummaryResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( userId );
+        args.add( groupIds );
+        args.add( language );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.QueryTasksAssignedAsPotentialOwnerWithGroup,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+    
+    public void getSubTasksAssignedAsPotentialOwner(long parentId, String userId,
+                                                 String language,
+                                                 TaskSummaryResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( parentId );
+        args.add( userId );
+        args.add( language );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.QuerySubTasksAssignedAsPotentialOwner,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+    public void getSubTasksByParent(long parentId, TaskSummaryResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( parentId );
+        //@TODO: un hard code this
+        args.add( "en-UK" );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.QueryGetSubTasksByParentTaskId,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+    public void getTasksAssignedAsRecipient(String userId,
+                                            String language,
+                                            TaskSummaryResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( userId );
+        args.add( language );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.QueryTasksAssignedAsRecipient,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+
+    public void getTasksAssignedAsTaskInitiator(String userId,
+                                                String language,
+                                                TaskSummaryResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( userId );
+        args.add( language );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.QueryTasksAssignedAsTaskInitiator,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+
+    public void getTasksAssignedAsTaskStakeholder(String userId,
+                                                  String language,
+                                                  TaskSummaryResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 2 );
+        args.add( userId );
+        args.add( language );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.QueryTasksAssignedAsTaskStakeholder,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+
+    public void registerForEvent(EventKey key,
+                                 boolean remove,
+                                 EventResponseHandler responseHandler) {
+        List<Object> args = new ArrayList<Object>( 3 );
+        args.add( key );
+        args.add( remove );
+        args.add( this.name );
+        Command cmd = new Command( counter.getAndIncrement(),
+                                   CommandName.RegisterForEventRequest,
+                                   args );
+        handler.addResponseHandler( cmd.getId(),
+                                    responseHandler );
+        connector.write( cmd );
+    }
+    
+    public boolean connect() {
+    	return connector.connect();
+    }
+    
+    public boolean connect(String address, int port) {
+    	return connector.connect(address, port);
+    }
+    
+    public void disconnect() {
+    	connector.disconnect();
+    }
+
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClient.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientConnector.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientConnector.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientConnector.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,16 @@
+package org.drools.task.service;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+public interface TaskClientConnector {
+	
+	public boolean connect();
+	public boolean connect(String address, int port);
+	public void disconnect();
+	
+	public void write(Object message);
+	public BaseHandler getHandler();
+	public String getName();
+	public AtomicInteger getCounter();
+
+}


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientConnector.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientHandler.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,6 +1,9 @@
 package org.drools.task.service;
 
-import org.apache.mina.core.session.IoSession;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
 import org.drools.SystemEventListener;
 import org.drools.eventmessaging.EventResponseHandler;
 import org.drools.eventmessaging.Payload;
@@ -8,37 +11,31 @@
 import org.drools.task.Task;
 import org.drools.task.query.TaskSummary;
 
-import java.util.Arrays;
-import java.util.List;
+public class TaskClientHandler {
 
-public class TaskClientHandler extends BaseMinaHandler {
-    private MinaTaskClient client;
-
-    /**
-     * Listener used for logging
-     */
+	private TaskClient client;
     private SystemEventListener systemEventListener;
+	private final Map<Integer, ResponseHandler> responseHandlers;
 
-    public TaskClientHandler(SystemEventListener systemEventListener) {
-        this.systemEventListener = systemEventListener;
+    public TaskClientHandler(Map<Integer, ResponseHandler> responseHandlers, SystemEventListener systemEventListener) {
+        this.responseHandlers = responseHandlers;
+		this.systemEventListener = systemEventListener;
     }
 
-    public MinaTaskClient getClient() {
+    public TaskClient getClient() {
         return client;
     }
 
-    public void setClient(MinaTaskClient client) {
+    public void setClient(TaskClient client) {
         this.client = client;
     }
 
-    @Override
-    public void exceptionCaught(IoSession session,
+    public void exceptionCaught(SessionWriter session,
                                 Throwable cause) throws Exception {
         systemEventListener.exception("Uncaught exception on client", cause);
     }
 
-    @Override
-    public void messageReceived(IoSession session,
+    public void messageReceived(SessionWriter session,
                                 Object message) throws Exception {
         Command cmd = (Command) message;
 
@@ -255,4 +252,6 @@
             ResponseHandler {
         public void execute(List<TaskSummary> results);
     }
+    
+    
 }
\ No newline at end of file

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServer.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServer.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServer.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,8 @@
+package org.drools.task.service;
+
+public abstract class TaskServer implements Runnable {
+	
+	public abstract void start() throws Exception;
+	public abstract void stop() throws Exception;
+
+}


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServer.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServerHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServerHandler.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServerHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,8 +1,12 @@
 package org.drools.task.service;
 
-import org.apache.mina.core.service.IoHandlerAdapter;
-import org.apache.mina.core.session.IdleStatus;
-import org.apache.mina.core.session.IoSession;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import org.drools.SystemEventListener;
 import org.drools.eventmessaging.EventKey;
 import org.drools.task.Attachment;
@@ -10,12 +14,12 @@
 import org.drools.task.Content;
 import org.drools.task.Task;
 import org.drools.task.query.TaskSummary;
+import org.drools.task.service.mina.MinaEventTransport;
 
-import java.util.*;
+public class TaskServerHandler {
 
-public class TaskServerHandler extends IoHandlerAdapter {
-    private final TaskService service;
-    private final Map<String, IoSession> clients;
+	private final TaskService service;
+    private final Map<String, SessionWriter> clients;
 
     /**
      * Listener used for logging
@@ -24,18 +28,15 @@
 
     public TaskServerHandler(TaskService service, SystemEventListener systemEventListener) {
         this.service = service;
-        this.clients = new HashMap<String, IoSession>();
+        this.clients = new HashMap<String, SessionWriter>();
         this.systemEventListener = systemEventListener;
     }
 
-    @Override
-    public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
+    public void exceptionCaught(SessionWriter session, Throwable cause) throws Exception {
         systemEventListener.exception("Uncaught exception on Server", cause);
     }
 
-    @Override
-    public void messageReceived(IoSession session,
-                                Object message) throws Exception {
+    public void messageReceived(SessionWriter session, Object message) throws Exception {
         Command cmd = (Command) message;
         TaskServiceSession taskSession = service.createSession();
         CommandName response = null;
@@ -333,14 +334,13 @@
                     EventKey key = (EventKey) cmd.getArguments().get(0);
                     boolean remove = (Boolean) cmd.getArguments().get(1);
                     String uuid = (String) cmd.getArguments().get(2);
-                    clients.put(uuid,
-                            session);
-                    MinaEventTransport transport = new MinaEventTransport(uuid,
-                            cmd.getId(),
-                            clients,
-                            remove);
-                    service.getEventKeys().register(key,
-                            transport);
+                    clients.put(uuid, session);
+                    // TODO: replace this to support Mina/HornetQ
+//                    MinaEventTransport transport = new MinaEventTransport(uuid,
+//                            cmd.getId(),
+//                            clients,
+//                            remove);
+//                    service.getEventKeys().register(key, transport);
                     break;
                 }
                 case RegisterClient: {
@@ -364,8 +364,7 @@
         }
     }
 
-    @Override
-    public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
-        systemEventListener.debug("Server IDLE " + session.getIdleCount(status));
-    }
+//    public void sessionIdle(SessionWriter session, IdleStatus status) throws Exception {
+//        systemEventListener.debug("Server IDLE " + session.getIdleCount(status));
+//    }
 }
\ No newline at end of file

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/BaseHornetQHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/BaseHornetQHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/BaseHornetQHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,21 @@
+package org.drools.task.service.hornetq;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.task.service.BaseHandler;
+import org.drools.task.service.ResponseHandler;
+
+public class BaseHornetQHandler implements BaseHandler {
+
+	protected Map<Integer, ResponseHandler> responseHandlers;
+
+	public BaseHornetQHandler() {
+		responseHandlers = new HashMap<Integer, ResponseHandler>();
+	}
+
+	public void addResponseHandler(int id, ResponseHandler responseHandler) {
+		responseHandlers.put( id, responseHandler );
+	}
+
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/BaseHornetQHandler.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/BaseHornetQTaskServer.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/BaseHornetQTaskServer.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/BaseHornetQTaskServer.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,100 @@
+package org.drools.task.service.hornetq;
+
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+
+import org.drools.task.service.TaskServer;
+import org.hornetq.api.core.TransportConfiguration;
+import org.hornetq.api.core.client.ClientConsumer;
+import org.hornetq.api.core.client.ClientMessage;
+import org.hornetq.api.core.client.ClientSession;
+import org.hornetq.api.core.client.ClientSessionFactory;
+import org.hornetq.api.core.client.HornetQClient;
+import org.hornetq.core.config.Configuration;
+import org.hornetq.core.config.impl.ConfigurationImpl;
+import org.hornetq.core.server.HornetQServer;
+import org.hornetq.core.server.HornetQServers;
+import org.hornetq.integration.transports.netty.NettyAcceptorFactory;
+import org.hornetq.integration.transports.netty.NettyConnectorFactory;
+import org.hornetq.integration.transports.netty.TransportConstants;
+
+public class BaseHornetQTaskServer extends TaskServer {
+
+	public static final String SERVER_TASK_COMMANDS_QUEUE = "taskCommandsQueue";
+
+	private HornetQServer server;
+	private HornetQTaskServerHandler handler;
+	private Configuration configuration;
+
+	private final int port;
+	volatile boolean  running;
+
+	private ClientSession session;
+	private ClientConsumer consumer;
+
+	public BaseHornetQTaskServer(HornetQTaskServerHandler handler, int port) {
+		this.handler = handler;
+		this.port = port;
+	}
+
+	public BaseHornetQTaskServer(HornetQTaskServerHandler handler, int port, Configuration configuration) {
+		this(handler, port);
+		this.configuration = configuration;
+	}
+
+	public void run() {
+		try {
+			start();
+			while (running) {
+				ClientMessage msgReceived = consumer.receive();
+				int bodySize = msgReceived.getBodySize();
+				byte[] message = new byte[bodySize];
+				msgReceived.getBodyBuffer().readBytes(message);
+				ByteArrayInputStream bais = new ByteArrayInputStream(message);
+				ObjectInputStream ois = new ObjectInputStream(bais);
+				Object object = ois.readObject();
+				String clientId = msgReceived.getStringProperty("producerId");
+				handler.messageReceived(session, object, clientId);
+			}
+		} catch (Exception e) {
+			throw new RuntimeException("Server Exception with class " + getClass() + " using port " + port, e);
+		}
+	}
+
+	public void start() throws Exception {
+		if (configuration==null) {
+			configuration = new ConfigurationImpl();
+			configuration.setPersistenceEnabled(false);
+			configuration.setSecurityEnabled(false);
+		}
+
+		Map<String, Object> connectionParams = new HashMap<String, Object>();
+		connectionParams.put(TransportConstants.PORT_PROP_NAME, port);
+
+		TransportConfiguration transpConf = new TransportConfiguration(NettyAcceptorFactory.class.getName(), connectionParams);
+
+		HashSet<TransportConfiguration> setTransp = new HashSet<TransportConfiguration>();
+		setTransp.add(transpConf);
+
+		configuration.setAcceptorConfigurations(setTransp);
+
+		server = HornetQServers.newHornetQServer(configuration);
+		server.start();
+
+		TransportConfiguration transportConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getCanonicalName(), connectionParams);
+		ClientSessionFactory factory = HornetQClient.createClientSessionFactory(transportConfiguration);
+		session = factory.createSession();
+		session.createQueue(SERVER_TASK_COMMANDS_QUEUE, SERVER_TASK_COMMANDS_QUEUE, true);
+		consumer = session.createConsumer(SERVER_TASK_COMMANDS_QUEUE);
+		session.start();
+		System.out.println("QUEUE '" + SERVER_TASK_COMMANDS_QUEUE + "' CREATED::");
+	}
+
+	public void stop() throws Exception {
+		server.stop();
+		running = false;
+	}
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/BaseHornetQTaskServer.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQSessionWriter.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQSessionWriter.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQSessionWriter.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,40 @@
+package org.drools.task.service.hornetq;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+
+import org.drools.task.service.SessionWriter;
+import org.hornetq.api.core.HornetQException;
+import org.hornetq.api.core.Message;
+import org.hornetq.api.core.client.ClientMessage;
+import org.hornetq.api.core.client.ClientProducer;
+import org.hornetq.api.core.client.ClientSession;
+
+public class HornetQSessionWriter implements SessionWriter {
+	
+	private final ClientSession session;
+	private final ClientProducer producer;
+
+	public HornetQSessionWriter(ClientSession session, ClientProducer producer) {
+		this.session = session;
+		this.producer = producer;
+	}
+
+	public void write(Object message) {
+		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+		ObjectOutputStream oout;
+		try {
+			oout = new ObjectOutputStream(baos);
+			oout.writeObject(message);
+			ClientMessage clientMessage = session.createMessage(true);
+			clientMessage.getBodyBuffer().writeBytes(baos.toByteArray());
+			producer.send((Message) message);
+		} catch (IOException e) {
+			e.printStackTrace();
+		} catch (HornetQException e) {
+			e.printStackTrace();
+		}
+	}
+
+}


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQSessionWriter.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskClientConnector.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskClientConnector.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskClientConnector.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,116 @@
+package org.drools.task.service.hornetq;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.drools.task.service.BaseHandler;
+import org.drools.task.service.TaskClientConnector;
+import org.hornetq.api.core.HornetQException;
+import org.hornetq.api.core.TransportConfiguration;
+import org.hornetq.api.core.client.ClientMessage;
+import org.hornetq.api.core.client.ClientProducer;
+import org.hornetq.api.core.client.ClientSession;
+import org.hornetq.api.core.client.ClientSessionFactory;
+import org.hornetq.api.core.client.HornetQClient;
+import org.hornetq.integration.transports.netty.NettyConnectorFactory;
+import org.hornetq.integration.transports.netty.TransportConstants;
+
+public class HornetQTaskClientConnector implements TaskClientConnector {
+
+	protected ClientSession session;
+
+	protected final BaseHornetQHandler handler;
+	protected final String name;   
+	protected AtomicInteger counter;
+
+	private String address;
+	private Integer port;
+
+	private ClientProducer producer;
+
+	public HornetQTaskClientConnector(String name, BaseHornetQHandler handler) {
+		if (name == null) {
+			throw new IllegalArgumentException("Name can not be null");
+		}
+		this.name = name;
+		this.handler = handler;
+		this.counter = new AtomicInteger();
+	}
+
+	public boolean connect(String address, int port) {
+		this.port = port;
+		this.address = address;
+		return connect();
+	}
+
+	public boolean connect() {
+		if (session != null && !session.isClosed()) {
+			throw new IllegalStateException("Already connected. Disconnect first.");
+		} 
+		try {
+			Map<String, Object> connectionParams = new HashMap<String, Object>();
+			if (address==null) {
+				address = "127.0.0.1";
+			}
+			if (port==null) {
+				port = 5446;
+			}
+			connectionParams.put(TransportConstants.PORT_PROP_NAME, port);
+			connectionParams.put(TransportConstants.HOST_PROP_NAME, address);
+
+			TransportConfiguration transportConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getCanonicalName(), connectionParams);
+			ClientSessionFactory factory = HornetQClient.createClientSessionFactory(transportConfiguration);
+			session = factory.createSession();
+			producer = session.createProducer(HornetQTaskServer.SERVER_TASK_COMMANDS_QUEUE);
+			return true;
+		} catch (Exception e) {
+			e.printStackTrace();
+			return false;
+		}
+	}
+
+	public void disconnect() {
+		if (session!= null && !session.isClosed()) {
+			try {
+				producer.close();
+				session.close();
+			} catch (HornetQException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+
+	public void write(Object object) {
+		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+		ObjectOutputStream oout;
+		try {
+			oout = new ObjectOutputStream(baos);
+			oout.writeObject(object);
+			ClientMessage message = session.createMessage(true);
+			message.getBodyBuffer().writeBytes(baos.toByteArray());
+			message.putStringProperty("producerId", name);
+			producer.send(message);
+		} catch (IOException e) {
+			e.printStackTrace();
+		} catch (HornetQException e) {
+			e.printStackTrace();
+		}
+	}
+
+	public AtomicInteger getCounter() {
+		return counter;
+	}
+
+	public BaseHandler getHandler() {
+		return handler;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+}


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskClientConnector.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskServer.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskServer.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskServer.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,16 @@
+package org.drools.task.service.hornetq;
+
+import org.drools.SystemEventListenerFactory;
+import org.drools.task.service.TaskService;
+import org.hornetq.core.config.Configuration;
+
+public class HornetQTaskServer extends BaseHornetQTaskServer implements Runnable {
+
+	public HornetQTaskServer(TaskService service, int port) {
+		super(new HornetQTaskServerHandler(service, SystemEventListenerFactory.getSystemEventListener()), port);
+	}
+	
+	public HornetQTaskServer(TaskService service, int port, Configuration configuration) {
+		super(new HornetQTaskServerHandler(service, SystemEventListenerFactory.getSystemEventListener()), port, configuration);
+	}
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskServer.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskServerHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskServerHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskServerHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,39 @@
+package org.drools.task.service.hornetq;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.SystemEventListener;
+import org.drools.task.service.Command;
+import org.drools.task.service.TaskServerHandler;
+import org.drools.task.service.TaskService;
+import org.hornetq.api.core.client.ClientProducer;
+import org.hornetq.api.core.client.ClientSession;
+
+public class HornetQTaskServerHandler {
+	
+	private TaskServerHandler handler;
+	private Map<String, ClientProducer> producers;
+	
+    public HornetQTaskServerHandler(TaskService service, SystemEventListener systemEventListener) {
+        this.handler = new TaskServerHandler(service, systemEventListener);
+        this.producers = new HashMap<String, ClientProducer>();
+    }
+
+//    public void exceptionCaught(ClientSession session, Throwable cause) throws Exception {
+//        handler.exceptionCaught(session, cause);
+//    }
+
+    public void messageReceived(ClientSession session, Object message, String destination) throws Exception {
+    	ClientProducer producer = producers.get(destination);
+    	if (producer==null) {
+    		producer = session.createProducer(destination);
+    		producers.put(destination, producer);
+    	}
+		handler.messageReceived(new HornetQSessionWriter(session, producer), message);
+    }
+
+//    public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
+//    	handler.sessionIdle(session, status);
+//    }
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/HornetQTaskServerHandler.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/TaskHornetQClientHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/TaskHornetQClientHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/TaskHornetQClientHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,48 @@
+package org.drools.task.service.hornetq;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.SystemEventListener;
+import org.drools.task.Content;
+import org.drools.task.Task;
+import org.drools.task.query.TaskSummary;
+import org.drools.task.service.Command;
+import org.drools.task.service.ResponseHandler;
+import org.drools.task.service.TaskClient;
+import org.drools.task.service.TaskClientHandler;
+import org.hornetq.api.core.client.ClientProducer;
+import org.hornetq.api.core.client.ClientSession;
+
+public class TaskHornetQClientHandler extends BaseHornetQHandler {
+    
+	private TaskClientHandler handler;
+	private Map<String, ClientProducer> producers;
+	
+    public TaskHornetQClientHandler(SystemEventListener systemEventListener) {
+        this.handler = new TaskClientHandler(responseHandlers, systemEventListener);
+        this.producers = new HashMap<String, ClientProducer>();
+    }
+
+    public TaskClient getClient() {
+        return handler.getClient();
+    }
+
+    public void setClient(TaskClient client) {
+        handler.setClient(client);
+    }
+
+    public void exceptionCaught(ClientSession session, Throwable cause) throws Exception {
+//    	handler.exceptionCaught(new HornetQSessionWriter(session, message), cause);
+    }
+
+    public void messageReceived(ClientSession session, Object message, String producerId) throws Exception {
+    	ClientProducer producer = producers.get(producerId);
+    	if (producer==null) {
+    		producer = session.createProducer(producerId);
+    	}
+		handler.messageReceived(new HornetQSessionWriter(session, producer), message);
+    }
+
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/hornetq/TaskHornetQClientHandler.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/BaseMinaHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/BaseMinaHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/BaseMinaHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,22 @@
+package org.drools.task.service.mina;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.mina.core.service.IoHandlerAdapter;
+import org.drools.task.service.BaseHandler;
+import org.drools.task.service.ResponseHandler;
+
+public class BaseMinaHandler extends IoHandlerAdapter implements BaseHandler
+{       
+    protected Map<Integer, ResponseHandler> responseHandlers;
+    
+    public BaseMinaHandler() {
+        responseHandlers = new HashMap<Integer, ResponseHandler>();
+    }
+    
+    public void addResponseHandler(int id, ResponseHandler responseHandler) {
+        responseHandlers.put( id, responseHandler );
+    }
+    
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/BaseMinaHandler.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/BaseMinaTaskServer.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/BaseMinaTaskServer.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/BaseMinaTaskServer.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,66 @@
+package org.drools.task.service.mina;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+
+import org.apache.mina.core.service.IoAcceptor;
+import org.apache.mina.core.service.IoHandlerAdapter;
+import org.apache.mina.core.session.IdleStatus;
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
+import org.apache.mina.filter.logging.LoggingFilter;
+import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
+import org.drools.task.service.TaskServer;
+
+public class BaseMinaTaskServer extends TaskServer {
+    private final int port;
+
+    IoHandlerAdapter  handler;
+
+    IoAcceptor        acceptor;
+
+    volatile boolean  running;
+
+    public BaseMinaTaskServer(IoHandlerAdapter handler,
+                          int port) {
+        this.handler = handler;
+        this.port = port;
+    }
+
+    public void run() {
+        try {
+            start();
+            while ( running ) {
+                Thread.sleep( 100 );
+            }
+        } catch ( Exception e ) {
+            throw new RuntimeException( "Server Exception with class " + getClass() + " using port " + port,
+                                        e );
+        }
+    }
+
+    public void start() throws IOException {
+        running = true;
+
+        acceptor = new NioSocketAcceptor();
+
+        acceptor.getFilterChain().addLast( "logger",
+                                           new LoggingFilter() );
+        acceptor.getFilterChain().addLast( "codec",
+                                           new ProtocolCodecFilter( new ObjectSerializationCodecFactory() ) );
+
+        acceptor.setHandler( handler );
+        acceptor.getSessionConfig().setReadBufferSize( 2048 );
+        acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );
+        acceptor.bind( new InetSocketAddress( "127.0.0.1", port ) );
+    }
+    
+    public IoAcceptor getIoAcceptor() {
+        return acceptor;
+    }
+
+    public void stop() {
+        acceptor.dispose();
+        running = false;
+    }
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/BaseMinaTaskServer.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaEventTransport.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaEventTransport.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaEventTransport.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,37 @@
+package org.drools.task.service.mina;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.mina.core.session.IoSession;
+import org.drools.eventmessaging.EventTriggerTransport;
+import org.drools.eventmessaging.Payload;
+import org.drools.task.service.Command;
+import org.drools.task.service.CommandName;
+
+public class MinaEventTransport implements EventTriggerTransport {
+    private String uuid;
+    private Map<String, IoSession> sessions;
+    private int responseId;
+    private boolean remove;
+    
+    public MinaEventTransport(String uuid, int responseId, Map<String, IoSession> sessions, boolean remove) {
+        this.uuid = uuid;
+        this.responseId = responseId;
+        this.sessions = sessions;
+        this.remove = remove;
+    }
+
+    public void trigger(Payload payload) {        
+        IoSession session = sessions.get( uuid );
+        List args = new ArrayList( 1 );
+        args.add( payload );
+        Command cmd = new Command( responseId, CommandName.EventTriggerResponse, args);             
+        session.write( cmd );        
+    }
+    
+    public boolean isRemove() {
+        return this.remove;
+    }
+}


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaEventTransport.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaSessionWriter.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaSessionWriter.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaSessionWriter.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,18 @@
+package org.drools.task.service.mina;
+
+import org.apache.mina.core.session.IoSession;
+import org.drools.task.service.SessionWriter;
+
+public class MinaSessionWriter implements SessionWriter {
+	
+	private final IoSession session;
+
+	public MinaSessionWriter(IoSession session) {
+		this.session = session;
+	}
+
+	public void write(Object message) {
+		session.write(message);
+	}
+
+}


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaSessionWriter.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskClientConnector.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskClientConnector.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskClientConnector.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,117 @@
+package org.drools.task.service.mina;
+
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.mina.core.future.ConnectFuture;
+import org.apache.mina.core.session.IoSession;
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
+import org.apache.mina.transport.socket.SocketConnector;
+import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.task.service.BaseHandler;
+import org.drools.task.service.TaskClientConnector;
+
+public class MinaTaskClientConnector implements TaskClientConnector {
+
+    protected IoSession session;
+
+    protected final BaseMinaHandler handler;
+    protected final String name;   
+    protected AtomicInteger counter;
+
+    protected SocketConnector connector; 
+    protected SocketAddress address;
+
+    public MinaTaskClientConnector(String name, BaseMinaHandler handler) {
+        if (name == null) {
+            throw new IllegalArgumentException("Name can not be null");
+        }
+        this.name = name;
+        this.handler = handler;
+        counter = new AtomicInteger();
+    }
+
+    public boolean connect(SocketConnector connector, SocketAddress address) {
+        this.connector = connector;
+        this.address = address;
+        connector.setHandler( this.handler );
+        return connect();
+    }
+
+	public boolean connect(String address, int port) {
+		this.connector = new NioSocketConnector();
+        this.address = new InetSocketAddress( address, port );
+        connector.setHandler( this.handler );
+        return connect();
+	}
+
+    public boolean connect() {
+        if (session != null && session.isConnected()) {
+            throw new IllegalStateException(
+                    "Already connected. Disconnect first.");
+        } 
+
+        if (this.connector==null) {
+        	this.connector = new NioSocketConnector();
+        }
+        
+        if (this.address==null) {
+        	this.address = new InetSocketAddress( "127.0.0.1", 9123);
+        }
+         
+        try {
+//            SocketConnectorConfig config = new SocketConnectorConfig();
+//            if (useSsl) {
+//                SSLContext sslContext = BogusSSLContextFactory
+//                        .getInstance(false);
+//                SSLFilter sslFilter = new SSLFilter(sslContext);
+//                sslFilter.setUseClientMode(true);
+//                config.getFilterChain().addLast("sslFilter", sslFilter);
+//            }
+            
+            //connector.setHandler( arg0 );
+            
+            connector.getFilterChain().addLast(
+                                               "codec",
+                                               new ProtocolCodecFilter(
+                                                       new ObjectSerializationCodecFactory()));
+
+            ConnectFuture future1 = connector.connect( address );
+            future1.join();
+            if (!future1.isConnected()) {
+                return false;
+            }
+            session = future1.getSession();
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    public void disconnect() {
+        if ( session!= null && session.isConnected() ) {
+            session.close();
+            session.getCloseFuture().join();
+        }
+    }
+
+	public void write(Object message) {
+		session.write(message);
+	}
+
+	public BaseHandler getHandler() {
+		return handler;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public AtomicInteger getCounter() {
+		return counter;
+	}
+
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskClientConnector.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskServer.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskServer.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskServer.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,17 @@
+package org.drools.task.service.mina;
+
+import org.drools.SystemEventListenerFactory;
+import org.drools.task.service.TaskService;
+
+
+public class MinaTaskServer extends BaseMinaTaskServer {
+    public MinaTaskServer(TaskService service) {
+        super( new MinaTaskServerHandler( service, SystemEventListenerFactory.getSystemEventListener() ),
+               9123 );
+    }
+    
+    public MinaTaskServer(TaskService service, int port) {
+        super( new MinaTaskServerHandler( service, SystemEventListenerFactory.getSystemEventListener() ),
+               port );
+    }
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskServer.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskServerHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskServerHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskServerHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,32 @@
+package org.drools.task.service.mina;
+
+import org.apache.mina.core.service.IoHandlerAdapter;
+import org.apache.mina.core.session.IdleStatus;
+import org.apache.mina.core.session.IoSession;
+import org.drools.SystemEventListener;
+import org.drools.task.service.TaskServerHandler;
+import org.drools.task.service.TaskService;
+
+public class MinaTaskServerHandler extends IoHandlerAdapter {
+	
+    private TaskServerHandler handler;
+
+    public MinaTaskServerHandler(TaskService service, SystemEventListener systemEventListener) {
+        this.handler = new TaskServerHandler(service, systemEventListener);
+    }
+
+    @Override
+    public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
+    	handler.exceptionCaught(new MinaSessionWriter(session), cause);
+    }
+
+    @Override
+    public void messageReceived(IoSession session, Object message) throws Exception {
+        handler.messageReceived(new MinaSessionWriter(session), message);
+    }
+
+    @Override
+    public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
+//    	handler.sessionIdle(session, status);
+    }
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/MinaTaskServerHandler.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/TaskMinaClientHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/TaskMinaClientHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/TaskMinaClientHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,40 @@
+package org.drools.task.service.mina;
+
+import java.util.List;
+
+import org.apache.mina.core.session.IoSession;
+import org.drools.SystemEventListener;
+import org.drools.task.Content;
+import org.drools.task.Task;
+import org.drools.task.query.TaskSummary;
+import org.drools.task.service.ResponseHandler;
+import org.drools.task.service.TaskClient;
+import org.drools.task.service.TaskClientHandler;
+
+public class TaskMinaClientHandler extends BaseMinaHandler {
+
+	private TaskClientHandler handler;
+	
+    public TaskMinaClientHandler(SystemEventListener systemEventListener) {
+        this.handler = new TaskClientHandler(responseHandlers, systemEventListener);
+    }
+
+    public TaskClient getClient() {
+        return handler.getClient();
+    }
+
+    public void setClient(TaskClient client) {
+        handler.setClient(client);
+    }
+
+    @Override
+    public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
+    	handler.exceptionCaught(new MinaSessionWriter(session), cause);
+    }
+
+    @Override
+    public void messageReceived(IoSession session, Object message) throws Exception {
+    	handler.messageReceived(new MinaSessionWriter(session), message);
+    }
+
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/mina/TaskMinaClientHandler.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/responsehandlers/BlockingTaskSummaryResponseHandler.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/responsehandlers/BlockingTaskSummaryResponseHandler.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/main/java/org/drools/task/service/responsehandlers/BlockingTaskSummaryResponseHandler.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,10 +1,10 @@
 package org.drools.task.service.responsehandlers;
 
+import java.util.List;
+
 import org.drools.task.query.TaskSummary;
 import org.drools.task.service.TaskClientHandler.TaskSummaryResponseHandler;
 
-import java.util.List;
-
 public class BlockingTaskSummaryResponseHandler extends AbstractBlockingResponseHandler implements TaskSummaryResponseHandler {
 
     private static final int RESULTS_WAIT_TIME = 10000;

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/process/workitem/wsht/WSHumanTaskHandlerTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/process/workitem/wsht/WSHumanTaskHandlerTest.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/process/workitem/wsht/WSHumanTaskHandlerTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,6 +1,14 @@
 package org.drools.process.workitem.wsht;
 
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 import org.drools.SystemEventListenerFactory;
 import org.drools.process.instance.impl.WorkItemImpl;
 import org.drools.runtime.process.WorkItem;
@@ -11,30 +19,24 @@
 import org.drools.task.Status;
 import org.drools.task.Task;
 import org.drools.task.query.TaskSummary;
-import org.drools.task.service.*;
+import org.drools.task.service.ContentData;
+import org.drools.task.service.PermissionDeniedException;
+import org.drools.task.service.TaskClient;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.MinaTaskServer;
+import org.drools.task.service.mina.TaskMinaClientHandler;
 import org.drools.task.service.responsehandlers.BlockingGetContentResponseHandler;
 import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
 import org.drools.task.service.responsehandlers.BlockingTaskOperationResponseHandler;
 import org.drools.task.service.responsehandlers.BlockingTaskSummaryResponseHandler;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 public class WSHumanTaskHandlerTest extends BaseTest {
     private static final int DEFAULT_WAIT_TIME = 5000;
     private static final int MANAGER_COMPLETION_WAIT_TIME = DEFAULT_WAIT_TIME;
     private static final int MANAGER_ABORT_WAIT_TIME = DEFAULT_WAIT_TIME;
 
     MinaTaskServer server;
-    MinaTaskClient client;
+    TaskClient client;
     WSHumanTaskHandler handler;
 
     @Override
@@ -44,10 +46,9 @@
         Thread thread = new Thread(server);
         thread.start();
         Thread.sleep(500);
-        client = new MinaTaskClient("client 1", new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()));
-        NioSocketConnector connector = new NioSocketConnector();
-        SocketAddress address = new InetSocketAddress("127.0.0.1", 9123);
-        client.connect(connector, address);
+        client = new TaskClient(new MinaTaskClientConnector("client 1",
+        						new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+        client.connect("127.0.0.1", 9123);
         handler = new WSHumanTaskHandler();
     }
 

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/QueryTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/QueryTest.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/QueryTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -2,13 +2,14 @@
 
 import java.io.InputStreamReader;
 import java.io.Reader;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.collections.map.HashedMap;
 import org.drools.task.query.DeadlineSummary;
-import org.drools.task.service.TaskServiceSession;
 import org.drools.task.service.TaskServiceEscalationTest.MockEscalatedDeadlineHandler;
 
 public class QueryTest extends BaseTest {
@@ -50,6 +51,5 @@
         assertEquals( now + 24000,
                       result.getDate().getTime());    
     }
-    
 
 }

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/RunTaskService.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/RunTaskService.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/RunTaskService.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -11,10 +11,10 @@
 import javax.persistence.Persistence;
 
 import org.apache.commons.collections.map.HashedMap;
-import org.drools.task.service.MinaTaskServer;
 import org.drools.task.service.SendIcal;
 import org.drools.task.service.TaskService;
 import org.drools.task.service.TaskServiceSession;
+import org.drools.task.service.mina.MinaTaskServer;
 import org.drools.SystemEventListenerFactory;
 import org.mvel2.MVEL;
 import org.mvel2.ParserContext;

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/DemoTaskService.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/DemoTaskService.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/DemoTaskService.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -30,6 +30,7 @@
 import org.drools.task.TaskData;
 import org.drools.task.User;
 import org.drools.task.query.TaskSummary;
+import org.drools.task.service.mina.MinaTaskServer;
 import org.drools.SystemEventListenerFactory;
 import org.mvel2.MVEL;
 import org.mvel2.ParserContext;

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/IcalTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/IcalTest.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/IcalTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -3,8 +3,6 @@
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 import java.io.StringReader;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.Date;
 import java.util.Map;
 
@@ -15,11 +13,13 @@
 import javax.mail.internet.MimeMessage.RecipientType;
 
 import org.apache.commons.collections.map.HashedMap;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
 import org.drools.SystemEventListenerFactory;
 import org.drools.task.BaseTest;
 import org.drools.task.MockUserInfo;
 import org.drools.task.Task;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.MinaTaskServer;
+import org.drools.task.service.mina.TaskMinaClientHandler;
 import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
 import org.drools.task.service.responsehandlers.BlockingTaskOperationResponseHandler;
 import org.drools.util.ChainedProperties;
@@ -29,7 +29,7 @@
 
 public class IcalTest extends BaseTest {
     MinaTaskServer server;
-    MinaTaskClient client;
+    TaskClient client;
 
     Wiser          wiser;
     
@@ -49,13 +49,9 @@
         thread.start();
         Thread.sleep( 500 );
 
-        client = new MinaTaskClient( "client 1",
-                                     new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()) );
-        NioSocketConnector connector = new NioSocketConnector();
-        SocketAddress address = new InetSocketAddress( "127.0.0.1",
-                                                       9123 );
-        client.connect( connector,
-                        address );
+        client = new TaskClient(new MinaTaskClientConnector("client 1",
+        						new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+        client.connect("127.0.0.1", 9123);
 
         wiser = new Wiser();
         wiser.setHostname( emailHost );

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskLifeCycleTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskLifeCycleTest.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskLifeCycleTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,19 +1,12 @@
 package org.drools.task.service;
 
-import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingTaskOperationResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingEventResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingTaskSummaryResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
 import java.io.StringReader;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.collections.map.HashedMap;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListenerFactory;
 import org.drools.eventmessaging.EventKey;
 import org.drools.eventmessaging.Payload;
 import org.drools.task.BaseTest;
@@ -22,12 +15,19 @@
 import org.drools.task.event.TaskCompletedEvent;
 import org.drools.task.event.TaskEventKey;
 import org.drools.task.query.TaskSummary;
-import org.drools.SystemEventListenerFactory;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.MinaTaskServer;
+import org.drools.task.service.mina.TaskMinaClientHandler;
+import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingEventResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingTaskOperationResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingTaskSummaryResponseHandler;
 
 public class TaskLifeCycleTest extends BaseTest {
 	
     MinaTaskServer server;
-    MinaTaskClient client;
+    TaskClient client;
 
     @Override
     protected void setUp() throws Exception {
@@ -37,13 +37,9 @@
         thread.start();
         Thread.sleep( 500 );
         
-        client = new MinaTaskClient( "client 1",
-                                     new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()) );
-        NioSocketConnector connector = new NioSocketConnector();
-        SocketAddress address = new InetSocketAddress( "127.0.0.1",
-                                                       9123 );
-        client.connect( connector,
-                        address );
+        client = new TaskClient(new MinaTaskClientConnector("client 1",
+                                new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+        client.connect("127.0.0.1", 9123);
     }
 
     protected void tearDown() throws Exception {

Added: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServerTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServerTest.java	                        (rev 0)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServerTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -0,0 +1,33 @@
+package org.drools.task.service;
+
+import org.drools.task.BaseTest;
+import org.drools.task.service.hornetq.HornetQTaskServer;
+import org.drools.task.service.mina.MinaTaskServer;
+
+public class TaskServerTest extends BaseTest {
+
+	private HornetQTaskServer hornetQServer;
+	private MinaTaskServer minaTaskServer;
+
+	@Override
+	protected void setUp() throws Exception {
+		super.setUp();
+	}
+	
+	public void testHorneQTaskServer() throws Exception {
+		hornetQServer = new HornetQTaskServer(taskService, 10101);
+		Thread t = new Thread(hornetQServer);
+		t.start();
+		Thread.sleep(5000);
+		hornetQServer.stop();
+	}
+	
+	public void testMinaTaskServer() throws Exception {
+		minaTaskServer = new MinaTaskServer(taskService);
+		Thread t = new Thread(minaTaskServer);
+		t.start();
+		Thread.sleep(5000);
+		minaTaskServer.stop();
+	}
+
+}


Property changes on: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServerTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceCommentsAndAttachmentsTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceCommentsAndAttachmentsTest.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceCommentsAndAttachmentsTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,21 +1,12 @@
 package org.drools.task.service;
 
-import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingDeleteCommentResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingGetContentResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingAddAttachmentResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingAddCommentResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingDeleteAttachmentResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
 import java.io.StringReader;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.collections.map.HashedMap;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListenerFactory;
 import org.drools.task.AccessType;
 import org.drools.task.Attachment;
 import org.drools.task.BaseTest;
@@ -23,12 +14,21 @@
 import org.drools.task.Content;
 import org.drools.task.Status;
 import org.drools.task.Task;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.MinaTaskServer;
+import org.drools.task.service.mina.TaskMinaClientHandler;
+import org.drools.task.service.responsehandlers.BlockingAddAttachmentResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingAddCommentResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingDeleteAttachmentResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingDeleteCommentResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingGetContentResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
 import org.drools.task.utils.CollectionUtils;
-import org.drools.SystemEventListenerFactory;
 
 public class TaskServiceCommentsAndAttachmentsTest extends BaseTest {
     MinaTaskServer server;
-    MinaTaskClient client;
+    TaskClient client;
 
     @Override
     protected void setUp() throws Exception {
@@ -38,13 +38,9 @@
         thread.start();
         Thread.sleep( 500 );
 
-        client = new MinaTaskClient( "client 1",
-                                     new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()) );
-        NioSocketConnector connector = new NioSocketConnector();
-        SocketAddress address = new InetSocketAddress( "127.0.0.1",
-                                                       9123 );
-        client.connect( connector,
-                        address );
+        client = new TaskClient(new MinaTaskClientConnector("client 1",
+                                new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+        client.connect("127.0.0.1", 9123);
     }
 
     protected void tearDown() throws Exception {

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceDeadlinesTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceDeadlinesTest.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceDeadlinesTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,13 +1,7 @@
 package org.drools.task.service;
 
-import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingGetContentResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingSetContentResponseHandler;
 import java.io.InputStreamReader;
 import java.io.StringReader;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -19,7 +13,7 @@
 import javax.mail.internet.MimeMessage.RecipientType;
 
 import org.apache.commons.collections.map.HashedMap;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListenerFactory;
 import org.drools.process.instance.impl.DefaultWorkItemManager;
 import org.drools.runtime.process.WorkItemManager;
 import org.drools.task.BaseTest;
@@ -28,13 +22,19 @@
 import org.drools.task.OrganizationalEntity;
 import org.drools.task.Status;
 import org.drools.task.Task;
-import org.drools.SystemEventListenerFactory;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.MinaTaskServer;
+import org.drools.task.service.mina.TaskMinaClientHandler;
+import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingGetContentResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingSetContentResponseHandler;
 import org.subethamail.wiser.Wiser;
 import org.subethamail.wiser.WiserMessage;
 
 public class TaskServiceDeadlinesTest extends BaseTest {
     MinaTaskServer server;
-    MinaTaskClient client;
+    TaskClient client;
     Properties conf;
     
     Wiser wiser;
@@ -55,13 +55,9 @@
         thread.start();
         Thread.sleep( 500 );
 
-        client = new MinaTaskClient( "client 1",
-                                     new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()) );
-        NioSocketConnector connector = new NioSocketConnector();
-        SocketAddress address = new InetSocketAddress( "127.0.0.1",
-                                                       9123 );
-        client.connect( connector,
-                        address );
+        client = new TaskClient(new MinaTaskClientConnector("client 1",
+                                     new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+        client.connect("127.0.0.1", 9123);
         
         wiser = new Wiser();
         wiser.setHostname( conf.getProperty( "mail.smtp.host" ) );

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceEscalationTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceEscalationTest.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceEscalationTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,10 +1,7 @@
 package org.drools.task.service;
 
-import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
 import java.io.InputStreamReader;
 import java.io.Reader;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -13,16 +10,19 @@
 import javax.persistence.EntityManager;
 
 import org.apache.commons.collections.map.HashedMap;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListenerFactory;
 import org.drools.task.BaseTest;
 import org.drools.task.Deadline;
 import org.drools.task.Task;
 import org.drools.task.service.TaskServiceEscalationTest.MockEscalatedDeadlineHandler.Item;
-import org.drools.SystemEventListenerFactory;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.MinaTaskServer;
+import org.drools.task.service.mina.TaskMinaClientHandler;
+import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
 
 public class TaskServiceEscalationTest extends BaseTest {
     MinaTaskServer server;
-    MinaTaskClient client;
+    TaskClient client;
 
     @Override
     protected void setUp() throws Exception {
@@ -32,13 +32,9 @@
         thread.start();
         Thread.sleep( 500 );
 
-        client = new MinaTaskClient( "client 1",
-                                     new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()) );
-        NioSocketConnector connector = new NioSocketConnector();
-        SocketAddress address = new InetSocketAddress( "127.0.0.1",
-                                                       9123 );
-        client.connect( connector,
-                        address );
+        client = new TaskClient(new MinaTaskClientConnector("client 1",
+                                     new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+        client.connect("127.0.0.1", 9123);
     }
 
     protected void tearDown() throws Exception {

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceEventMessagingTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceEventMessagingTest.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceEventMessagingTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,16 +1,11 @@
 package org.drools.task.service;
 
-import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingEventResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
 import java.io.StringReader;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.Date;
 import java.util.Map;
 
 import org.apache.commons.collections.map.HashedMap;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListenerFactory;
 import org.drools.eventmessaging.EventKey;
 import org.drools.eventmessaging.Payload;
 import org.drools.task.BaseTest;
@@ -20,11 +15,16 @@
 import org.drools.task.event.TaskClaimedEvent;
 import org.drools.task.event.TaskEventKey;
 import org.drools.task.event.TaskUserEvent;
-import org.drools.SystemEventListenerFactory;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.MinaTaskServer;
+import org.drools.task.service.mina.TaskMinaClientHandler;
+import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingEventResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
 
 public class TaskServiceEventMessagingTest extends BaseTest {
     MinaTaskServer server;
-    MinaTaskClient client;
+    TaskClient client;
 
     @Override
     protected void setUp() throws Exception {
@@ -34,13 +34,9 @@
         thread.start();
         Thread.sleep( 500 );
         
-        client = new MinaTaskClient( "client 1",
-                                     new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()) );
-        NioSocketConnector connector = new NioSocketConnector();
-        SocketAddress address = new InetSocketAddress( "127.0.0.1",
-                                                       9123 );
-        client.connect( connector,
-                        address );
+        client = new TaskClient(new MinaTaskClientConnector("client 1",
+                                new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+        client.connect("127.0.0.1", 9123);
         
         MockUserInfo userInfo = new MockUserInfo();
         userInfo.getEmails().put( users.get( "tony" ),

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceLifeCycleTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceLifeCycleTest.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceLifeCycleTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,27 +1,27 @@
 package org.drools.task.service;
 
-import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingGetContentResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingTaskOperationResponseHandler;
-import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
 import java.io.StringReader;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.Date;
 import java.util.Map;
 
 import org.apache.commons.collections.map.HashedMap;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListenerFactory;
 import org.drools.task.AccessType;
 import org.drools.task.BaseTest;
 import org.drools.task.Content;
 import org.drools.task.Status;
 import org.drools.task.Task;
-import org.drools.SystemEventListenerFactory;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.MinaTaskServer;
+import org.drools.task.service.mina.TaskMinaClientHandler;
+import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingGetContentResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingGetTaskResponseHandler;
+import org.drools.task.service.responsehandlers.BlockingTaskOperationResponseHandler;
 
 public class TaskServiceLifeCycleTest extends BaseTest {
     MinaTaskServer server;
-    MinaTaskClient client;
+    TaskClient client;
     private static final int DEFAULT_WAIT_TIME = 5000;
 
     @Override
@@ -32,13 +32,9 @@
         thread.start();
         Thread.sleep( 500 );
 
-        client = new MinaTaskClient( "client 1",
-                                     new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()) );
-        NioSocketConnector connector = new NioSocketConnector();
-        SocketAddress address = new InetSocketAddress( "127.0.0.1",
-                                                       9123 );
-        client.connect( connector,
-                        address );
+        client = new TaskClient(new MinaTaskClientConnector("client 1",
+                                     new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+        client.connect("127.0.0.1", 9123);
     }
 
     protected void tearDown() throws Exception {

Modified: labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTest.java
===================================================================
--- labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTest.java	2010-05-17 15:14:58 UTC (rev 32909)
+++ labs/jbossrules/branches/remote_implementation_using_hornetq-lucaz/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTest.java	2010-05-17 16:43:47 UTC (rev 32910)
@@ -1,25 +1,25 @@
 package org.drools.task.service;
 
-import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
 import java.io.InputStreamReader;
 import java.io.Reader;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.collections.map.HashedMap;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListenerFactory;
 import org.drools.task.BaseTest;
 import org.drools.task.Task;
 import org.drools.task.query.TaskSummary;
 import org.drools.task.service.TaskClientHandler.TaskSummaryResponseHandler;
+import org.drools.task.service.mina.MinaTaskClientConnector;
+import org.drools.task.service.mina.MinaTaskServer;
+import org.drools.task.service.mina.TaskMinaClientHandler;
+import org.drools.task.service.responsehandlers.BlockingAddTaskResponseHandler;
 import org.drools.task.utils.CollectionUtils;
-import org.drools.SystemEventListenerFactory;
 
 public class TaskServiceTest extends BaseTest {
     MinaTaskServer server;
-    MinaTaskClient client;
+    TaskClient client;
 
     @Override
     protected void setUp() throws Exception {
@@ -28,14 +28,9 @@
         Thread thread = new Thread( server );
         thread.start();
         Thread.sleep( 500 );
-
-        client = new MinaTaskClient( "client 1",
-                                     new TaskClientHandler(SystemEventListenerFactory.getSystemEventListener()) );
-        NioSocketConnector connector = new NioSocketConnector();
-        SocketAddress address = new InetSocketAddress( "127.0.0.1",
-                                                       9123 );
-        client.connect( connector,
-                        address );
+        client = new TaskClient(new MinaTaskClientConnector("client 1",
+                                new TaskMinaClientHandler(SystemEventListenerFactory.getSystemEventListener())));
+        client.connect("127.0.0.1", 9123);
     }
 
     protected void tearDown() throws Exception {



More information about the jboss-svn-commits mailing list