[jboss-svn-commits] JBL Code SVN: r33564 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid: drools-grid/src/main/java/org/drools/grid/remote/directory and 11 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Jun 19 16:22:54 EDT 2010


Author: salaboy21
Date: 2010-06-19 16:22:53 -0400 (Sat, 19 Jun 2010)
New Revision: 33564

Added:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/GenericConnectorFactory.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/resources/
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/GenericConnection.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/LocalConnection.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.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/pom.xml
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.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-remote-mina/src/test/java/org/drools/grid/ExecutionNodeBase.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.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/GridTopology.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/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/DirectoryServerMessageHandlerImpl.java
   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/pom.xml
Log:
adding remote directory tests in services and reviewed connectors

Modified: 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	2010-06-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -30,6 +30,7 @@
 import org.drools.grid.internal.commands.SimpleCommand;
 import org.drools.grid.internal.commands.SimpleCommandName;
 import org.drools.grid.internal.responsehandlers.BlockingMessageDirectoryMapRequestResponseHandler;
+import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
 
 /**
  *
@@ -50,7 +51,9 @@
         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);
+        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
+        connector.write(msg, handler);
+        
     }
 
     public void register(String executorId, GenericNodeConnector resourceConnector) throws ConnectorException {
@@ -98,7 +101,7 @@
     }
 
     public void disconnect() throws ConnectorException {
-        throw new UnsupportedOperationException("Not supported yet.");
+        this.connector.disconnect();
     }
 
     public Message write(Message msg) throws ConnectorException {
@@ -118,7 +121,9 @@
     }
 
     public String lookupId(String resourceId) throws ConnectorException {
-        SimpleCommand cmd = new SimpleCommand(connector.counter.getAndIncrement(), SimpleCommandName.RequestLookupSession, null);
+        List<Object> args = new ArrayList<Object>(1);
+        args.add(resourceId);
+        SimpleCommand cmd = new SimpleCommand(connector.counter.getAndIncrement(), SimpleCommandName.RequestLookupSessionId, args);
         Message msg = new Message(connector.getSessionId(), connector.counter.incrementAndGet(), false, cmd);
         BlockingMessageDirectoryMapRequestResponseHandler handler = new BlockingMessageDirectoryMapRequestResponseHandler();
         connector.write(msg, handler);

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-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/DirectoryServerMessageHandlerImpl.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -68,7 +68,7 @@
                                         resultsCmnd ), null);
                     break;
                 }
-                case RequestLookupSession: {
+                case RequestLookupSessionId: {
 
                     String executorId = (String) cmd.getArguments().get(0);
                     String resourceId = directory.getDirectoryMap().get(executorId);

Modified: 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	2010-06-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -19,7 +19,6 @@
 
 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;
@@ -39,7 +38,6 @@
 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;
 
@@ -51,7 +49,6 @@
     private static DirectoryNodeService directoryNode;
     private static RemoteConnection connection;
     private String providerName;
-    private int sessionId;
     private SystemEventListener eventListener;
     protected IoSession session;
     protected AtomicInteger counter;
@@ -61,7 +58,7 @@
     
 
     public MinaRemoteDirectoryConnector(String providerName, String providerAddress,
-                            int providerPort, SystemEventListener systemEventListener) {
+                            Integer providerPort, SystemEventListener systemEventListener) {
         SocketConnector minaconnector = new NioSocketConnector();
         minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
         if (providerName == null) {
@@ -73,6 +70,7 @@
         this.address = new InetSocketAddress(providerAddress, providerPort);
         this.connector = minaconnector;
         this.directoryNode = new DirectoryNodeRemoteClient(this);
+        this.connection = new RemoteConnection();
 
     }
 
@@ -106,7 +104,7 @@
     }
 
     public void disconnect() throws ConnectorException {
-        System.out.println("DisConnected to Server "+this.address);
+        System.out.println("DisConnected to Directory Server "+this.address);
         if (session != null && session.isConnected()) {
             session.close();
             session.getCloseFuture().join();
@@ -131,14 +129,15 @@
     }
 
     public String getId() {
-        return String.valueOf(session.getId());
+        //return String.valueOf(session.getId());
+        String hostName = ((InetSocketAddress)this.address).getHostName();
+        int hostPort = ((InetSocketAddress)this.address).getPort();
+
+        return "Mina:"+this.providerName+":"+hostName+":"+hostPort;
     }
 
     public GenericConnection getConnection() {
-        if(connection == null){
-            connection = new RemoteConnection();
-        }
-        return connection;
+       return this.connection;
     }
 
     public void write(Message msg, MessageResponseHandler responseHandler) {

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-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -20,6 +20,7 @@
     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;
+    public String lookupId(String resourceId) throws ConnectorException;
     public void registerKBase(String kbaseId, String resourceId) throws ConnectorException;
     public KnowledgeBase lookupKBase(String kbaseId) throws ConnectorException;
     public void addService(GenericNodeConnector service);

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java	2010-06-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -36,6 +36,10 @@
 
     public List<GenericNodeConnector> getNodeConnectors();
 
+    public List<GenericDirectoryConnector> getDirectoryConnectors();
+
+    public List<GenericNodeConnector> getTaskConnectors();
+
     public List<DirectoryNodeService> getDirectories();
 
     public ExecutionNode getExecutionNode(NodeSelectionStrategy strategy) throws ConnectorException;
@@ -56,5 +60,7 @@
 
     public List<HumanTaskNodeService> getTaskServices();
 
+    public void disconnectAllConnectors() throws ConnectorException;
 
+
 }

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-19 19:09:52 UTC (rev 33563)
+++ 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-19 20:22:53 UTC (rev 33564)
@@ -80,6 +80,6 @@
     RegisterExecutor,
     RequestDirectoryMap,
     ResponseDirectoryMap,
-    RequestLookupSession,
+    RequestLookupSessionId,
     ResponseLookupSession
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java	2010-06-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -78,13 +78,13 @@
     }
 
     public DirectoryNodeService getDirectoryNode(DirectoryServiceSelectionStrategy directorySelectionStrategy) throws ConnectorException {
-        if(directoryNodeConnectors.size() == 0){
+        if (directoryNodeConnectors.size() == 0) {
             return null;
         }
         GenericDirectoryConnector connector = directoryNodeConnectors.get(0);
         DirectoryNodeService directoryNode = null;
         connector.connect();
-		directoryNode = connector.getDirectoryNodeService();
+        directoryNode = connector.getDirectoryNodeService();
         return directoryNode;
     }
 
@@ -131,4 +131,25 @@
     public List<HumanTaskNodeService> getTaskServices() {
         throw new UnsupportedOperationException("Not supported yet.");
     }
+
+    public List<GenericDirectoryConnector> getDirectoryConnectors() {
+        return this.directoryNodeConnectors;
+    }
+
+    public List<GenericNodeConnector> getTaskConnectors() {
+        return this.humanTaskNodeConnectors;
+    }
+
+    public void disconnectAllConnectors() throws ConnectorException {
+        for (GenericNodeConnector connector : executionNodeConnectors) {
+            connector.disconnect();
+        }
+        for (GenericDirectoryConnector connector : directoryNodeConnectors) {
+            connector.disconnect();
+        }
+        for (GenericNodeConnector connector : humanTaskNodeConnectors) {
+            connector.disconnect();
+        }
+
+    }
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java	2010-06-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -50,7 +50,7 @@
     }
 
     public String getId() throws ConnectorException {
-        throw new UnsupportedOperationException("Not supported yet.");
+        return "Local:";
     }
 
     public GenericConnection getConnection() {

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-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -33,7 +33,7 @@
     private String id;
     private LocalConnection connection;
     public LocalNodeConnector() {
-        this.id = UUID.randomUUID().toString();
+        
         this.connection = new LocalConnection();
     }
 
@@ -50,7 +50,10 @@
     }
 
     public String getId() throws ConnectorException {
-        return this.id;
+
+
+        return "Local:";
+        //return this.id;
     }
 
     public void write(Message msg, MessageResponseHandler responseHandler) {

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-19 19:09:52 UTC (rev 33563)
+++ 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-19 20:22:53 UTC (rev 33564)
@@ -30,7 +30,6 @@
 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;
@@ -63,11 +62,20 @@
             } else {
                 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));
+            
             DirectoryNodeService directoryNode = connection.getDirectoryNode();
-            System.out.println("Registering " + identifier + " - - " + client.getId() +" in dir Node = "+directoryNode);
-            directoryNode.register(identifier, client);
+            directoryNode.register(identifier, client.getId());
             
+
+            Message msg = new Message(messageSession.getSessionId(),
+                            messageSession.getCounter().incrementAndGet(),
+                            false,
+                            new KnowledgeContextResolveFromContextCommand(
+                                new RegisterCommand(identifier,
+                                    ((StatefulKnowledgeSessionRemoteClient) executor).getInstanceId(), type),
+                                    null, null, null, null));
+
+
             try {
                 Object object = client.write(msg).getPayload();
                 if (!(object instanceof FinishedCommand)) {
@@ -76,6 +84,9 @@
             } catch (Exception e) {
                 throw new RuntimeException("Unable to execute message", e);
             }
+            
+            directoryNode.disconnect();
+
         } catch (ConnectorException ex) {
             Logger.getLogger(DirectoryLookupProviderRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
         }
@@ -88,11 +99,16 @@
             String commandId = "client.lookup" + messageSession.getNextId();
             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());
-            GenericNodeConnector executionClient = connection.getDirectoryNode().lookup(identifier);
-            System.out.println("Client = "+executionClient);
+            DirectoryNodeService directoryNode = connection.getDirectoryNode();
+            String connectorString = directoryNode.lookupId(identifier);
+            directoryNode.disconnect();
+            client = GenericConnectorFactory.newNodeConnector(connectorString);
+            client.connect();
+            //I need to add the new Connector to the connection to be able to clean it up/disconect it!
+            connection.addExecutionNode(client);
+            
             try {
-                Object object = executionClient.write(msg).getPayload();
+                Object object = client.write(msg).getPayload();
                 if (object == null) {
                     throw new RuntimeException("Response was not correctly received");
                 }
@@ -102,12 +118,13 @@
                 CommandExecutor executor = null;
                 switch (Integer.parseInt(type)) {
                     case 0: {
-                        executor = new StatefulKnowledgeSessionRemoteClient(instanceId, executionClient, messageSession);
+                        executor = new StatefulKnowledgeSessionRemoteClient(instanceId, client, messageSession);
                         break;
                     }
                     default: {
                     }
                 }
+                
                 return executor;
             } catch (Exception e) {
                 throw new RuntimeException("Unable to execute message", e);
@@ -121,4 +138,12 @@
     public Map<String, Map<String, String>> getDirectoryMap() {
         throw new UnsupportedOperationException("Not supported yet.");
     }
+
+    public void registerId(String key, String value) {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public String lookupId(String key) {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
 }

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/GenericConnectorFactory.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/GenericConnectorFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/GenericConnectorFactory.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -0,0 +1,181 @@
+/*
+ *  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;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.drools.SystemEventListener;
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.DirectoryNodeService;
+import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.GenericNodeConnector;
+
+/**
+ *
+ * @author salaboy
+ */
+public class GenericConnectorFactory {
+
+    public static GenericNodeConnector newNodeConnector(String connectorString) {
+        String[] connectorDetails = connectorString.split(":");
+        String connectorType = connectorDetails[0];
+        String connectorName = connectorDetails[1];
+        String connectorAddress = connectorDetails[2];
+        String connectorPort = connectorDetails[3];
+
+        if (connectorType.equals("Mina")) {
+
+            GenericNodeConnector connector = null;
+            try {
+                Class clazz = Class.forName("org.drools.grid.remote.mina.MinaRemoteNodeConnector");
+                Constructor constructor = clazz.getConstructor(String.class, String.class, Integer.class, SystemEventListener.class);
+                connector = (GenericNodeConnector) constructor.newInstance(connectorName, connectorAddress,
+                        Integer.valueOf(connectorPort), SystemEventListenerFactory.getSystemEventListener());
+
+                //return new MinaRemoteNodeConnector(connectorName, connectorAddress,
+                //         Integer.valueOf(connectorPort), SystemEventListenerFactory.getSystemEventListener());
+            } catch (InstantiationException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (IllegalAccessException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (IllegalArgumentException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (InvocationTargetException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (NoSuchMethodException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (SecurityException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (ClassNotFoundException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            }
+
+            return connector;
+        }
+
+        if (connectorType.equals("Local")) {
+            GenericNodeConnector connector = null;
+            try {
+                Class clazz = Class.forName("org.drools.grid.local.LocalNodeConnector");
+                connector = (GenericNodeConnector) clazz.newInstance();
+            } catch (InstantiationException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (IllegalAccessException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (IllegalArgumentException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (SecurityException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (ClassNotFoundException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            }
+
+            return connector;
+
+            //return new LocalNodeConnector();
+        }
+
+        return null;
+    }
+
+    public static GenericNodeConnector newDirectoryConnector(String connectorString) {
+        String[] connectorDetails = connectorString.split(":");
+        String connectorType = connectorDetails[0];
+
+
+
+        if (connectorType.equals("Mina")) {
+
+            String connectorName = connectorDetails[1];
+            String connectorAddress = connectorDetails[2];
+            String connectorPort = connectorDetails[3];
+            GenericDirectoryConnector connector = null;
+            try {
+                Class clazz = Class.forName("org.drools.grid.remote.directory.MinaRemoteDirectoryConnector");
+                Constructor constructor = clazz.getConstructor(String.class, String.class, Integer.class, SystemEventListener.class);
+                connector = (GenericDirectoryConnector) constructor.newInstance(connectorName, connectorAddress,
+                        Integer.valueOf(connectorPort), SystemEventListenerFactory.getSystemEventListener());
+
+                //return new MinaRemoteNodeConnector(connectorName, connectorAddress,
+                //         Integer.valueOf(connectorPort), SystemEventListenerFactory.getSystemEventListener());
+            } catch (InstantiationException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (IllegalAccessException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (IllegalArgumentException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (InvocationTargetException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (NoSuchMethodException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (SecurityException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (ClassNotFoundException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            }
+
+            return connector;
+        }
+
+        if (connectorType.equals("Local")) {
+            GenericDirectoryConnector connector = null;
+            try {
+                Class clazz = Class.forName("org.drools.grid.local.LocalDirectoryConnector");
+                Class clazzDirectoryNodeServiceImpl = Class.forName("org.drools.grid.local.DirectoryNodeLocalImpl");
+                Constructor constructor = clazz.getConstructor(DirectoryNodeService.class);
+                connector = (GenericDirectoryConnector) constructor.newInstance(
+                        (DirectoryNodeService) clazzDirectoryNodeServiceImpl.newInstance());
+
+            } catch (InstantiationException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (IllegalAccessException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (IllegalArgumentException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (InvocationTargetException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (NoSuchMethodException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (SecurityException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            } catch (ClassNotFoundException ex) {
+                Logger.getLogger(GenericConnectorFactory.class.getName()).log(Level.SEVERE, null, ex);
+            }
+
+            return connector;
+            //return new LocalDirectoryConnector(new DirectoryNodeLocalImpl());
+        }
+
+        return null;
+    }
+
+    public static GenericNodeConnector newTaskConnector(String connectorString) {
+        String[] connectorDetails = connectorString.split(":");
+        String connectorType = connectorDetails[0];
+        String connectorName = connectorDetails[1];
+        String connectorAddress = connectorDetails[2];
+        String connectorPort = connectorDetails[3];
+
+
+
+
+
+        return null;
+    }
+}

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-19 19:09:52 UTC (rev 33563)
+++ 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-19 20:22:53 UTC (rev 33564)
@@ -16,6 +16,7 @@
  */
 package org.drools.grid.remote;
 
+import com.sun.jmx.snmp.tasks.Task;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -113,17 +114,28 @@
         return executionNodeConnectors;
     }
 
+    public List<GenericDirectoryConnector> getDirectoryConnectors() {
+        return directoryNodeConnectors;
+    }
+
+    public List<GenericNodeConnector> getTaskConnectors() {
+        return this.humanTaskNodeConnectors;
+    }
+
     public void setServices(List<GenericNodeConnector> services) {
         this.executionNodeConnectors = services;
     }
 
     public DirectoryNodeService getDirectoryNode(DirectoryServiceSelectionStrategy directorySelectionStrategy) throws ConnectorException {
-        if (directoryNodeConnectors.size() == 0) {
+        if (directoryNodeConnectors.isEmpty()) {
             return null;
         }
         GenericDirectoryConnector connector = directoryNodeConnectors.get(0);
-        DirectoryNodeService directoryNode = null;
-		directoryNode = connector.getDirectoryNodeService();
+        
+        connector.connect();
+
+        DirectoryNodeService directoryNode = connector.getDirectoryNodeService();
+        
         return directoryNode;
     }
 
@@ -168,4 +180,17 @@
     public List<HumanTaskNodeService> getTaskServices() {
         throw new UnsupportedOperationException("not Implemented yet!");
     }
+
+    public void disconnectAllConnectors() throws ConnectorException {
+        for(GenericNodeConnector connector : executionNodeConnectors){
+            connector.disconnect();
+        }
+         for(GenericDirectoryConnector connector : directoryNodeConnectors){
+            connector.disconnect();
+        }
+          for(GenericNodeConnector connector : humanTaskNodeConnectors){
+            connector.disconnect();
+        }
+
+    }
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml	2010-06-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml	2010-06-19 20:22:53 UTC (rev 33564)
@@ -63,9 +63,10 @@
             <groupId>org.drools</groupId>
             <artifactId>drools-grid-local</artifactId>
             <version>5.1.0.SNAPSHOT</version>
-            <scope>test</scope>
+            
             <type>jar</type>
         </dependency>
+        
     </dependencies>
 
   <build>

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java	2010-06-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -35,6 +35,7 @@
     }
 
     public synchronized void stop() {
+        
         acceptor.dispose();
     }
 
@@ -42,4 +43,8 @@
         return acceptor;
     }
 
+    public int getCurrentSessions(){
+        return acceptor.getManagedSessionCount();
+    }
+
 }
\ No newline at end of file

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-19 19:09:52 UTC (rev 33563)
+++ 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-19 20:22:53 UTC (rev 33564)
@@ -53,7 +53,7 @@
     }
 
     public MinaRemoteNodeConnector(String name,
-            String providerAddress, int providerPort,
+            String providerAddress, Integer providerPort,
             SystemEventListener eventListener) {
 
         
@@ -137,7 +137,11 @@
     }
 
     public String getId() {
-        return String.valueOf(session.getId());
+        //return String.valueOf(session.getId());
+        String hostName = ((InetSocketAddress)this.address).getHostName();
+        int hostPort = ((InetSocketAddress)this.address).getPort();
+
+        return "Mina:"+this.name+":"+hostName+":"+hostPort;
     }
 
     public void setSession(Object object) {

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/ExecutionNodeBase.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/ExecutionNodeBase.java	2010-06-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/ExecutionNodeBase.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -128,6 +128,7 @@
     }
     @Test
     public void testNamedService() throws Exception {
+        System.out.println(">>>Starting named");
         String str = "";
         str += "package org.drools \n";
         str += "global java.util.List list \n";
@@ -168,9 +169,11 @@
 
         Assert.assertEquals( 2,
                       (int) (Integer) results.getValue( "fired" ) );
+        System.out.println(">>>Ending named");
     }
     @Test
     public void testVsmPipeline() throws Exception {
+        System.out.println(">>>Starting pipeline");
         String str = "";
         str += "package org.drools \n";
         str += "global java.util.List list \n";
@@ -209,6 +212,7 @@
         ExecutionResults results = node.get(DirectoryLookupFactoryService.class).lookup( "ksession1" ).execute( new FireAllRulesCommand( "fired" ) );
 
         Assert.assertEquals( 2, (int ) ( Integer) results.getValue( "fired" ) );
+        System.out.println(">>>Ending pipeline");
     }
   
 

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java	2010-06-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -98,6 +98,13 @@
         for(Iterator<GenericNodeConnector> iterator = connection.getNodeConnectors().iterator(); iterator.hasNext();){
             iterator.next().disconnect();
         }
+        for(Iterator<GenericDirectoryConnector> iterator = connection.getDirectoryConnectors().iterator(); iterator.hasNext();){
+            iterator.next().disconnect();
+        }
+
+        for(Iterator<GenericNodeConnector> iterator = connection.getTaskConnectors().iterator(); iterator.hasNext();){
+            iterator.next().disconnect();
+        }
        
         this.server.stop();
 

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-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/pom.xml	2010-06-19 20:22:53 UTC (rev 33564)
@@ -77,7 +77,7 @@
         </dependency>
         <dependency>
             <groupId>org.drools</groupId>
-            <artifactId>drools-grid-remote-dir-min</artifactId>
+            <artifactId>drools-grid-remote-dir-mina</artifactId>
             <version>5.1.0.SNAPSHOT</version>
             <type>jar</type>
         </dependency>

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-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -98,12 +98,12 @@
 
     private void registerGridResourceInCurrentDirectories(String name, String resourceId) throws ConnectorException{
         for(DirectoryInstance directory : directories.values()){
-                System.out.println("DirectoryInstance = "+directory + " --> name ="+name + "-> resourceId = "+resourceId);
+                
                 DirectoryNodeService directoryNode = directory.getDirectoryService();
                 if( directoryNode != null){
                     directoryNode.register(name, resourceId);
-                    directory.getConnector().disconnect();
                 }
+                directory.getConnector().disconnect();
 
 
         }
@@ -141,12 +141,15 @@
     public void disconectAllClients() throws ConnectorException  {
         for (String key : executionEnvironments.keySet()) {
                 executionEnvironments.get(key).getConnector().disconnect();
+                executionEnvironments.get(key).getConnector().getConnection().disconnectAllConnectors();
         }
         for (String key : directories.keySet()) {
                 directories.get(key).getConnector().disconnect();
+                directories.get(key).getConnector().getConnection().disconnectAllConnectors();
         }
         for (String key : taskServerInstance.keySet()) {
                 taskServerInstance.get(key).getConnector().disconnect();
+                taskServerInstance.get(key).getConnector().getConnection().disconnectAllConnectors();
         }
     }
 

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-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -76,10 +76,10 @@
     public void stop() throws ConnectorException {
 
         grid.disconectAllClients();
-        
+        Assert.assertEquals(0, server1.getCurrentSessions());
         server1.stop();
         System.out.println("Server 1 Stopped!");
-
+        Assert.assertEquals(0, server2.getCurrentSessions());
         server2.stop();
         System.out.println("Server 2 Stopped!");
 

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-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -19,7 +19,6 @@
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
-import java.rmi.RemoteException;
 import org.apache.mina.transport.socket.SocketAcceptor;
 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
 import org.drools.KnowledgeBase;
@@ -34,7 +33,6 @@
 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;
@@ -119,11 +117,14 @@
 
         grid.disconectAllClients();
 
+        Assert.assertEquals(0, serverDir.getCurrentSessions());
+        serverDir.stop();
+        System.out.println("Dir Server Stopped!");
+        
+        Assert.assertEquals(0, serverNode.getCurrentSessions());
         serverNode.stop();
         System.out.println("Execution Server Stopped!");
 
-        serverDir.stop();
-        System.out.println("Dir Server Stopped!");
 
     }
 
@@ -153,14 +154,12 @@
 
         System.out.println("dir.getDirectoryMap() = "+dir.getDirectoryMap());
 
-        dir.register("blah", "blah");
+        Assert.assertEquals(3, dir.getDirectoryMap().size());
 
-        Assert.assertEquals(4, dir.getDirectoryMap().size());
+        directory.getConnector().disconnect();
 
 
 
-
-
                 //Then we can get the registered Execution Environments by Name
 
         ExecutionEnvironment ee = grid.getExecutionEnvironment("MyRemoteEnv");
@@ -211,6 +210,8 @@
 
         node.get(DirectoryLookupFactoryService.class).register("ksession1", ksession);
 
+        ksession = (StatefulKnowledgeSession) node.get(DirectoryLookupFactoryService.class).lookup("ksession1");
+
         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-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -186,10 +186,10 @@
         
         
         handler.dispose();
-
+        Assert.assertEquals(0, serverNode.getCurrentSessions());
         serverNode.stop();
         System.out.println("Execution Server Stopped!");
-
+        Assert.assertEquals(0, serverTask.getCurrentSessions());
         serverTask.stop();
         System.out.println("Task Server Stopped!");
         

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-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java	2010-06-19 20:22:53 UTC (rev 33564)
@@ -58,6 +58,7 @@
 public class ServiceAPITest {
 
     private MinaAcceptor server1;
+    private GridTopology grid;
     
     public ServiceAPITest() {
     }
@@ -88,14 +89,18 @@
     }
 
     @After
-    public void tearDown() {
+    public void tearDown() throws ConnectorException {
+        System.out.println("Disconecting all clients");
+        grid.disconectAllClients();
+        System.out.println("Stoping Server 1!");
+        Assert.assertEquals(0, server1.getCurrentSessions());
         server1.stop();
     }
 
     
      @Test
      public void mixedTopologyMinaAndLocal() throws ConnectorException {
-        GridTopology grid = new GridTopology("MyBusinessUnit");
+        grid = new GridTopology("MyBusinessUnit");
        
         GenericNodeProvider minaProvider = new MinaNodeProvider("Mina1","127.0.0.1",9123 );
         GenericNodeProvider localProvider = new LocalNodeProvider();

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-19 19:09:52 UTC (rev 33563)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/pom.xml	2010-06-19 20:22:53 UTC (rev 33564)
@@ -22,4 +22,4 @@
   </modules>
 
 
-</project>
\ No newline at end of file
+</project>



More information about the jboss-svn-commits mailing list