[jboss-svn-commits] JBL Code SVN: r33556 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid: drools-grid and 13 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 18 17:49:38 EDT 2010


Author: salaboy21
Date: 2010-06-18 17:49:36 -0400 (Fri, 18 Jun 2010)
New Revision: 33556

Added:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/responsehandlers/BlockingMessageDirectoryMapRequestResponseHandler.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaDirectoryProvider.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaNodeProvider.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java
Removed:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteImpl.java
Modified:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericNodeConnector.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/SimpleCommandName.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/pom.xml
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskServerInstanceNodeRunner.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/pom.xml
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryServerMessageHandlerImpl.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/pom.xml
Log:
some API revision in service and some low level changes

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/pom.xml	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/pom.xml	2010-06-18 21:49:36 UTC (rev 33556)
@@ -8,7 +8,7 @@
         <version>5.1.0.SNAPSHOT</version>
     </parent>
     <groupId>org.drools</groupId>
-    <artifactId>drools-grid-remote-dir-min</artifactId>
+    <artifactId>drools-grid-remote-dir-mina</artifactId>
  
     <name>Drools :: Grid :: Remote Directory :: Mina</name>
   
@@ -25,6 +25,12 @@
             <version>5.1.0.SNAPSHOT</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.drools</groupId>
+            <artifactId>drools-grid-local</artifactId>
+            <version>5.1.0.SNAPSHOT</version>
+            <type>jar</type>
+        </dependency>
         <!-- Apache Mina for default Service Remote Implementation -->
         <dependency>
             <groupId>org.apache.mina</groupId>
@@ -39,5 +45,11 @@
             <version>4.8.1</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.drools</groupId>
+            <artifactId>drools-grid-remote-mina</artifactId>
+            <version>5.1.0.SNAPSHOT</version>
+            <type>jar</type>
+        </dependency>
     </dependencies>
 </project>

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -0,0 +1,129 @@
+/*
+ *  Copyright 2010 salaboy.
+ * 
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ * 
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *  under the License.
+ */
+
+package org.drools.grid.remote.directory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import org.drools.KnowledgeBase;
+import org.drools.grid.ConnectorException;
+import org.drools.grid.DirectoryNodeService;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+import org.drools.grid.internal.commands.SimpleCommand;
+import org.drools.grid.internal.commands.SimpleCommandName;
+import org.drools.grid.internal.responsehandlers.BlockingMessageDirectoryMapRequestResponseHandler;
+
+/**
+ *
+ * @author salaboy
+ */
+public class DirectoryNodeRemoteClient implements DirectoryNodeService {
+    private MinaRemoteDirectoryConnector connector;
+
+    DirectoryNodeRemoteClient(MinaRemoteDirectoryConnector connector) {
+        this.connector = connector;
+    }
+
+
+
+    public void register(String executorId, String resourceId) throws ConnectorException {
+        List<Object> args = new ArrayList<Object>(2);
+        args.add(executorId);
+        args.add(resourceId);
+        SimpleCommand cmd = new SimpleCommand(connector.counter.getAndIncrement(), SimpleCommandName.RegisterExecutor, args);
+        Message msg = new Message(connector.getSessionId(), connector.counter.incrementAndGet(), false, cmd);
+        connector.write(msg, null);
+    }
+
+    public void register(String executorId, GenericNodeConnector resourceConnector) throws ConnectorException {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public GenericNodeConnector lookup(String resourceId) throws ConnectorException {
+        throw new UnsupportedOperationException("Not supported yet.");
+//        SimpleCommand cmd = new SimpleCommand(connector.counter.getAndIncrement(), SimpleCommandName.RequestLookupSession, null);
+//        Message msg = new Message(connector.getSessionId(), connector.counter.incrementAndGet(), false, cmd);
+//        BlockingMessageDirectoryMapRequestResponseHandler handler = new BlockingMessageDirectoryMapRequestResponseHandler();
+//        connector.write(msg, handler);
+//        SimpleCommand resultcmd = (SimpleCommand)handler.getMessage().getPayload();
+//        return (Map<String,String>)resultcmd.getArguments().get(0);
+    }
+
+    public void registerKBase(String kbaseId, String resourceId) throws ConnectorException {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public KnowledgeBase lookupKBase(String kbaseId) throws ConnectorException {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public void addService(GenericNodeConnector service) {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public Map<String, String> getDirectoryMap() throws ConnectorException {
+
+        SimpleCommand cmd = new SimpleCommand(connector.counter.getAndIncrement(), SimpleCommandName.RequestDirectoryMap, null);
+        Message msg = new Message(connector.getSessionId(), connector.counter.incrementAndGet(), false, cmd);
+        BlockingMessageDirectoryMapRequestResponseHandler handler = new BlockingMessageDirectoryMapRequestResponseHandler();
+        connector.write(msg, handler);
+        SimpleCommand resultcmd = (SimpleCommand)handler.getMessage().getPayload();
+        return (Map<String,String>)resultcmd.getArguments().get(0);
+    }
+
+    public DirectoryNodeService getDirectoryNodeService() {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public void connect() throws ConnectorException {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public void disconnect() throws ConnectorException {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public Message write(Message msg) throws ConnectorException {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public String getId() throws ConnectorException {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public GenericConnection getConnection() {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public void write(Message msg, MessageResponseHandler responseHandler) {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public String lookupId(String resourceId) throws ConnectorException {
+        SimpleCommand cmd = new SimpleCommand(connector.counter.getAndIncrement(), SimpleCommandName.RequestLookupSession, null);
+        Message msg = new Message(connector.getSessionId(), connector.counter.incrementAndGet(), false, cmd);
+        BlockingMessageDirectoryMapRequestResponseHandler handler = new BlockingMessageDirectoryMapRequestResponseHandler();
+        connector.write(msg, handler);
+        SimpleCommand resultcmd = (SimpleCommand)handler.getMessage().getPayload();
+        return (String)resultcmd.getArguments().get(0);
+    }
+
+}

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteImpl.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteImpl.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -1,109 +0,0 @@
-/*
- *  Copyright 2010 salaboy.
- * 
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- * 
- *       http://www.apache.org/licenses/LICENSE-2.0
- * 
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *  under the License.
- */
-package org.drools.grid.remote.directory;
-
-import java.rmi.RemoteException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.atomic.AtomicInteger;
-import org.drools.KnowledgeBase;
-import org.drools.grid.DirectoryNodeService;
-import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.internal.Message;
-import org.drools.grid.internal.MessageResponseHandler;
-
-/**
- *
- * @author salaboy
- */
-public class DirectoryNodeRemoteImpl implements DirectoryNodeService {
-    private final GenericNodeConnector client;
-    private AtomicInteger counter;
-    private int sessionId;
-    private String clientName;
-    
-
-    public DirectoryNodeRemoteImpl(String name, GenericNodeConnector client) {
-        this.clientName = name;
-        this.client = client;
-
-    }
-
-    public String getId() throws RemoteException {
-        return this.clientName;
-    }
-
-    public void register(String executorId, String resourceId) throws RemoteException {
-        System.out.println("Registering: " + executorId + " -- " + resourceId);
-        directoryMap.put(executorId, resourceId);
-    }
-
-    public GenericNodeConnector lookup(String executorId) throws RemoteException {
-        GenericNodeConnector sessionService = null;
-        String sessionServiceId = (String) directoryMap.get(executorId);
-        System.out.println("Registry = " + directoryMap.toString());
-        System.out.println("Nodes Services = " + services);
-        for (GenericNodeConnector ss : services) {
-            System.out.println("Session Service id = " + ss.getId() + "needs to match with =" + sessionServiceId);
-            if (ss.getId().equals(sessionServiceId)) {
-                sessionService = ss;
-            }
-        }
-
-        return sessionService;
-    }
-
-    public void registerKBase(String kbaseId, String sessionServiceId) throws RemoteException {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    public KnowledgeBase lookupKBase(String kbaseId) throws RemoteException {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    public void addService(GenericNodeConnector service) {
-        services.add(service);
-    }
-
-    public Map<String, String> getDirectoryMap() {
-        return directoryMap;
-    }
-
-    public boolean connect() throws RemoteException {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    public void disconnect() throws RemoteException {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    public Message write(Message msg) throws RemoteException {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    public GenericConnection getConnection() {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    public void write(Message msg, MessageResponseHandler responseHandler) {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryServerMessageHandlerImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryServerMessageHandlerImpl.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryServerMessageHandlerImpl.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -1,78 +1,97 @@
 package org.drools.grid.remote.directory;
 
-
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
 import org.drools.SystemEventListener;
+import org.drools.grid.DirectoryNodeService;
 
 import org.drools.grid.local.DirectoryNodeLocalImpl;
 import org.drools.grid.internal.GenericIoWriter;
 import org.drools.grid.internal.GenericMessageHandler;
 import org.drools.grid.internal.Message;
 import org.drools.grid.internal.commands.SimpleCommand;
+import org.drools.grid.internal.commands.SimpleCommandName;
 
+public class DirectoryServerMessageHandlerImpl implements GenericMessageHandler {
 
-public class DirectoryServerMessageHandlerImpl implements GenericMessageHandler {
-    
     private final Map<String, GenericIoWriter> clients;
     //We can create a persistent directory service and provide access to that service
-    private DirectoryNodeLocalImpl directory;
-  
+    private DirectoryNodeService directory = new DirectoryNodeLocalImpl();
     private final SystemEventListener systemEventListener;
 
-    public DirectoryServerMessageHandlerImpl( SystemEventListener systemEventListener) {
-        
+    public DirectoryServerMessageHandlerImpl(SystemEventListener systemEventListener) {
+
         this.clients = new HashMap<String, GenericIoWriter>();
         this.systemEventListener = systemEventListener;
     }
 
-    
     public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
         systemEventListener.exception("Uncaught exception on Server", cause);
     }
 
-    
     public void messageReceived(GenericIoWriter session, Message msg) throws Exception {
-        SimpleCommand cmd = (SimpleCommand) ((Message)msg).getPayload();
-        
-        
+        SimpleCommand cmd = (SimpleCommand) ((Message) msg).getPayload();
         try {
             systemEventListener.debug("Message received on server : " + cmd.getName());
-            systemEventListener.debug("Arguments : " + Arrays.toString(cmd.getArguments().toArray()));
+  //          systemEventListener.debug("Arguments : " + Arrays.toString(cmd.getArguments().toArray()));
             switch (cmd.getName()) {
                 case RegisterExecutor: {
-                    
-                    
+                    systemEventListener.debug("Command receieved on server was operation of type: RegisterExecutor");
+                    String executorId = (String) cmd.getArguments().get(0);
+                    String resourceId = (String) cmd.getArguments().get(1);
+                    directory.register(executorId, resourceId);
+                    System.out.println("Registered in Remote Directory => ExecutorId "+executorId+" - resourceId = "+resourceId);
 
-                    systemEventListener.debug("Command receieved on server was operation of type: RegisterExecutor" );
+                    SimpleCommand resultsCmnd = new SimpleCommand(cmd.getId(), SimpleCommandName.OperationResponse, null);
+                    session.write(new Message( msg.getSessionId(),
+                                        msg.getResponseId(),
+                                        msg.isAsync(),
+                                        resultsCmnd ), null);
 
-                    String executorId = (String) cmd.getArguments().get(1);
-                    String resourceId = (String) cmd.getArguments().get(2);
+                    break;
+                }
+                case RequestDirectoryMap: {
 
-                    directory.register(executorId, resourceId);
-                    
+                    Map<String, String> directoryMap = directory.getDirectoryMap();
+                    List<Object> results = new ArrayList<Object>(1);
+                    results.add(directoryMap);
+                    SimpleCommand resultsCmnd = new SimpleCommand(cmd.getId(), SimpleCommandName.OperationResponse, results);
+                    session.write(new Message( msg.getSessionId(),
+                                        msg.getResponseId(),
+                                        msg.isAsync(),
+                                        resultsCmnd ), null);
                     break;
                 }
-                
+                case RequestLookupSession: {
+
+                    String executorId = (String) cmd.getArguments().get(0);
+                    String resourceId = directory.getDirectoryMap().get(executorId);
+                    List<Object> results = new ArrayList<Object>(1);
+                    results.add(resourceId);
+                    SimpleCommand resultsCmnd = new SimpleCommand(cmd.getId(), SimpleCommandName.OperationResponse, results);
+                    session.write(new Message( msg.getSessionId(),
+                                        msg.getResponseId(),
+                                        msg.isAsync(),
+                                        resultsCmnd ), null);
+                    break;
+                }
                 default: {
                     systemEventListener.debug("Unknown command recieved on server");
                 }
             }
         } catch (RuntimeException e) {
-            systemEventListener.exception(e.getMessage(),e);
+            systemEventListener.exception(e.getMessage(), e);
             e.printStackTrace(System.err);
-           
-        } 
+        }
     }
 
-    
     public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
         systemEventListener.debug("Server IDLE " + session.getIdleCount(status));
     }
-
-
-}
\ No newline at end of file
+}

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -0,0 +1,164 @@
+/*
+ *  Copyright 2010 salaboy.
+ * 
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ * 
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *  under the License.
+ */
+
+package org.drools.grid.remote.directory;
+
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.rmi.RemoteException;
+import java.util.UUID;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+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.SystemEventListener;
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.ConnectorException;
+import org.drools.grid.DirectoryNodeService;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
+import org.drools.grid.local.DirectoryNodeLocalImpl;
+import org.drools.grid.remote.RemoteConnection;
+import org.drools.grid.remote.mina.MinaIoHandler;
+
+/**
+ *
+ * @author salaboy
+ */
+public class MinaRemoteDirectoryConnector implements GenericDirectoryConnector{
+    private static DirectoryNodeService directoryNode;
+    private static RemoteConnection connection;
+    private String providerName;
+    private int sessionId;
+    private SystemEventListener eventListener;
+    protected IoSession session;
+    protected AtomicInteger counter;
+    protected SocketConnector connector;
+    protected SocketAddress address;
+
+    
+
+    public MinaRemoteDirectoryConnector(String providerName, String providerAddress,
+                            int providerPort, SystemEventListener systemEventListener) {
+        SocketConnector minaconnector = new NioSocketConnector();
+        minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
+        if (providerName == null) {
+            throw new IllegalArgumentException("Name can not be null");
+        }
+        this.counter = new AtomicInteger();
+        this.providerName = providerName;
+        this.eventListener = systemEventListener;
+        this.address = new InetSocketAddress(providerAddress, providerPort);
+        this.connector = minaconnector;
+        this.directoryNode = new DirectoryNodeRemoteClient(this);
+
+    }
+
+    public DirectoryNodeService getDirectoryNodeService() {
+        return directoryNode;
+    }
+
+    public void connect() throws ConnectorException {
+        if (session != null && session.isConnected()) {
+            throw new IllegalStateException("Already connected. Disconnect first.");
+        }
+
+        try {
+            this.connector.getFilterChain().addLast("codec"+UUID.randomUUID().toString(),
+                    new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
+            System.out.println("Connecting to Server "+this.address);
+            ConnectFuture future1 = this.connector.connect(this.address);
+            future1.await(2000);
+            if (!future1.isConnected()) {
+                eventListener.info("unable to connect : " + address + " : " + future1.getException());
+                Logger.getLogger(MinaRemoteDirectoryConnector.class.getName()).log(Level.SEVERE, null, "The Directory Connection Failed!");
+                throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
+            }
+            eventListener.info("connected : " + address);
+            this.session = future1.getSession();
+            
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ConnectorException(e);
+        }
+    }
+
+    public void disconnect() throws ConnectorException {
+        System.out.println("DisConnected to Server "+this.address);
+        if (session != null && session.isConnected()) {
+            session.close();
+            session.getCloseFuture().join();
+        }
+    }
+
+    public Message write(Message msg) throws ConnectorException{
+        BlockingMessageResponseHandler responseHandler = new BlockingMessageResponseHandler();
+
+        if (responseHandler != null) {
+            addResponseHandler(msg.getResponseId(),
+                    responseHandler);
+        }
+        this.session.write(msg);
+
+        Message returnMessage = responseHandler.getMessage();
+        if (responseHandler.getError() != null) {
+            throw responseHandler.getError();
+        }
+
+        return returnMessage;
+    }
+
+    public String getId() {
+        return String.valueOf(session.getId());
+    }
+
+    public GenericConnection getConnection() {
+        if(connection == null){
+            connection = new RemoteConnection();
+        }
+        return connection;
+    }
+
+    public void write(Message msg, MessageResponseHandler responseHandler) {
+        if (responseHandler != null) {
+            addResponseHandler(msg.getResponseId(),
+                    responseHandler);
+        }
+        this.session.write(msg);
+    }
+
+    private void addResponseHandler(int id,
+            MessageResponseHandler responseHandler) {
+        ((MinaIoHandler) this.connector.getHandler()).addResponseHandler(id,
+                responseHandler);
+
+    }
+    public int getSessionId() {
+        return (int) session.getId();
+    }
+
+}
+
+

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -16,6 +16,7 @@
  */
 
 public interface DirectoryNodeService extends GenericDirectoryConnector {
+
     public void register(String executorId, String resourceId) throws ConnectorException;
     public void register(String executorId, GenericNodeConnector resourceConnector) throws ConnectorException;
     public GenericNodeConnector lookup(String resourceId) throws ConnectorException;

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericNodeConnector.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericNodeConnector.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -14,4 +14,5 @@
     String getId() throws ConnectorException;
 
     GenericConnection getConnection();
+
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/SimpleCommandName.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/SimpleCommandName.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/SimpleCommandName.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -77,5 +77,9 @@
     
     RegisterClient,
 
-    RegisterExecutor
+    RegisterExecutor,
+    RequestDirectoryMap,
+    ResponseDirectoryMap,
+    RequestLookupSession,
+    ResponseLookupSession
 }

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/responsehandlers/BlockingMessageDirectoryMapRequestResponseHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/responsehandlers/BlockingMessageDirectoryMapRequestResponseHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/responsehandlers/BlockingMessageDirectoryMapRequestResponseHandler.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -0,0 +1,38 @@
+/**
+ *
+ */
+package org.drools.grid.internal.responsehandlers;
+
+import java.util.List;
+import java.util.Map;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+import org.drools.grid.internal.commands.SimpleCommand;
+
+public class BlockingMessageDirectoryMapRequestResponseHandler extends AbstractBlockingResponseHandler
+    implements
+    MessageResponseHandler {
+    private static final int ATTACHMENT_ID_WAIT_TIME = 100000;
+    private static final int CONTENT_ID_WAIT_TIME    = 50000;
+    private Map<String,String> directoryMap;
+    private volatile Message message;
+
+    public synchronized void receive(Message message) {
+        this.message = message;
+        
+        setDone( true );
+    }
+
+   
+
+    public Message getMessage() {
+        boolean done = waitTillDone( CONTENT_ID_WAIT_TIME );
+
+        if ( !done ) {
+            throw new RuntimeException( "Timeout : unable to retrieve Object Id" );
+        }
+
+        return this.message;
+    }
+
+}
\ No newline at end of file

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -118,4 +118,8 @@
         throw new UnsupportedOperationException("Not supported yet.");
     }
 
+    public String lookupId(String resourceId) {
+        return this.directoryMap.get(resourceId);
+    }
+
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -42,7 +42,7 @@
     }
 
     public void disconnect() throws ConnectorException {
-        throw new UnsupportedOperationException("Not supported yet.");
+        //do nothing, it's local!
     }
 
     public Message write(Message msg) throws ConnectorException {

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -22,6 +22,7 @@
 import org.drools.builder.DirectoryLookupFactoryService;
 import org.drools.command.FinishedCommand;
 import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.grid.DirectoryNodeService;
 import org.drools.runtime.CommandExecutor;
 import org.drools.runtime.ExecutionResults;
 import org.drools.runtime.StatefulKnowledgeSession;
@@ -29,6 +30,7 @@
 import org.drools.grid.internal.commands.RegisterCommand;
 import org.drools.grid.ConnectorException;
 import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericDirectoryConnector;
 import org.drools.grid.GenericNodeConnector;
 import org.drools.grid.internal.Message;
 import org.drools.grid.internal.MessageSession;
@@ -62,10 +64,10 @@
                 throw new IllegalArgumentException("Type is not supported for registration");
             }
             Message msg = new Message(messageSession.getSessionId(), messageSession.getCounter().incrementAndGet(), false, new KnowledgeContextResolveFromContextCommand(new RegisterCommand(identifier, ((StatefulKnowledgeSessionRemoteClient) executor).getInstanceId(), type), null, null, null, null));
-
-
-            System.out.println("Registering " + identifier + " - - " + client.getId() +" in dir Node = "+connection.getDirectoryNode());
-            connection.getDirectoryNode().register(identifier, client);
+            DirectoryNodeService directoryNode = connection.getDirectoryNode();
+            System.out.println("Registering " + identifier + " - - " + client.getId() +" in dir Node = "+directoryNode);
+            directoryNode.register(identifier, client);
+            
             try {
                 Object object = client.write(msg).getPayload();
                 if (!(object instanceof FinishedCommand)) {
@@ -87,10 +89,10 @@
             String kresultsId = "kresults_" + messageSession.getSessionId();
             Message msg = new Message(messageSession.getSessionId(), messageSession.getCounter().incrementAndGet(), false, new KnowledgeContextResolveFromContextCommand(new LookupCommand(identifier, commandId), null, null, null, kresultsId));
             System.out.println("Looking up the session with identifier = " + identifier +" in dir node = "+connection.getDirectoryNode());
-            client = connection.getDirectoryNode().lookup(identifier);
-            System.out.println("Client = "+client);
+            GenericNodeConnector executionClient = connection.getDirectoryNode().lookup(identifier);
+            System.out.println("Client = "+executionClient);
             try {
-                Object object = client.write(msg).getPayload();
+                Object object = executionClient.write(msg).getPayload();
                 if (object == null) {
                     throw new RuntimeException("Response was not correctly received");
                 }
@@ -100,7 +102,7 @@
                 CommandExecutor executor = null;
                 switch (Integer.parseInt(type)) {
                     case 0: {
-                        executor = new StatefulKnowledgeSessionRemoteClient(instanceId, client, messageSession);
+                        executor = new StatefulKnowledgeSessionRemoteClient(instanceId, executionClient, messageSession);
                         break;
                     }
                     default: {

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -34,7 +34,6 @@
 import org.drools.grid.strategies.NodeSelectionStrategy;
 import org.drools.grid.strategies.StaticIncrementalSelectionStrategy;
 
-
 /**
  *
  * @author salaboy
@@ -45,7 +44,6 @@
     private List<GenericNodeConnector> executionNodeConnectors;
     //Cached Directories
     private List<GenericDirectoryConnector> directoryNodeConnectors;
-
     private List<GenericNodeConnector> humanTaskNodeConnectors;
 
     public RemoteConnection() {
@@ -120,7 +118,7 @@
     }
 
     public DirectoryNodeService getDirectoryNode(DirectoryServiceSelectionStrategy directorySelectionStrategy) throws ConnectorException {
-        if(directoryNodeConnectors.size() == 0){
+        if (directoryNodeConnectors.size() == 0) {
             return null;
         }
         GenericDirectoryConnector connector = directoryNodeConnectors.get(0);
@@ -142,12 +140,12 @@
     }
 
     public HumanTaskNodeService getTaskService() {
-       return getTaskService(null);
+        return getTaskService(null);
     }
 
     public List<ExecutionNode> getExecutionNodes() throws ConnectorException {
         List<ExecutionNode> executionNodes = new ArrayList<ExecutionNode>();
-        for(GenericNodeConnector connector : executionNodeConnectors){
+        for (GenericNodeConnector connector : executionNodeConnectors) {
             ExecutionNode node = null;
 			connector.connect();
 		    node = new ExecutionNode();
@@ -170,5 +168,4 @@
     public List<HumanTaskNodeService> getTaskServices() {
         throw new UnsupportedOperationException("not Implemented yet!");
     }
-
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -34,6 +34,7 @@
     protected SocketConnector connector;
     protected SocketAddress address;
     protected SystemEventListener eventListener;
+    protected RemoteConnection connection;
 
     public MinaRemoteNodeConnector(String name,
             SocketConnector connector,
@@ -47,6 +48,7 @@
         this.address = address;
         this.connector = connector;
         this.eventListener = eventListener;
+        this.connection = new RemoteConnection();
 
     }
 
@@ -65,6 +67,7 @@
         this.address = new InetSocketAddress(providerAddress, providerPort);
         this.connector = minaconnector;
         this.eventListener = eventListener;
+        this.connection = new RemoteConnection();
     }
 
 
@@ -82,7 +85,7 @@
             future1.await(2000);
             if (!future1.isConnected()) {
                 eventListener.info("unable to connect : " + address + " : " + future1.getException());
-    		    Logger.getLogger(MinaRemoteNodeConnector.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
+    		Logger.getLogger(MinaRemoteNodeConnector.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
                 throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
             }
             eventListener.info("connected : " + address);
@@ -93,9 +96,7 @@
         }
     }
 
-    /* (non-Javadoc)
-     * @see org.drools.vsm.mina.Messenger#disconnect()
-     */
+    
     public void disconnect() throws ConnectorException {
         if (session != null && session.isConnected()) {
             session.close();
@@ -144,6 +145,6 @@
     }
 
     public GenericConnection getConnection(){
-        return new RemoteConnection();
+        return this.connection;
     }
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/pom.xml	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/pom.xml	2010-06-18 21:49:36 UTC (rev 33556)
@@ -75,6 +75,12 @@
             <version>4.8.1</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.drools</groupId>
+            <artifactId>drools-grid-remote-dir-min</artifactId>
+            <version>5.1.0.SNAPSHOT</version>
+            <type>jar</type>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -68,5 +68,7 @@
         return name;
     }
 
+
+
     
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -46,6 +46,15 @@
         GenericConnection connection = connector.getConnection();
         //Adding the connector to the conection collection of connectors
         connection.addExecutionNode(connector);
+        //We need to add all the other exec envs connectors inside this connection
+        for(ExecutionEnvironment e : executionEnvironments.values()){
+            connection.addExecutionNode(e.getConnector());
+        }
+        //We need to add all the other directory connectors inside this connection
+        for(DirectoryInstance d : directories.values()){
+            connection.addDirectoryNode(d.getConnector());
+        }
+       
         //Adding the connection to the Topology's list of connections
         connections.put(name, connection);
         //Adding the env to the local cache
@@ -59,7 +68,17 @@
         DirectoryInstance directory = new DirectoryInstance(name, provider);
         GenericDirectoryConnector connector =  directory.getConnector();
         GenericConnection connection = connector.getConnection();
+
+
         connection.addDirectoryNode(connector);
+        
+        for(ExecutionEnvironment e : executionEnvironments.values()){
+            connection.addExecutionNode(e.getConnector());
+        }
+        for(DirectoryInstance d : directories.values()){
+            connection.addDirectoryNode(d.getConnector());
+        }
+
         connections.put(name, connection);
         directories.put(name, directory);
         registerGridResourceInCurrentDirectories(name, provider.getId());
@@ -83,8 +102,10 @@
                 DirectoryNodeService directoryNode = directory.getDirectoryService();
                 if( directoryNode != null){
                     directoryNode.register(name, resourceId);
+                    directory.getConnector().disconnect();
                 }
 
+
         }
     }
     

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaDirectoryProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaDirectoryProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaDirectoryProvider.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -0,0 +1,61 @@
+package org.drools.grid.services.remote;
+
+
+
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.services.DirectoryInstance;
+import org.drools.grid.services.GenericDirectoryProvider;
+import org.drools.grid.remote.directory.MinaRemoteDirectoryConnector;
+/**
+ * @author salaboy
+ */
+public class MinaDirectoryProvider extends GenericDirectoryProvider {
+
+    private transient GenericDirectoryConnector connector;
+    private String providerName;
+    private String providerAddress;
+    private int providerPort;
+
+    public MinaDirectoryProvider(String providerName, String providerAddress, int providerPort) {
+        this.providerName = providerName;
+        this.providerAddress = providerAddress;
+        this.providerPort = providerPort;
+        initializeConnector();
+    }
+
+   
+    private void initializeConnector(){
+        connector = new MinaRemoteDirectoryConnector(providerName,providerAddress, providerPort,
+                                    SystemEventListenerFactory.getSystemEventListener());
+    }
+
+    
+    @Override
+    public DirectoryInstance getDirectoryInstance(String name) {
+        return new DirectoryInstance(name, this);
+    }
+
+    @Override
+    public GenericDirectoryConnector getDirectoryConnector() {
+        return this.connector;
+    }
+
+    public String getProviderAddress() {
+        return providerAddress;
+    }
+
+    public String getProviderName() {
+        return providerName;
+    }
+
+    public int getProviderPort() {
+        return providerPort;
+    }
+
+    @Override
+    public String getId() {
+        return "MinaDirectoryProvider:"+providerName+":"+providerAddress+":"+providerPort;
+    }
+
+}

Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaNodeProvider.java (from rev 33532, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaNodeProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaNodeProvider.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -0,0 +1,65 @@
+package org.drools.grid.services.remote;
+
+
+
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
+import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GenericNodeProvider;
+
+/**
+ * @author salaboy
+ */
+public class MinaNodeProvider extends GenericNodeProvider {
+
+    private transient GenericNodeConnector connector;
+    private String providerName;
+    private String providerAddress;
+    private int providerPort;
+
+    public MinaNodeProvider(String providerName, String providerAddress, int providerPort) {
+        this.providerName = providerName;
+        this.providerAddress = providerAddress;
+        this.providerPort = providerPort;
+        initializeConnector();
+    }
+
+    
+
+   
+    private void initializeConnector(){
+
+        connector = new MinaRemoteNodeConnector(providerName,providerAddress, providerPort,
+                                    SystemEventListenerFactory.getSystemEventListener());
+    }
+
+    
+    @Override
+    public ExecutionEnvironment getExecutionEnvironment(String name) {
+        return new ExecutionEnvironment(name, this);
+    }
+
+    @Override
+    public GenericNodeConnector getNodeConnector() {
+        return this.connector;
+    }
+
+    public String getProviderAddress() {
+        return providerAddress;
+    }
+
+    public String getProviderName() {
+        return providerName;
+    }
+
+    public int getProviderPort() {
+        return providerPort;
+    }
+
+    @Override
+    public String getId() {
+        return "MinaEnvironmentProvider:"+providerName+":"+providerAddress+":"+providerPort;
+    }
+
+}

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -1,65 +0,0 @@
-package org.drools.grid.services.remote;
-
-
-
-import org.drools.SystemEventListenerFactory;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
-import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericNodeProvider;
-
-/**
- * @author salaboy
- */
-public class MinaProvider extends GenericNodeProvider {
-
-    private transient GenericNodeConnector connector;
-    private String providerName;
-    private String providerAddress;
-    private int providerPort;
-
-    public MinaProvider(String providerName, String providerAddress, int providerPort) {
-        this.providerName = providerName;
-        this.providerAddress = providerAddress;
-        this.providerPort = providerPort;
-        initializeConnector();
-    }
-
-    
-
-   
-    private void initializeConnector(){
-
-        connector = new MinaRemoteNodeConnector(providerName,providerAddress, providerPort,
-                                    SystemEventListenerFactory.getSystemEventListener());
-    }
-
-    
-    @Override
-    public ExecutionEnvironment getExecutionEnvironment(String name) {
-        return new ExecutionEnvironment(name, this);
-    }
-
-    @Override
-    public GenericNodeConnector getNodeConnector() {
-        return this.connector;
-    }
-
-    public String getProviderAddress() {
-        return providerAddress;
-    }
-
-    public String getProviderName() {
-        return providerName;
-    }
-
-    public int getProviderPort() {
-        return providerPort;
-    }
-
-    @Override
-    public String getId() {
-        return "MinaEnvironmentProvider:"+providerName+":"+providerAddress+":"+providerPort;
-    }
-
-}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -25,7 +25,7 @@
 import org.drools.grid.services.ExecutionEnvironment;
 import org.drools.grid.services.GenericNodeProvider;
 import org.drools.grid.services.local.LocalNodeProvider;
-import org.drools.grid.services.remote.MinaProvider;
+import org.drools.grid.services.remote.MinaNodeProvider;
 
 /**
  *
@@ -45,7 +45,7 @@
                     put(LocalNodeProvider.class, 1);
                     // put("RioEnvironmentProvider", 2);
                     // put("HornetQEnvironmentProvider", 3);
-                    put(MinaProvider.class, 4);
+                    put(MinaNodeProvider.class, 4);
                 }
             };
 

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -22,7 +22,7 @@
 import org.drools.grid.remote.mina.MinaIoHandler;
 import org.drools.grid.services.ExecutionEnvironment;
 import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.remote.MinaProvider;
+import org.drools.grid.services.remote.MinaNodeProvider;
 import org.drools.grid.services.strategies.RandomEnvironmentSelectionStrategy;
 import org.drools.io.ResourceFactory;
 import org.drools.runtime.StatefulKnowledgeSession;
@@ -100,7 +100,7 @@
 
       
         //Create the provider
-        MinaProvider provider = new MinaProvider("Mina1", "127.0.0.1", 9123);
+        MinaNodeProvider provider = new MinaNodeProvider("Mina1", "127.0.0.1", 9123);
         //Register the provider into the topology
         grid.registerExecutionEnvironment("MyMinaExecutionEnv1", provider);
 
@@ -173,13 +173,13 @@
 
        
         //Create the provider
-        MinaProvider provider1 = new MinaProvider("Mina1", "127.0.0.1", 9123);
+        MinaNodeProvider provider1 = new MinaNodeProvider("Mina1", "127.0.0.1", 9123);
         //Register the provider into the topology
         grid.registerExecutionEnvironment("MyMinaExecutionEnv1", provider1);
 
 
         //Create the provider
-         MinaProvider provider2 = new MinaProvider("Mina1", "127.0.0.1", 9124);
+         MinaNodeProvider provider2 = new MinaNodeProvider("Mina1", "127.0.0.1", 9124);
         //Register the provider into the topology
         grid.registerExecutionEnvironment("MyMinaExecutionEnv2", provider2);
 

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -22,19 +22,33 @@
 import java.rmi.RemoteException;
 import org.apache.mina.transport.socket.SocketAcceptor;
 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactoryService;
 import org.drools.SystemEventListenerFactory;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.builder.ResourceType;
+import org.drools.grid.ConnectorException;
 import org.drools.grid.DirectoryNodeService;
+import org.drools.grid.ExecutionNode;
 import org.drools.grid.internal.GenericMessageHandlerImpl;
 import org.drools.grid.internal.NodeData;
 //import org.drools.grid.remote.directory.DirectoryServerMessageHandlerImpl;
+import org.drools.grid.remote.directory.DirectoryServerMessageHandlerImpl;
 import org.drools.grid.remote.mina.MinaAcceptor;
 import org.drools.grid.remote.mina.MinaIoHandler;
 import org.drools.grid.services.DirectoryInstance;
+import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GenericDirectoryProvider;
 import org.drools.grid.services.GenericNodeProvider;
 import org.drools.grid.services.GridTopology;
 import org.drools.grid.services.local.LocalNodeProvider;
-import org.drools.grid.services.remote.MinaProvider;
+import org.drools.grid.services.remote.MinaDirectoryProvider;
+import org.drools.grid.services.remote.MinaNodeProvider;
 import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.StatefulKnowledgeSession;
 
 
 import org.junit.After;
@@ -67,85 +81,143 @@
     @Before
     public void setUp() throws InterruptedException, IOException {
 
-       
-//         // Human task Server configuration
-//        SocketAddress dirAddress = new InetSocketAddress("127.0.0.1", 9123);
-//        SocketAcceptor dirAcceptor = new NioSocketAcceptor();
-//
-//        dirAcceptor.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener(),
-//                new DirectoryServerMessageHandlerImpl(
-//                SystemEventListenerFactory.getSystemEventListener())));
-//        this.serverDir = new MinaAcceptor(dirAcceptor, dirAddress);
-//        this.serverDir.start();
-//        Thread.sleep(5000);
-//        // End Execution Server
-//
-//        //Execution Node related stuff
-//
-//           System.out.println("Server 1 Starting!");
-//        // the servers should be started in a different machine (jvm or physical) or in another thread
-//        SocketAddress address = new InetSocketAddress("127.0.0.1", 9124);
-//        NodeData nodeData = new NodeData();
-//        // setup Server
-//        SocketAcceptor acceptor = new NioSocketAcceptor();
-//        acceptor.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener(),
-//                new GenericMessageHandlerImpl(nodeData,
-//                SystemEventListenerFactory.getSystemEventListener())));
-//        serverNode = new MinaAcceptor(acceptor, address);
-//        serverNode.start();
-//        System.out.println("Server 1 Started! at = " + address.toString());
-//
-//        Thread.sleep(5000);
+       System.out.println("Dir Server 1 Starting!");
+         // Directory Server configuration
+        SocketAddress dirAddress = new InetSocketAddress("127.0.0.1", 9123);
+        SocketAcceptor dirAcceptor = new NioSocketAcceptor();
 
+        dirAcceptor.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener(),
+                new DirectoryServerMessageHandlerImpl(
+                SystemEventListenerFactory.getSystemEventListener())));
+        this.serverDir = new MinaAcceptor(dirAcceptor, dirAddress);
+        this.serverDir.start();
+        System.out.println("Dir Server 1 Started! at = " + dirAddress.toString());
+        Thread.sleep(5000);
+        // End Execution Server
+
+        //Execution Node related stuff
+
+           System.out.println("Exec Server 1 Starting!");
+        // the servers should be started in a different machine (jvm or physical) or in another thread
+        SocketAddress address = new InetSocketAddress("127.0.0.1", 9124);
+        NodeData nodeData = new NodeData();
+        // setup Server
+        SocketAcceptor acceptor = new NioSocketAcceptor();
+        acceptor.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener(),
+                new GenericMessageHandlerImpl(nodeData,
+                SystemEventListenerFactory.getSystemEventListener())));
+        serverNode = new MinaAcceptor(acceptor, address);
+        serverNode.start();
+        System.out.println("Exec Server 1 Started! at = " + address.toString());
+
+        Thread.sleep(5000);
+
     }
 
     @After
-    public void tearDown() throws InterruptedException {
-      
+    public void tearDown() throws InterruptedException, ConnectorException {
 
-//        grid.disconectAllClients();
-//
-//
-//
-//
-//
-//        serverNode.stop();
-//        System.out.println("Execution Server Stopped!");
-//
-//        serverDir.stop();
-//        System.out.println("Dir Server Stopped!");
-        
-       
-        
-        
+        grid.disconectAllClients();
 
+        serverNode.stop();
+        System.out.println("Execution Server Stopped!");
 
+        serverDir.stop();
+        System.out.println("Dir Server Stopped!");
 
     }
 
     @Test
-     public void directoryRemoteTest() {
-//        GridTopology grid = new GridTopology("MyBusinessUnit");
-//
-//        GenericProvider remoteDirProvider = new MinaProvider("MyMinaDir", "127.0.0.1", 9123);
-//        GenericProvider localEnvProvider = new LocalProvider();
-//
-//        MinaProvider remoteEnvProvider = new MinaProvider("Mina1", "127.0.0.1", 9124);
-//
-//        grid.registerDirectoryInstance("MyMinaDir", remoteDirProvider);
-//        grid.registerExecutionEnvironment("MyLocalEnv", localEnvProvider);
-//        grid.registerExecutionEnvironment("MyRemoteEnv", remoteEnvProvider);
-//
-//
-//        DirectoryInstance directory = grid.getBestDirectoryInstance(new DirectoryInstanceByPrioritySelectionStrategy());
-//        Assert.assertNotNull(directory);
-//
-//        DirectoryNodeService dir = directory.getDirectoryService();
-//        Assert.assertNotNull(dir);
-//
-//        Assert.assertEquals(2, dir.getDirectoryMap().size());
+     public void directoryRemoteTest() throws ConnectorException {
+        grid = new GridTopology("MyBusinessUnit");
 
+        GenericDirectoryProvider remoteDirProvider = new MinaDirectoryProvider("MyMinaDir", "127.0.0.1", 9123);
+        GenericNodeProvider localEnvProvider = new LocalNodeProvider();
 
+        MinaNodeProvider remoteEnvProvider = new MinaNodeProvider("Mina1", "127.0.0.1", 9124);
+
+        grid.registerDirectoryInstance("MyMinaDir", remoteDirProvider);
+        grid.registerExecutionEnvironment("MyLocalEnv", localEnvProvider);
+        grid.registerExecutionEnvironment("MyRemoteEnv", remoteEnvProvider);
+
+
+        DirectoryInstance directory = grid.getBestDirectoryInstance(new DirectoryInstanceByPrioritySelectionStrategy());
+        Assert.assertNotNull(directory);
+
+        DirectoryNodeService dir = directory.getDirectoryService();
+        Assert.assertNotNull(dir);
+
+        Assert.assertNotNull("Dir Null", dir.getDirectoryMap());
+
+        Assert.assertEquals(3, dir.getDirectoryMap().size());
+
+        System.out.println("dir.getDirectoryMap() = "+dir.getDirectoryMap());
+
+        dir.register("blah", "blah");
+
+        Assert.assertEquals(4, dir.getDirectoryMap().size());
+
+
+
+
+
+                //Then we can get the registered Execution Environments by Name
+
+        ExecutionEnvironment ee = grid.getExecutionEnvironment("MyRemoteEnv");
+        Assert.assertNotNull(ee);
+
+        // Give me an ExecutionNode in the selected environment
+        // For the Mina we have just one Execution Node per server instance
+        ExecutionNode node = grid.getExecutionNode(ee);
+
+        Assert.assertNotNull(node);
+
+
+        // Do a basic Runtime Test that register a ksession and fire some rules.
+        String str = "";
+        str += "package org.drools \n";
+        str += "global java.util.List list \n";
+        str += "rule rule1 \n";
+        str += "    dialect \"java\" \n";
+        str += "when \n";
+        str += "then \n";
+        str += "    System.out.println( \"hello1!!!\" ); \n";
+        str += "end \n";
+        str += "rule rule2 \n";
+        str += "    dialect \"java\" \n";
+        str += "when \n";
+        str += "then \n";
+        str += "    System.out.println( \"hello2!!!\" ); \n";
+        str += "end \n";
+
+
+        KnowledgeBuilder kbuilder =
+                node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+        kbuilder.add(ResourceFactory.newByteArrayResource(str.getBytes()),
+                ResourceType.DRL);
+
+        if (kbuilder.hasErrors()) {
+            System.out.println("Errors: " + kbuilder.getErrors());
+        }
+
+        KnowledgeBase kbase =
+                node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+        Assert.assertNotNull(kbase);
+
+        kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
+
+        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+        Assert.assertNotNull(ksession);
+
+        node.get(DirectoryLookupFactoryService.class).register("ksession1", ksession);
+
+        int fired = ksession.fireAllRules();
+        Assert.assertEquals(2, fired);
+
+
+
+
+
      }
 
    

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -45,7 +45,7 @@
 import org.drools.grid.services.GenericNodeProvider;
 import org.drools.grid.services.GridTopology;
 import org.drools.grid.services.TaskServerInstance;
-import org.drools.grid.services.remote.MinaProvider;
+import org.drools.grid.services.remote.MinaNodeProvider;
 import org.drools.grid.task.CommandBasedServicesWSHumanTaskHandler;
 import org.drools.grid.task.HumanTaskService;
 import org.drools.grid.task.TaskServerMessageHandlerImpl;
@@ -206,14 +206,14 @@
     public void MinaTaskTest() throws InterruptedException, ConnectorException {
         grid = new GridTopology("MyBusinessUnit");
 
-        GenericNodeProvider remoteTaskProvider = new MinaProvider("MyMinaTask", "127.0.0.1", 9123);
+        GenericNodeProvider remoteTaskProvider = new MinaNodeProvider("MyMinaTask", "127.0.0.1", 9123);
 
         grid.registerTaskServerInstance("MyMinaTask", remoteTaskProvider);
 
         TaskServerInstance taskServer = grid.getTaskServerInstance("MyMinaTask");
 
         //Create the provider
-        MinaProvider provider = new MinaProvider("Mina1", "127.0.0.1", 9124);
+        MinaNodeProvider provider = new MinaNodeProvider("Mina1", "127.0.0.1", 9124);
         //Register the provider into the topology
         grid.registerExecutionEnvironment("MyMinaExecutionEnv1", provider);
 

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -41,7 +41,7 @@
 import org.drools.grid.services.ExecutionEnvironment;
 import org.drools.grid.services.GenericNodeProvider;
 import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.remote.MinaProvider;
+import org.drools.grid.services.remote.MinaNodeProvider;
 import org.drools.grid.services.strategies.ExecutionEnvByPrioritySelectionStrategy;
 import org.drools.io.ResourceFactory;
 import org.drools.runtime.StatefulKnowledgeSession;
@@ -97,7 +97,7 @@
      public void mixedTopologyMinaAndLocal() throws ConnectorException {
         GridTopology grid = new GridTopology("MyBusinessUnit");
        
-        GenericNodeProvider minaProvider = new MinaProvider("Mina1","127.0.0.1",9123 );
+        GenericNodeProvider minaProvider = new MinaNodeProvider("Mina1","127.0.0.1",9123 );
         GenericNodeProvider localProvider = new LocalNodeProvider();
 
         grid.registerExecutionEnvironment("MyMinaEnv", minaProvider);

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskServerInstanceNodeRunner.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskServerInstanceNodeRunner.java	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/TaskServerInstanceNodeRunner.java	2010-06-18 21:49:36 UTC (rev 33556)
@@ -16,8 +16,7 @@
 import org.drools.SystemEventListenerFactory;
 import org.drools.grid.remote.mina.MinaAcceptor;
 import org.drools.grid.remote.mina.MinaIoHandler;
-import org.drools.grid.remote.mina.MinaNodeRunner;
-import org.drools.task.MockUserInfo;
+
 import org.drools.task.UserInfo;
 import org.drools.task.service.TaskService;
 import org.drools.task.service.TaskServiceSession;

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/pom.xml	2010-06-18 21:06:32 UTC (rev 33555)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/pom.xml	2010-06-18 21:49:36 UTC (rev 33556)
@@ -15,6 +15,7 @@
         <module>drools-grid-local</module>
         <module>drools-grid-remote-api</module>
         <module>drools-grid-remote-mina</module>
+        <module>drools-grid-remote-dir-mina</module>
         <module>drools-grid-services</module>
         <module>drools-grid-task</module>
     



More information about the jboss-svn-commits mailing list