[jboss-svn-commits] JBL Code SVN: r33642 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid: drools-grid-distributed-api/src/main/java/org/drools/grid/distributed and 14 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 25 10:31:18 EDT 2010


Author: salaboy21
Date: 2010-06-25 10:31:17 -0400 (Fri, 25 Jun 2010)
New Revision: 33642

Added:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/RemoteMinaDirectoryConnector.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ProviderType.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/DirectoryInstanceFactory.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/ExecutionEnvironmentFactory.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/TaskServerInstanceFactory.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalProvider.java
   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-task/src/main/java/org/drools/grid/task/RemoteMinaHumanTaskConnector.java
Removed:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.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/src/main/java/org/drools/grid/services/GenericNodeProvider.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalDirectoryProvider.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.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/MinaHumanTaskProvider.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-task/src/main/java/org/drools/grid/task/MinaRemoteHumanTaskConnector.java
Modified:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.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-distributed-api/src/main/java/org/drools/grid/distributed/RioNodeConnector.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/ExecutionNodeServiceImpl.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/GenericConnectorFactory.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.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/src/main/java/org/drools/grid/services/DirectoryInstance.java
   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/TaskServerInstance.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/DirectoryInstanceByPrioritySelectionStrategy.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/RegisterDirectoryTest.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/CommandBasedServicesWSHumanTaskHandler.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java
Log:
adding Factories in Drools-grid-services using GenericProviders

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -30,17 +30,17 @@
  */
 public class DirectoryNodeLocalImpl implements DirectoryNodeService {
 
-    private String id;
+
     private Map<String, String> directoryMap = new HashMap<String, String>();
     private Map<String, String> directoryKbasesMap = new HashMap<String, String>();
     private List<GenericNodeConnector> services = new ArrayList<GenericNodeConnector>();
     
     public DirectoryNodeLocalImpl() {
-        this.id = "Local:Directory:";
+       
     }
 
     public String getId() throws ConnectorException {
-        return this.id;
+        return  "Local:Directory:";
     }
 
     public void register(String executorId, String resourceId) throws ConnectorException, RemoteException {
@@ -113,7 +113,7 @@
 
     
 
-    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+    public ConnectorType getConnectorType()  {
         return ConnectorType.LOCAL;
     }
 

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -34,7 +34,7 @@
 
     public GenericConnection getConnection();
 
-    public ConnectorType getConnectorType()  throws ConnectorException, RemoteException ;
+    public ConnectorType getConnectorType() ;
 
 
 }

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-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericNodeConnector.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -18,6 +18,6 @@
 
     NodeConnectionType getNodeConnectionType()  throws ConnectorException, RemoteException ;
 
-    public ConnectorType getConnectorType()  throws ConnectorException, RemoteException ;
+    public ConnectorType getConnectorType() ;
 
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/RioNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/RioNodeConnector.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/RioNodeConnector.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -96,7 +96,7 @@
         return new DistributedConnectionNode();
     }
 
-    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+    public ConnectorType getConnectorType() {
         return ConnectorType.DISTRIBUTED;
     }
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -160,7 +160,7 @@
     }
 
     @Override
-    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+    public ConnectorType getConnectorType() {
         return ConnectorType.DISTRIBUTED;
     }
 

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/ExecutionNodeServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/ExecutionNodeServiceImpl.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/ExecutionNodeServiceImpl.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -171,7 +171,7 @@
     }
 
     @Override
-    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+    public ConnectorType getConnectorType() {
         return ConnectorType.DISTRIBUTED;
     }
 

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-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -58,7 +58,7 @@
         return connection;
     }
 
-    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+    public ConnectorType getConnectorType() {
         return ConnectorType.LOCAL;
     }
 

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-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -66,7 +66,7 @@
         return new LocalConnectionNode();
     }
 
-    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+    public ConnectorType getConnectorType() {
         return ConnectorType.LOCAL;
     }
 }

Modified: 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	2010-06-25 13:31:34 UTC (rev 33641)
+++ 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-25 14:31:17 UTC (rev 33642)
@@ -86,7 +86,7 @@
 
             GenericNodeConnector connector = null;
             try {
-                Class clazz = Class.forName("org.drools.grid.remote.mina.MinaRemoteNodeConnector");
+                Class clazz = Class.forName("org.drools.grid.remote.mina.RemoteMinaNodeConnector");
                 Constructor constructor = clazz.getConstructor(String.class, String.class, Integer.class, SystemEventListener.class);
                 connector = (GenericNodeConnector) constructor.newInstance(connectorName, connectorAddress,
                         Integer.valueOf(connectorPort), SystemEventListenerFactory.getSystemEventListener());
@@ -153,7 +153,7 @@
             String connectorPort = connectorDetails[3];
             GenericDirectoryConnector connector = null;
             try {
-                Class clazz = Class.forName("org.drools.grid.remote.directory.MinaRemoteDirectoryConnector");
+                Class clazz = Class.forName("org.drools.grid.remote.directory.RemoteMinaDirectoryConnector");
                 Constructor constructor = clazz.getConstructor(String.class, String.class, Integer.class, SystemEventListener.class);
                 connector = (GenericDirectoryConnector) constructor.newInstance(connectorName, connectorAddress,
                         Integer.valueOf(connectorPort), SystemEventListenerFactory.getSystemEventListener());

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -40,9 +40,9 @@
  * @author salaboy
  */
 public class DirectoryNodeRemoteClient implements DirectoryNodeService { 
-    private MinaRemoteDirectoryConnector connector;
+    private RemoteMinaDirectoryConnector connector;
 
-    DirectoryNodeRemoteClient(MinaRemoteDirectoryConnector connector) {
+    DirectoryNodeRemoteClient(RemoteMinaDirectoryConnector connector) {
         this.connector = connector;
     }
 
@@ -157,7 +157,7 @@
         throw new UnsupportedOperationException("Not supported yet.");
     }
 
-    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+    public ConnectorType getConnectorType()  {
         return ConnectorType.REMOTE;
     }
 

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,133 +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.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.ConnectorType;
-import org.drools.grid.DirectoryNodeService;
-import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericDirectoryConnector;
-import org.drools.grid.GridConnection;
-import org.drools.grid.remote.mina.MinaIoHandler;
-
-/**
- *
- * @author salaboy
- */
-public class MinaRemoteDirectoryConnector implements GenericDirectoryConnector{
-    private GridConnection connection;
-    private String providerName;
-    private SystemEventListener eventListener;
-    protected IoSession session;
-    protected AtomicInteger counter;
-    protected SocketConnector connector;
-    protected SocketAddress address;
-
-    
-
-    public MinaRemoteDirectoryConnector(String providerName, String providerAddress,
-                            Integer 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.connection = new GridConnection();
-
-    }
-
-    public DirectoryNodeService getDirectoryNodeService() {
-        return new DirectoryNodeRemoteClient(this);
-    }
-
-    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) {
-            throw new ConnectorException(e);
-        }
-    }
-
-    public void disconnect() throws ConnectorException {
-        System.out.println("DisConnected to Directory Server "+this.address);
-        if (session != null && session.isConnected()) {
-            session.close();
-            session.getCloseFuture().join();
-        }
-    }
-
-    public String getId() {
-        String hostName = ((InetSocketAddress)this.address).getHostName();
-        int hostPort = ((InetSocketAddress)this.address).getPort();
-        return "Mina:"+this.providerName+":"+hostName+":"+hostPort;
-    }
-
-    public int getSessionId() {
-        return (int) session.getId();
-    }
-    public IoSession getSession(){
-        return session;
-    }
-
-    public GenericConnection getConnection() {
-        return this.connection;
-    }
-
-    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
-        return ConnectorType.REMOTE;
-    }
-
-}
-
-

Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/RemoteMinaDirectoryConnector.java (from rev 33634, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/RemoteMinaDirectoryConnector.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/RemoteMinaDirectoryConnector.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,133 @@
+/*
+ *  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.ConnectorType;
+import org.drools.grid.DirectoryNodeService;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.GridConnection;
+import org.drools.grid.remote.mina.MinaIoHandler;
+
+/**
+ *
+ * @author salaboy
+ */
+public class RemoteMinaDirectoryConnector implements GenericDirectoryConnector{
+    private GridConnection connection;
+    private String providerName;
+    private SystemEventListener eventListener;
+    protected IoSession session;
+    protected AtomicInteger counter;
+    protected SocketConnector connector;
+    protected SocketAddress address;
+
+    
+
+    public RemoteMinaDirectoryConnector(String providerName, String providerAddress,
+                            Integer 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.connection = new GridConnection();
+
+    }
+
+    public DirectoryNodeService getDirectoryNodeService() {
+        return new DirectoryNodeRemoteClient(this);
+    }
+
+    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(RemoteMinaDirectoryConnector.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) {
+            throw new ConnectorException(e);
+        }
+    }
+
+    public void disconnect() throws ConnectorException {
+        System.out.println("DisConnected to Directory Server "+this.address);
+        if (session != null && session.isConnected()) {
+            session.close();
+            session.getCloseFuture().join();
+        }
+    }
+
+    public String getId() {
+        String hostName = ((InetSocketAddress)this.address).getHostName();
+        int hostPort = ((InetSocketAddress)this.address).getPort();
+        return "Mina:"+this.providerName+":"+hostName+":"+hostPort;
+    }
+
+    public int getSessionId() {
+        return (int) session.getId();
+    }
+    public IoSession getSession(){
+        return session;
+    }
+
+    public GenericConnection getConnection() {
+        return this.connection;
+    }
+
+    public ConnectorType getConnectorType()  {
+        return ConnectorType.REMOTE;
+    }
+
+}
+
+

Deleted: 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-25 13:31:34 UTC (rev 33641)
+++ 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-25 14:31:17 UTC (rev 33642)
@@ -1,139 +0,0 @@
-package org.drools.grid.remote.mina;
-
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.rmi.RemoteException;
-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.ConnectorType;
-import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.NodeConnectionType;
-import org.drools.grid.internal.Message;
-import org.drools.grid.internal.MessageResponseHandler;
-import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
-import org.drools.grid.GridConnection;
-import org.drools.grid.remote.RemoteConnectionNode;
-
-public class MinaRemoteNodeConnector
-        implements
-        GenericNodeConnector {
-
-    protected IoSession session;
-    protected final String name;
-    protected AtomicInteger counter;
-    protected SocketConnector connector;
-    protected SocketAddress address;
-    protected SystemEventListener eventListener;
-    protected GridConnection connection;
-
-    public MinaRemoteNodeConnector(String name,
-            String providerAddress, Integer providerPort,
-            SystemEventListener eventListener) {
-
-        SocketConnector minaconnector = new NioSocketConnector();
-        minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
-        if (name == null) {
-            throw new IllegalArgumentException("Name can not be null");
-        }
-        this.name = name;
-        this.counter = new AtomicInteger();
-        this.address = new InetSocketAddress(providerAddress, providerPort);
-        this.connector = minaconnector;
-        this.eventListener = eventListener;
-        this.connection = new GridConnection();
-    }
-
-    public void connect() throws ConnectorException {
-        if (session != null && session.isConnected()) {
-            throw new IllegalStateException("Already connected. Disconnect first.");
-        }
-
-        try {
-            this.connector.getFilterChain().addLast("codec",
-                    new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
-
-            ConnectFuture future1 = this.connector.connect(this.address);
-            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!");
-                throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
-            }
-            eventListener.info("connected : " + address);
-            this.session = future1.getSession();
-        } catch (Exception e) {
-            throw new ConnectorException(e);
-        }
-    }
-
-    public void disconnect() throws ConnectorException {
-        
-        if (session != null && session.isConnected()) {
-            session.close();
-            session.getCloseFuture().join();
-        }
-    }
-
-    private void addResponseHandler(int id,
-            MessageResponseHandler responseHandler) {
-        ((MinaIoHandler) this.connector.getHandler()).addResponseHandler(id,
-                responseHandler);
-    }
-
-    public void write(Message msg,
-            MessageResponseHandler responseHandler) {
-        if (responseHandler != null) {
-            addResponseHandler(msg.getResponseId(),
-                    responseHandler);
-        }
-        this.session.write(msg);
-    }
-
-    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() {
-        String hostName = ((InetSocketAddress) this.address).getHostName();
-        int hostPort = ((InetSocketAddress) this.address).getPort();
-        return "Mina:" + this.name + ":" + hostName + ":" + hostPort;
-    }
-
-
-    public GenericConnection getConnection() throws ConnectorException {
-        return this.connection;
-    }
-
-
-    public NodeConnectionType getNodeConnectionType() throws ConnectorException{
-        return new RemoteConnectionNode();
-    }
-
-    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
-        return ConnectorType.REMOTE;
-    }
-}

Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java (from rev 33634, 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/RemoteMinaNodeConnector.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,139 @@
+package org.drools.grid.remote.mina;
+
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.rmi.RemoteException;
+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.ConnectorType;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.NodeConnectionType;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
+import org.drools.grid.GridConnection;
+import org.drools.grid.remote.RemoteConnectionNode;
+
+public class RemoteMinaNodeConnector
+        implements
+        GenericNodeConnector {
+
+    protected IoSession session;
+    protected final String name;
+    protected AtomicInteger counter;
+    protected SocketConnector connector;
+    protected SocketAddress address;
+    protected SystemEventListener eventListener;
+    protected GridConnection connection;
+
+    public RemoteMinaNodeConnector(String name,
+            String providerAddress, Integer providerPort,
+            SystemEventListener eventListener) {
+
+        SocketConnector minaconnector = new NioSocketConnector();
+        minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
+        if (name == null) {
+            throw new IllegalArgumentException("Name can not be null");
+        }
+        this.name = name;
+        this.counter = new AtomicInteger();
+        this.address = new InetSocketAddress(providerAddress, providerPort);
+        this.connector = minaconnector;
+        this.eventListener = eventListener;
+        this.connection = new GridConnection();
+    }
+
+    public void connect() throws ConnectorException {
+        if (session != null && session.isConnected()) {
+            throw new IllegalStateException("Already connected. Disconnect first.");
+        }
+
+        try {
+            this.connector.getFilterChain().addLast("codec",
+                    new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
+
+            ConnectFuture future1 = this.connector.connect(this.address);
+            future1.await(2000);
+            if (!future1.isConnected()) {
+                eventListener.info("unable to connect : " + address + " : " + future1.getException());
+                Logger.getLogger(RemoteMinaNodeConnector.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
+                throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
+            }
+            eventListener.info("connected : " + address);
+            this.session = future1.getSession();
+        } catch (Exception e) {
+            throw new ConnectorException(e);
+        }
+    }
+
+    public void disconnect() throws ConnectorException {
+        
+        if (session != null && session.isConnected()) {
+            session.close();
+            session.getCloseFuture().join();
+        }
+    }
+
+    private void addResponseHandler(int id,
+            MessageResponseHandler responseHandler) {
+        ((MinaIoHandler) this.connector.getHandler()).addResponseHandler(id,
+                responseHandler);
+    }
+
+    public void write(Message msg,
+            MessageResponseHandler responseHandler) {
+        if (responseHandler != null) {
+            addResponseHandler(msg.getResponseId(),
+                    responseHandler);
+        }
+        this.session.write(msg);
+    }
+
+    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() {
+        String hostName = ((InetSocketAddress) this.address).getHostName();
+        int hostPort = ((InetSocketAddress) this.address).getPort();
+        return "Mina:" + this.name + ":" + hostName + ":" + hostPort;
+    }
+
+
+    public GenericConnection getConnection() throws ConnectorException {
+        return this.connection;
+    }
+
+
+    public NodeConnectionType getNodeConnectionType() throws ConnectorException{
+        return new RemoteConnectionNode();
+    }
+
+    public ConnectorType getConnectorType() {
+        return ConnectorType.REMOTE;
+    }
+}

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-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -27,7 +27,7 @@
 import org.drools.grid.local.LocalDirectoryConnector;
 import org.drools.grid.remote.mina.MinaAcceptor;
 import org.drools.grid.remote.mina.MinaIoHandler;
-import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
+import org.drools.grid.remote.mina.RemoteMinaNodeConnector;
 import org.drools.grid.strategies.StaticIncrementalSelectionStrategy;
 import org.junit.After;
 import org.junit.Assert;
@@ -76,7 +76,7 @@
 
         // setup Client
         
-        GenericNodeConnector minaClient = new MinaRemoteNodeConnector( "client 1",
+        GenericNodeConnector minaClient = new RemoteMinaNodeConnector( "client 1",
                                                          address,
                                                          port,
                                                          SystemEventListenerFactory.getSystemEventListener() );

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -13,13 +13,11 @@
  */
 public class DirectoryInstance {
     private String name;
-    private GenericDirectoryProvider provider;
+    private GenericDirectoryConnector connector;
 
-    public DirectoryInstance(String name, GenericDirectoryProvider provider) {
+    public DirectoryInstance(String name, GenericDirectoryConnector connector) {
         this.name = name;
-        this.provider = provider;
-
-
+        this.connector = connector;
     }
 
     public DirectoryNodeService getDirectoryService() throws ConnectorException {
@@ -38,12 +36,9 @@
     }
 
      public GenericDirectoryConnector getConnector(){
-        return provider.getDirectoryConnector();
+        return this.connector;
     }
 
-    public GenericDirectoryProvider getProvider() {
-        return provider;
-    }
 
     public String getName() {
         return name;

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-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -33,12 +33,12 @@
 public class ExecutionEnvironment  {
 
     private String name;
-    private GenericNodeProvider provider;
-    
+    private GenericNodeConnector  connector;
 
-    public ExecutionEnvironment(String name, GenericNodeProvider provider) {
+
+    public ExecutionEnvironment(String name, GenericNodeConnector connector) {
         this.name = name;
-        this.provider = provider;
+        this.connector = connector;
     }
 
     public ExecutionNode getExecutionNode() throws ConnectorException {
@@ -57,12 +57,10 @@
     }
 
     public GenericNodeConnector getConnector(){
-        return provider.getNodeConnector();
+        return this.connector;
     }
 
-    public GenericNodeProvider getProvider() {
-        return provider;
-    }
+    
 
     public String getName() {
         return name;

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericNodeProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericNodeProvider.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericNodeProvider.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,31 +0,0 @@
-package org.drools.grid.services;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.drools.grid.GenericNodeConnector;
-
-/**
- * @author salaboy
- */
-public abstract class GenericNodeProvider {
-    protected Map<String, Object> parameters = new HashMap<String, Object>();
-
-
-    public abstract GenericNodeConnector getNodeConnector();
-
-    
-    
-    public void setParameter(String name, Object value){
-        this.parameters.put(name, value);
-    }
-    public Object getParameter(String name){
-        return this.parameters.get(name);
-    }
-    public Map<String, Object> getParameters(){
-        return this.parameters;
-    }
-
-    public abstract ExecutionEnvironment getExecutionEnvironment(String name);
-
-    public abstract String getId();
-}

Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java (from rev 33555, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericNodeProvider.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,28 @@
+package org.drools.grid.services;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author salaboy
+ */
+public abstract class GenericProvider {
+    protected Map<String, Object> parameters = new HashMap<String, Object>();
+
+
+   
+
+    public abstract ProviderType getProviderType();
+    
+    public void setParameter(String name, Object value){
+        this.parameters.put(name, value);
+    }
+    public Object getParameter(String name){
+        return this.parameters.get(name);
+    }
+    public Map<String, Object> getParameters(){
+        return this.parameters;
+    }
+
+    public abstract String getId();
+}

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-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -13,6 +13,9 @@
 import org.drools.grid.GenericDirectoryConnector;
 import org.drools.grid.GenericHumanTaskConnector;
 import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.services.factory.DirectoryInstanceFactory;
+import org.drools.grid.services.factory.ExecutionEnvironmentFactory;
+import org.drools.grid.services.factory.TaskServerInstanceFactory;
 import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
 import org.drools.grid.services.strategies.ExecutionEnvironmentSelectionStrategy;
 import org.drools.grid.strategies.ReturnAlwaysTheFirstSelectionStrategy;
@@ -26,6 +29,8 @@
     private Map<String, ExecutionEnvironment> executionEnvironments = new HashMap<String, ExecutionEnvironment>();
     private Map<String, DirectoryInstance> directories = new HashMap<String, DirectoryInstance>();
     private Map<String, TaskServerInstance> taskServerInstance = new HashMap<String, TaskServerInstance>();
+    
+
     private Map<String, GenericConnection> connections = new HashMap<String, GenericConnection>();
 
     public GridTopology(String topologyName) {
@@ -33,9 +38,10 @@
 
     }
 
-    public void registerExecutionEnvironment(String name, GenericNodeProvider provider) throws ConnectorException {
+    public void registerExecutionEnvironment(String name, GenericProvider provider) throws ConnectorException {
         //Create the executionEnvironment using the provider
-        ExecutionEnvironment environment = new ExecutionEnvironment(name, provider);
+        
+        ExecutionEnvironment environment = ExecutionEnvironmentFactory.newExecutionEnvironment(name, provider);
         //Get the connector
         GenericNodeConnector connector = environment.getConnector();
         //Get the connection
@@ -60,8 +66,10 @@
 
     }
 
-    public void registerDirectoryInstance(String name, GenericDirectoryProvider provider) throws ConnectorException {
-        DirectoryInstance directory = new DirectoryInstance(name, provider);
+    public void registerDirectoryInstance(String name, GenericProvider provider) throws ConnectorException {
+        
+        DirectoryInstance directory = DirectoryInstanceFactory.newDirectoryInstance(name, provider);
+
         GenericDirectoryConnector connector = directory.getConnector();
         GenericConnection connection = connector.getConnection();
 
@@ -81,8 +89,9 @@
 
     }
 
-    public void registerTaskServerInstance(String name, GenericHumanTaskProvider provider) throws ConnectorException {
-        TaskServerInstance taskServer = new TaskServerInstance(name, provider);
+    public void registerTaskServerInstance(String name, GenericProvider provider) throws ConnectorException {
+        
+        TaskServerInstance taskServer = TaskServerInstanceFactory.newTaskServerInstance(name, provider);
         GenericHumanTaskConnector connector = taskServer.getConnector();
         GenericConnection connection = connector.getConnection();
         connection.addHumanTaskNode(connector);

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ProviderType.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ProviderType.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ProviderType.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,24 @@
+/*
+ *  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.services;
+
+/**
+ *
+ * @author salaboy
+ */
+public enum ProviderType {Local, RemoteMina, RemoteHornetQ, DistributedRio};

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/TaskServerInstance.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/TaskServerInstance.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/TaskServerInstance.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -13,11 +13,11 @@
 public class TaskServerInstance {
 
     private String name;
-    private GenericHumanTaskProvider provider;
+    private GenericHumanTaskConnector connector;
 
-    public TaskServerInstance(String name, GenericHumanTaskProvider provider) {
+    public TaskServerInstance(String name, GenericHumanTaskConnector connector) {
         this.name = name;
-        this.provider = provider;
+        this.connector = connector;
     }
 
     public HumanTaskService getTaskClient() throws ConnectorException {
@@ -39,12 +39,9 @@
     }
 
     public GenericHumanTaskConnector getConnector(){
-        return provider.getHumanTaskConnector();
+        return this.connector;
     }
 
-    public GenericHumanTaskProvider getProvider() {
-        return provider;
-    }
 
     public String getName() {
         return name;

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/DirectoryInstanceFactory.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/DirectoryInstanceFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/DirectoryInstanceFactory.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,67 @@
+/*
+ *  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.services.factory;
+
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.DirectoryNodeLocalImpl;
+import org.drools.grid.local.LocalDirectoryConnector;
+import org.drools.grid.remote.directory.RemoteMinaDirectoryConnector;
+import org.drools.grid.services.DirectoryInstance;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.remote.MinaProvider;
+/**
+ *
+ * @author salaboy
+ */
+
+
+public class DirectoryInstanceFactory {
+    public static DirectoryInstance newDirectoryInstance(String name, GenericProvider provider){
+        DirectoryInstance directoryInstance = null;
+        switch (provider.getProviderType()){
+            case Local: {
+                    directoryInstance = new DirectoryInstance(name, new LocalDirectoryConnector(new DirectoryNodeLocalImpl()));
+
+                break;
+            }
+            case RemoteMina: {
+                    directoryInstance = new DirectoryInstance(name,
+                            new RemoteMinaDirectoryConnector(name,
+                                    ((MinaProvider)provider).getProviderAddress(),
+                                    ((MinaProvider)provider).getProviderPort(),
+                                    SystemEventListenerFactory.getSystemEventListener()));
+
+                break;
+            }
+            case RemoteHornetQ: {
+
+
+                break;
+            }
+            case DistributedRio: {
+//                    directoryInstance = new DirectoryInstance(name,
+//                            new DistributedRioDirectoryConnector(name);
+
+                break;
+            }
+
+        }
+
+        return directoryInstance;
+    }
+}

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/ExecutionEnvironmentFactory.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/ExecutionEnvironmentFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/ExecutionEnvironmentFactory.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,69 @@
+/*
+ *  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.services.factory;
+
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.local.LocalNodeConnector;
+import org.drools.grid.remote.mina.RemoteMinaNodeConnector;
+import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.remote.MinaProvider;
+/**
+ *
+ * @author salaboy
+ */
+
+
+public class ExecutionEnvironmentFactory {
+    public static ExecutionEnvironment newExecutionEnvironment(String name, GenericProvider provider){
+        ExecutionEnvironment executionEnvironment = null;
+        switch (provider.getProviderType()){
+            case Local: {
+                    executionEnvironment = new ExecutionEnvironment(name, new LocalNodeConnector());
+
+                break;
+            }
+            case RemoteMina: {
+                    executionEnvironment = new ExecutionEnvironment(name,
+                            new RemoteMinaNodeConnector(name,
+                                    ((MinaProvider)provider).getProviderAddress(),
+                                    ((MinaProvider)provider).getProviderPort(),
+                                    SystemEventListenerFactory.getSystemEventListener()));
+
+                break;
+            }
+            case RemoteHornetQ: {
+
+
+                break;
+            }
+            case DistributedRio: {
+                    executionEnvironment = new ExecutionEnvironment(name,
+                            new RemoteMinaNodeConnector(name,
+                                    ((MinaProvider)provider).getProviderAddress(),
+                                    ((MinaProvider)provider).getProviderPort(),
+                                    SystemEventListenerFactory.getSystemEventListener()));
+
+                break;
+            }
+
+        }
+
+        return executionEnvironment;
+    }
+}

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/TaskServerInstanceFactory.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/TaskServerInstanceFactory.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/TaskServerInstanceFactory.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,66 @@
+/*
+ *  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.services.factory;
+
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.TaskServerInstance;
+import org.drools.grid.services.remote.MinaProvider;
+import org.drools.grid.task.RemoteMinaHumanTaskConnector;
+/**
+ *
+ * @author salaboy
+ */
+
+
+public class TaskServerInstanceFactory {
+    public static TaskServerInstance newTaskServerInstance(String name, GenericProvider provider){
+        TaskServerInstance taskServerInstance = null;
+        switch (provider.getProviderType()){
+            case Local: {
+                    throw new UnsupportedOperationException("We don't have a local implementation for the Task Service. Yet!");
+
+                
+            }
+            case RemoteMina: {
+                    taskServerInstance = new TaskServerInstance(name,
+                            new RemoteMinaHumanTaskConnector(name,
+                                    ((MinaProvider)provider).getProviderAddress(),
+                                    ((MinaProvider)provider).getProviderPort(),
+                                    SystemEventListenerFactory.getSystemEventListener()));
+
+                break;
+            }
+            case RemoteHornetQ: {
+                    throw new UnsupportedOperationException("We don't have a HortnetQ implementation for the Task Service. Yet!");
+
+                //break;
+            }
+            case DistributedRio: {
+                throw new UnsupportedOperationException("We don't have a Distributed Rio implementation for the Task Service. Yet!");
+//                    directoryInstance = new DirectoryInstance(name,
+//                            new DistributedRioDirectoryConnector(name);
+
+               // break;
+            }
+
+        }
+
+        return taskServerInstance;
+    }
+}

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalDirectoryProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalDirectoryProvider.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalDirectoryProvider.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,69 +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.services.local;
-
-import java.util.UUID;
-import org.drools.grid.GenericDirectoryConnector;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.DirectoryNodeLocalImpl;
-import org.drools.grid.local.LocalDirectoryConnector;
-import org.drools.grid.local.LocalNodeConnector;
-import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericDirectoryProvider;
-
-
-
-/**
- *
- * @author salaboy
- */
-public class LocalDirectoryProvider extends GenericDirectoryProvider {
-
-    private String id;
-    private transient GenericDirectoryConnector directoryConnector;
-    
-
-    public LocalDirectoryProvider() {
-        this.id = UUID.randomUUID().toString();
-        init();
-    }
-
-    private void init() {
-        directoryConnector = new LocalDirectoryConnector(new DirectoryNodeLocalImpl());
-        
-    }
-
-    public GenericDirectoryConnector getDirectoryConnector() {
-        return this.directoryConnector;
-    }
-
-    
-    public DirectoryInstance getDirectoryInstance(String name) {
-        return new DirectoryInstance(name, this);
-    }
-
-    
-    public String getId() {
-        return "LocalDirectoryProvider:"+id;
-    }
-
-    
-   
-
-    
-}

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,64 +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.services.local;
-
-import java.util.UUID;
-import org.drools.grid.GenericDirectoryConnector;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.DirectoryNodeLocalImpl;
-import org.drools.grid.local.LocalDirectoryConnector;
-import org.drools.grid.local.LocalNodeConnector;
-import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericNodeProvider;
-
-
-/**
- *
- * @author salaboy
- */
-public class LocalNodeProvider extends GenericNodeProvider {
-
-    private String id;
-    private transient GenericNodeConnector nodeConnector;
-    
-
-    public LocalNodeProvider() {
-        this.id = UUID.randomUUID().toString();
-        init();
-    }
-
-    private void init() {
-        nodeConnector = new LocalNodeConnector();
-        
-    }
-
-    public GenericNodeConnector getNodeConnector() {
-        return this.nodeConnector;
-    }
-
-    @Override
-    public ExecutionEnvironment getExecutionEnvironment(String name) {
-        return new ExecutionEnvironment(name, this);
-    }
-
-    @Override
-    public String getId() {
-        return "LocalEnvironmentProvider:"+id;
-    }
-
-    
-}

Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalProvider.java (from rev 33634, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalProvider.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,40 @@
+/*
+ *  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.services.local;
+
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.ProviderType;
+
+/**
+ *
+ * @author salaboy
+ */
+public class LocalProvider extends GenericProvider {
+
+    public LocalProvider() {
+    }
+
+    @Override
+    public String getId() {
+        return "LocalProvider:";
+    }
+
+    @Override
+    public ProviderType getProviderType() {
+        return ProviderType.Local;
+    }
+}

Deleted: 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	2010-06-25 13:31:34 UTC (rev 33641)
+++ 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-25 14:31:17 UTC (rev 33642)
@@ -1,61 +0,0 @@
-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;
-    }
-
-}

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaHumanTaskProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaHumanTaskProvider.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaHumanTaskProvider.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,66 +0,0 @@
-package org.drools.grid.services.remote;
-
-
-
-import org.drools.SystemEventListenerFactory;
-import org.drools.grid.GenericHumanTaskConnector;
-import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.GenericHumanTaskProvider;
-import org.drools.grid.services.TaskServerInstance;
-import org.drools.grid.task.MinaRemoteHumanTaskConnector;
-/**
- * @author salaboy
- */
-public class MinaHumanTaskProvider extends GenericHumanTaskProvider {
-
-    private transient GenericHumanTaskConnector connector;
-    private String providerName;
-    private String providerAddress;
-    private int providerPort;
-
-    public MinaHumanTaskProvider(String providerName, String providerAddress, int providerPort) {
-        this.providerName = providerName;
-        this.providerAddress = providerAddress;
-        this.providerPort = providerPort;
-        initializeConnector();
-    }
-
-   
-    private void initializeConnector(){
-        connector = new MinaRemoteHumanTaskConnector(providerName,providerAddress, providerPort,
-                                    SystemEventListenerFactory.getSystemEventListener());
-    }
-
-
-    @Override
-    public TaskServerInstance getTaskServerInstance(String name) {
-       return new TaskServerInstance(name, this);
-    }
-   
-
-    @Override
-    public GenericHumanTaskConnector getHumanTaskConnector() {
-        return this.connector;
-    }
-
-    public String getProviderAddress() {
-        return providerAddress;
-    }
-
-    public String getProviderName() {
-        return providerName;
-    }
-
-    public int getProviderPort() {
-        return providerPort;
-    }
-
-    @Override
-    public String getId() {
-        return "MinaHumanTaskProvider:"+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/MinaNodeProvider.java
===================================================================
--- 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-25 13:31:34 UTC (rev 33641)
+++ 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-25 14:31:17 UTC (rev 33642)
@@ -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 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;
-    }
-
-}

Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java (from 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)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java	                        (rev 0)
+++ 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-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,46 @@
+package org.drools.grid.services.remote;
+
+
+
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.ProviderType;
+
+/**
+ * @author salaboy
+ */
+public class MinaProvider extends GenericProvider {
+
+    
+    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;
+    }
+
+    public String getProviderAddress() {
+        return providerAddress;
+    }
+
+    public String getProviderName() {
+        return providerName;
+    }
+
+    public int getProviderPort() {
+        return providerPort;
+    }
+
+    @Override
+    public String getId() {
+        return "MinaProvider:"+providerName+":"+providerAddress+":"+providerPort;
+    }
+
+    @Override
+    public ProviderType getProviderType() {
+        return ProviderType.RemoteMina;
+    }
+
+}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/DirectoryInstanceByPrioritySelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/DirectoryInstanceByPrioritySelectionStrategy.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/DirectoryInstanceByPrioritySelectionStrategy.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -23,9 +23,10 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.drools.grid.ConnectorType;
 import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.GenericNodeProvider;
-import org.drools.grid.services.local.LocalNodeProvider;
+import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.remote.MinaProvider;
 
 
 /**
@@ -42,19 +43,19 @@
 
         Collections.sort(directories, new Comparator<DirectoryInstance>() {
 
-            private Map<Class<? extends GenericNodeProvider> , Integer> priorities
-                        = new HashMap<Class<? extends GenericNodeProvider>, Integer>() {
+            private Map<ConnectorType , Integer> priorities
+                        = new HashMap<ConnectorType, Integer>() {
                 {
-                    put(LocalNodeProvider.class, 1);
+                    put(ConnectorType.LOCAL, 1);
                    // put("RioEnvironmentProvider", 2);
                    // put("HornetQEnvironmentProvider", 3);
-                   // put(MinaDirectoryProvider.class, 4);
+                   put(ConnectorType.REMOTE, 4);
                 }
             };
 
             public int compare(DirectoryInstance o1, DirectoryInstance o2) {
-                return priorities.get(o1.getProvider().getClass())
-                        .compareTo(priorities.get(o2.getProvider().getClass()));
+                return priorities.get(o1.getConnector().getConnectorType())
+                        .compareTo(priorities.get(o2.getConnector().getConnectorType()));
             }
         });
 

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-25 13:31:34 UTC (rev 33641)
+++ 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-25 14:31:17 UTC (rev 33642)
@@ -22,10 +22,11 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.drools.grid.ConnectorType;
 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.MinaNodeProvider;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.remote.MinaProvider;
 
 /**
  *
@@ -39,18 +40,18 @@
         System.out.println("Exec environments inside the strategy "+executionEnvironments);
         Collections.sort(executionEnvironments, new Comparator<ExecutionEnvironment>() {
 
-            private Map<Class<? extends GenericNodeProvider>, Integer> priorities = new HashMap<Class<? extends GenericNodeProvider>, Integer>() {
+            private Map<ConnectorType, Integer> priorities = new HashMap<ConnectorType, Integer>() {
 
                 {
-                    put(LocalNodeProvider.class, 1);
+                    put(ConnectorType.LOCAL, 1);
                     // put("RioEnvironmentProvider", 2);
                     // put("HornetQEnvironmentProvider", 3);
-                    put(MinaNodeProvider.class, 4);
+                    put(ConnectorType.REMOTE, 4);
                 }
             };
 
             public int compare(ExecutionEnvironment o1, ExecutionEnvironment o2) {
-                return priorities.get(o1.getProvider().getClass()).compareTo(priorities.get(o2.getProvider().getClass()));
+                return priorities.get(o1.getConnector().getConnectorType()).compareTo(priorities.get(o2.getConnector().getConnectorType()));
             }
         });
 

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-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -23,7 +23,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.MinaNodeProvider;
+import org.drools.grid.services.remote.MinaProvider;
 import org.drools.grid.services.strategies.RandomEnvironmentSelectionStrategy;
 import org.drools.io.ResourceFactory;
 import org.drools.runtime.StatefulKnowledgeSession;
@@ -101,7 +101,7 @@
 
       
         //Create the provider
-        MinaNodeProvider provider = new MinaNodeProvider("Mina1", "127.0.0.1", 9123);
+        MinaProvider provider = new MinaProvider("Mina1", "127.0.0.1", 9123);
         //Register the provider into the topology
         grid.registerExecutionEnvironment("MyMinaExecutionEnv1", provider);
 
@@ -174,13 +174,13 @@
 
        
         //Create the provider
-        MinaNodeProvider provider1 = new MinaNodeProvider("Mina1", "127.0.0.1", 9123);
+        MinaProvider provider1 = new MinaProvider("Mina1", "127.0.0.1", 9123);
         //Register the provider into the topology
         grid.registerExecutionEnvironment("MyMinaExecutionEnv1", provider1);
 
 
         //Create the provider
-         MinaNodeProvider provider2 = new MinaNodeProvider("Mina1", "127.0.0.1", 9124);
+         MinaProvider provider2 = new MinaProvider("Mina1", "127.0.0.1", 9124);
         //Register the provider into the topology
         grid.registerExecutionEnvironment("MyMinaExecutionEnv2", provider2);
 
@@ -236,87 +236,5 @@
         Assert.assertEquals(2, fired);
 
     }
-//
-//    @Test
-//    public void basicMinaProviderTestOLD(){
-//
-//        //This APIs are used to create the Execution Environment Topology that will define which logical set of nodes
-//        //will be used for a specific situation/use case.
-//
-//        //Runtime state, persistent
-//        ExecutionEnvironmentTopology eet = new ExecutionEnvironmentTopology("MyCompanyTopology");
-//        //Logical state and content of each execution environment
-//      // DirectoryInstance directory = eet.registerDirectoryInstance("MyMainDirectory",new ZooKeeperDirectoryProvider());
-//
-//          Map<String, Object> parameters = new HashMap<String,Object>();
-//          parameters.put("providerName", "Mina1");
-//          parameters.put("providerAddress", "127.0.0.1");
-//          parameters.put("providerPort", 9123);
-//
-//         MinaEnvironmentProvider provider = new MinaEnvironmentProvider(parameters);
-//
-//            eet.registerExecutionEnvironment("MyMinaExecutionEnv1", provider );
-//
-//
-//       //eet = ExecutionEnvironmentTopology.lookup("MyCompanyTopology");
-//
-//      // directory = eem.getDirectoryInstance("MyMainDirectory");
-//
-//      // List<DirectoryInstance> directories = eem.getAllDirectoryInstances();
-//      // this should return the active list of Envs, then we can query for the status of each of them
-////       Map<String, ExecutionEnvironment> ees = eet.getExecutionEnvironments();
-////       ees.get("MyMinaExecutionEnv1").getInfo();
-////       ees.get("MyMinaExecutionEnv1").getStatus();
-////
-//       ExecutionEnvironment ee = eet.getExecutionEnvironment("MyMinaExecutionEnv1");
-//       Assert.assertNotNull(ee);
-//        //no matter the ExecutionEnvironment I wanna an ExecutionNode, you (grid) should choose one env
-////       ExecutionNode en = eet.getExecutionNode();
-//
-//        //no matter the ExecutionEnvironment I wanna an ExecutionNode, you (grid) should choose one env
-//       ExecutionNode node = eet.getExecutionNode(ee); // give me an ExecutionNode in that environment..
-//
-//       Assert.assertNotNull(node);
-//
-//       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);
-//
-//        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/RegisterDirectoryTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -21,11 +21,9 @@
 import org.drools.grid.ConnectorException;
 import org.drools.grid.DirectoryNodeService;
 import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.GenericDirectoryProvider;
-import org.drools.grid.services.GenericNodeProvider;
+import org.drools.grid.services.GenericProvider;
 import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.local.LocalDirectoryProvider;
-import org.drools.grid.services.local.LocalNodeProvider;
+import org.drools.grid.services.local.LocalProvider;
 import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
 import org.junit.After;
 import org.junit.AfterClass;
@@ -64,8 +62,8 @@
      public void directoryLocalTest() throws ConnectorException, RemoteException {
          System.out.println("First Test!!");
         GridTopology grid = new GridTopology("MyBusinessUnit");
-        GenericDirectoryProvider localDirProvider = new LocalDirectoryProvider();
-        GenericNodeProvider localEnvProvider = new LocalNodeProvider();
+        GenericProvider localDirProvider = new LocalProvider();
+        GenericProvider localEnvProvider = new LocalProvider();
 
         grid.registerDirectoryInstance("MyLocalDir", localDirProvider);
         grid.registerExecutionEnvironment("MyLocalEnv", localEnvProvider);
@@ -87,10 +85,10 @@
      public void multiDirectoryLocalTest() throws ConnectorException, RemoteException {
          System.out.println("Second Test!!");
         GridTopology grid = new GridTopology("MyBusinessUnit");
-        GenericDirectoryProvider localDirProvider = new LocalDirectoryProvider();
-        GenericDirectoryProvider localDirProvider2 = new LocalDirectoryProvider();
-        GenericNodeProvider localEnvProvider = new LocalNodeProvider();
-        GenericNodeProvider localEnvProvider2 = new LocalNodeProvider();
+        GenericProvider localDirProvider = new LocalProvider();
+        GenericProvider localDirProvider2 = new LocalProvider();
+        GenericProvider localEnvProvider = new LocalProvider();
+        GenericProvider localEnvProvider2 = new LocalProvider();
 
         grid.registerDirectoryInstance("MyLocalDir", localDirProvider);
         grid.registerDirectoryInstance("MyLocalDir2", localDirProvider2);

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-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -39,12 +39,10 @@
 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.GenericProvider;
 import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.local.LocalNodeProvider;
-import org.drools.grid.services.remote.MinaDirectoryProvider;
-import org.drools.grid.services.remote.MinaNodeProvider;
+import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.remote.MinaProvider;
 import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
 import org.drools.io.ResourceFactory;
 import org.drools.runtime.StatefulKnowledgeSession;
@@ -133,10 +131,10 @@
      public void directoryRemoteTest() throws ConnectorException, RemoteException {
         grid = new GridTopology("MyBusinessUnit");
 
-        GenericDirectoryProvider remoteDirProvider = new MinaDirectoryProvider("MyMinaDir", "127.0.0.1", 9123);
-        GenericNodeProvider localEnvProvider = new LocalNodeProvider();
+        GenericProvider remoteDirProvider = new MinaProvider("MyMinaDir", "127.0.0.1", 9123);
+        GenericProvider localEnvProvider = new LocalProvider();
 
-        MinaNodeProvider remoteEnvProvider = new MinaNodeProvider("Mina1", "127.0.0.1", 9124);
+        MinaProvider remoteEnvProvider = new MinaProvider("Mina1", "127.0.0.1", 9124);
 
         grid.registerDirectoryInstance("MyMinaDir", remoteDirProvider);
         grid.registerExecutionEnvironment("MyLocalEnv", localEnvProvider);

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-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -43,11 +43,10 @@
 import org.drools.grid.remote.mina.MinaAcceptor;
 import org.drools.grid.remote.mina.MinaIoHandler;
 import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericHumanTaskProvider;
+import org.drools.grid.services.GenericProvider;
 import org.drools.grid.services.GridTopology;
 import org.drools.grid.services.TaskServerInstance;
-import org.drools.grid.services.remote.MinaHumanTaskProvider;
-import org.drools.grid.services.remote.MinaNodeProvider;
+import org.drools.grid.services.remote.MinaProvider;
 import org.drools.grid.task.CommandBasedServicesWSHumanTaskHandler;
 import org.drools.grid.task.HumanTaskService;
 import org.drools.grid.task.TaskServerMessageHandlerImpl;
@@ -208,14 +207,14 @@
     public void MinaTaskTest() throws InterruptedException, ConnectorException {
         grid = new GridTopology("MyBusinessUnit");
 
-        GenericHumanTaskProvider remoteTaskProvider = new MinaHumanTaskProvider("MyMinaTask", "127.0.0.1", 9123);
+        GenericProvider remoteTaskProvider = new MinaProvider("MyMinaTask", "127.0.0.1", 9123);
 
         grid.registerTaskServerInstance("MyMinaTask", remoteTaskProvider);
 
         TaskServerInstance taskServer = grid.getTaskServerInstance("MyMinaTask");
 
         //Create the provider
-        MinaNodeProvider provider = new MinaNodeProvider("Mina1", "127.0.0.1", 9124);
+        MinaProvider provider = new MinaProvider("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-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -21,7 +21,7 @@
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import org.junit.Assert;
-import org.drools.grid.services.local.LocalNodeProvider;
+import org.drools.grid.services.local.LocalProvider;
 
 import java.rmi.RemoteException;
 import org.apache.mina.transport.socket.SocketAcceptor;
@@ -39,9 +39,9 @@
 import org.drools.grid.remote.mina.MinaAcceptor;
 import org.drools.grid.remote.mina.MinaIoHandler;
 import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericNodeProvider;
+import org.drools.grid.services.GenericProvider;
 import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.remote.MinaNodeProvider;
+import org.drools.grid.services.remote.MinaProvider;
 import org.drools.grid.services.strategies.ExecutionEnvByPrioritySelectionStrategy;
 import org.drools.io.ResourceFactory;
 import org.drools.runtime.StatefulKnowledgeSession;
@@ -102,8 +102,8 @@
      public void mixedTopologyMinaAndLocal() throws ConnectorException {
         grid = new GridTopology("MyBusinessUnit");
        
-        GenericNodeProvider minaProvider = new MinaNodeProvider("Mina1", "127.0.0.1", 9123 );
-        GenericNodeProvider localProvider = new LocalNodeProvider();
+        GenericProvider minaProvider = new MinaProvider("Mina1", "127.0.0.1", 9123 );
+        GenericProvider localProvider = new LocalProvider();
 
         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/CommandBasedServicesWSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -77,7 +77,7 @@
 
     public void connect() throws ConnectorException {
         if (connector == null) {
-            connector = new MinaRemoteHumanTaskConnector("client ht",
+            connector = new RemoteMinaHumanTaskConnector("client ht",
                     ipAddress, port,
                     SystemEventListenerFactory.getSystemEventListener());
             connector.connect();

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/MinaRemoteHumanTaskConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/MinaRemoteHumanTaskConnector.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/MinaRemoteHumanTaskConnector.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,142 +0,0 @@
-package org.drools.grid.task;
-
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.rmi.RemoteException;
-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.ConnectorType;
-import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericHumanTaskConnector;
-import org.drools.grid.HumanTaskNodeService;
-
-import org.drools.grid.internal.Message;
-import org.drools.grid.internal.MessageResponseHandler;
-import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
-import org.drools.grid.GridConnection;
-import org.drools.grid.remote.mina.MinaIoHandler;
-
-public class MinaRemoteHumanTaskConnector
-        implements
-        GenericHumanTaskConnector {
-
-    protected IoSession session;
-    protected final String name;
-    protected AtomicInteger counter;
-    protected SocketConnector connector;
-    protected SocketAddress address;
-    protected SystemEventListener eventListener;
-    protected GridConnection connection;
-
-    public MinaRemoteHumanTaskConnector(String name,
-            String providerAddress, Integer providerPort,
-            SystemEventListener eventListener) {
-
-        SocketConnector minaconnector = new NioSocketConnector();
-        minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
-        if (name == null) {
-            throw new IllegalArgumentException("Name can not be null");
-        }
-        this.name = name;
-        this.counter = new AtomicInteger();
-        this.address = new InetSocketAddress(providerAddress, providerPort);
-        this.connector = minaconnector;
-        this.eventListener = eventListener;
-        this.connection = new GridConnection();
-    }
-
-    public void connect() throws ConnectorException {
-        if (session != null && session.isConnected()) {
-            throw new IllegalStateException("Already connected. Disconnect first.");
-        }
-
-        try {
-            this.connector.getFilterChain().addLast("codec",
-                    new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
-
-            ConnectFuture future1 = this.connector.connect(this.address);
-            future1.await(2000);
-            if (!future1.isConnected()) {
-                eventListener.info("unable to connect : " + address + " : " + future1.getException());
-                Logger.getLogger(MinaRemoteHumanTaskConnector.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
-                throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
-            }
-            eventListener.info("connected : " + address);
-            this.session = future1.getSession();
-        } catch (Exception e) {
-            throw new ConnectorException(e);
-        }
-    }
-
-    public void disconnect() throws ConnectorException {
-
-        if (session != null && session.isConnected()) {
-            session.close();
-            session.getCloseFuture().join();
-        }
-    }
-
-    private void addResponseHandler(int id,
-            MessageResponseHandler responseHandler) {
-        ((MinaIoHandler) this.connector.getHandler()).addResponseHandler(id,
-                responseHandler);
-    }
-
-    public void write(Message msg,
-            MessageResponseHandler responseHandler) {
-        if (responseHandler != null) {
-            addResponseHandler(msg.getResponseId(),
-                    responseHandler);
-        }
-        this.session.write(msg);
-    }
-
-    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() {
-        String hostName = ((InetSocketAddress) this.address).getHostName();
-        int hostPort = ((InetSocketAddress) this.address).getPort();
-        return "Mina:" + this.name + ":" + hostName + ":" + hostPort;
-    }
-
-    public void setSession(Object object) {
-        this.session = (IoSession) object;
-    }
-
-    public GenericConnection getConnection() {
-        return this.connection;
-    }
-
-    public HumanTaskNodeService getHumanTaskNodeService() throws ConnectorException {
-        return new HumanTaskServiceImpl(this, (int) this.session.getId());
-    }
-
-    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
-        return ConnectorType.REMOTE;
-    }
-}

Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/RemoteMinaHumanTaskConnector.java (from rev 33634, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/MinaRemoteHumanTaskConnector.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/RemoteMinaHumanTaskConnector.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/RemoteMinaHumanTaskConnector.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,142 @@
+package org.drools.grid.task;
+
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.rmi.RemoteException;
+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.ConnectorType;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericHumanTaskConnector;
+import org.drools.grid.HumanTaskNodeService;
+
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
+import org.drools.grid.GridConnection;
+import org.drools.grid.remote.mina.MinaIoHandler;
+
+public class RemoteMinaHumanTaskConnector
+        implements
+        GenericHumanTaskConnector {
+
+    protected IoSession session;
+    protected final String name;
+    protected AtomicInteger counter;
+    protected SocketConnector connector;
+    protected SocketAddress address;
+    protected SystemEventListener eventListener;
+    protected GridConnection connection;
+
+    public RemoteMinaHumanTaskConnector(String name,
+            String providerAddress, Integer providerPort,
+            SystemEventListener eventListener) {
+
+        SocketConnector minaconnector = new NioSocketConnector();
+        minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
+        if (name == null) {
+            throw new IllegalArgumentException("Name can not be null");
+        }
+        this.name = name;
+        this.counter = new AtomicInteger();
+        this.address = new InetSocketAddress(providerAddress, providerPort);
+        this.connector = minaconnector;
+        this.eventListener = eventListener;
+        this.connection = new GridConnection();
+    }
+
+    public void connect() throws ConnectorException {
+        if (session != null && session.isConnected()) {
+            throw new IllegalStateException("Already connected. Disconnect first.");
+        }
+
+        try {
+            this.connector.getFilterChain().addLast("codec",
+                    new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
+
+            ConnectFuture future1 = this.connector.connect(this.address);
+            future1.await(2000);
+            if (!future1.isConnected()) {
+                eventListener.info("unable to connect : " + address + " : " + future1.getException());
+                Logger.getLogger(RemoteMinaHumanTaskConnector.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
+                throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
+            }
+            eventListener.info("connected : " + address);
+            this.session = future1.getSession();
+        } catch (Exception e) {
+            throw new ConnectorException(e);
+        }
+    }
+
+    public void disconnect() throws ConnectorException {
+
+        if (session != null && session.isConnected()) {
+            session.close();
+            session.getCloseFuture().join();
+        }
+    }
+
+    private void addResponseHandler(int id,
+            MessageResponseHandler responseHandler) {
+        ((MinaIoHandler) this.connector.getHandler()).addResponseHandler(id,
+                responseHandler);
+    }
+
+    public void write(Message msg,
+            MessageResponseHandler responseHandler) {
+        if (responseHandler != null) {
+            addResponseHandler(msg.getResponseId(),
+                    responseHandler);
+        }
+        this.session.write(msg);
+    }
+
+    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() {
+        String hostName = ((InetSocketAddress) this.address).getHostName();
+        int hostPort = ((InetSocketAddress) this.address).getPort();
+        return "Mina:" + this.name + ":" + hostName + ":" + hostPort;
+    }
+
+    public void setSession(Object object) {
+        this.session = (IoSession) object;
+    }
+
+    public GenericConnection getConnection() {
+        return this.connection;
+    }
+
+    public HumanTaskNodeService getHumanTaskNodeService() throws ConnectorException {
+        return new HumanTaskServiceImpl(this, (int) this.session.getId());
+    }
+
+    public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+        return ConnectorType.REMOTE;
+    }
+}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java	2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java	2010-06-25 14:31:17 UTC (rev 33642)
@@ -24,7 +24,7 @@
 import org.drools.grid.internal.GenericMessageHandlerImpl;
 import org.drools.grid.remote.RemoteConnectionNode;
 import org.drools.grid.remote.mina.MinaAcceptor;
-import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
+import org.drools.grid.remote.mina.RemoteMinaNodeConnector;
 import org.drools.grid.remote.mina.MinaIoHandler;
 import org.drools.grid.strategies.ReturnAlwaysTheFirstSelectionStrategy;
 import org.drools.task.Group;
@@ -132,14 +132,14 @@
 
         // setup the ht client
 
-        htMinaClient = new MinaRemoteHumanTaskConnector("client ht",
+        htMinaClient = new RemoteMinaHumanTaskConnector("client ht",
                 htAddress,
                 htPort,
                 SystemEventListenerFactory.getSystemEventListener());
 
         // setup Remote client
 
-        minaClient = new MinaRemoteNodeConnector("client Exec Node",
+        minaClient = new RemoteMinaNodeConnector("client Exec Node",
                 execAddress,
                 execPort,
                 SystemEventListenerFactory.getSystemEventListener());



More information about the jboss-svn-commits mailing list