[jboss-svn-commits] JBL Code SVN: r33532 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid: drools-grid-local/src/main/java/org/drools/grid/local and 10 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jun 16 22:55:54 EDT 2010


Author: salaboy21
Date: 2010-06-16 22:55:53 -0400 (Wed, 16 Jun 2010)
New Revision: 33532

Added:
   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-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.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/GenericDirectoryProvider.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
Removed:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeConnector.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/GridResource.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/strategies/GridResourceSelectionStrategy.java
Modified:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/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/remote/MinaProvider.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/main/java/org/drools/grid/services/strategies/LowPingFirstEnvironmentSelectionStrategy.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/RandomEnvironmentSelectionStrategy.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:
refactoring tests and how directories work

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -15,7 +15,7 @@
  * @author salaboy
  */
 
-public interface DirectoryNodeService extends GenericNodeConnector{
+public interface DirectoryNodeService extends GenericDirectoryConnector {
     public void register(String executorId, String resourceId) throws RemoteException;
     public void register(String executorId, GenericNodeConnector resourceConnector) throws RemoteException;
     public GenericNodeConnector lookup(String resourceId) throws RemoteException;

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -30,7 +30,7 @@
 
     public void addExecutionNode(GenericNodeConnector execNodeConnector);
 
-    public void addDirectoryNode(GenericNodeConnector directoryNodeConnector);
+    public void addDirectoryNode(GenericDirectoryConnector directoryNodeConnector);
 
     public void addHumanTaskNode(GenericNodeConnector humanTaskNodeConnector);
 

Added: 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	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -0,0 +1,26 @@
+/*
+ *  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;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface GenericDirectoryConnector extends GenericNodeConnector{
+    public DirectoryNodeService getDirectoryNodeService();
+}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -38,11 +38,11 @@
     private String id;
     private Map<String, String> directoryMap = new HashMap<String, String>();
     private List<GenericNodeConnector> services = new ArrayList<GenericNodeConnector>();
-    private LocalNodeConnector connector;
+    
     public DirectoryNodeLocalImpl() {
         this.id = UUID.randomUUID().toString();
-        this.connector = new LocalNodeConnector();
-        connector.getConnection().addDirectoryNode(this);
+        
+        
     }
 
     public String getId() throws RemoteException {
@@ -77,7 +77,7 @@
         return sessionService;
     }
 
-    public void registerKBase(String kbaseId, String sessionServiceId) throws RemoteException {
+    public void registerKBase(String kbaseId, String resourceId) throws RemoteException {
         throw new UnsupportedOperationException("Not supported yet.");
     }
 
@@ -86,20 +86,23 @@
     }
 
     public void addService(GenericNodeConnector service) {
-        services.add(service);
+        throw new UnsupportedOperationException("Not supported yet.");
     }
 
-    public Map<String, String> getDirectoryMap() {
-        return directoryMap;
+    public Map<String, String> getDirectoryMap() throws RemoteException {
+        return this.directoryMap;
     }
 
+    public DirectoryNodeService getDirectoryNodeService() {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
     public boolean connect() throws RemoteException {
-        //always connected, its local! :)
         return true;
     }
 
     public void disconnect() throws RemoteException {
-        //nothing to do here!
+        //do nothing
     }
 
     public Message write(Message msg) throws RemoteException {
@@ -107,13 +110,11 @@
     }
 
     public GenericConnection getConnection() {
-        return this.connector.getConnection(); 
+        throw new UnsupportedOperationException("Not supported yet.");
     }
 
     public void write(Message msg, MessageResponseHandler responseHandler) {
         throw new UnsupportedOperationException("Not supported yet.");
     }
-    public DirectoryNodeService getDirectoryNode(){
-        return this;
-    }
+
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/KnowledgeBuilderProviderLocalClient.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -3,10 +3,12 @@
  */
 package org.drools.grid.local;
 
+
 import java.util.Properties;
 
 import org.drools.KnowledgeBase;
 import org.drools.builder.DecisionTableConfiguration;
+
 import org.drools.builder.KnowledgeBuilder;
 import org.drools.builder.KnowledgeBuilderConfiguration;
 import org.drools.builder.KnowledgeBuilderFactory;

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -16,14 +16,18 @@
  */
 package org.drools.grid.local;
 
+import java.rmi.RemoteException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import org.drools.KnowledgeBaseFactoryService;
 import org.drools.builder.DirectoryLookupFactoryService;
 import org.drools.builder.KnowledgeBuilderFactoryService;
 import org.drools.grid.DirectoryNodeService;
 import org.drools.grid.ExecutionNode;
 import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericDirectoryConnector;
 import org.drools.grid.GenericNodeConnector;
 import org.drools.grid.strategies.DirectoryServiceSelectionStrategy;
 import org.drools.grid.strategies.HumanTaskServiceSelectionStrategy;
@@ -38,23 +42,22 @@
 
     //Cached NodeConnectors
     private List<GenericNodeConnector> executionNodeConnectors;
-    private List<GenericNodeConnector> directoryNodeConnectors;
+    private List<GenericDirectoryConnector> directoryNodeConnectors;
     private List<GenericNodeConnector> humanTaskNodeConnectors;
-    
 
     public LocalConnection() {
         this.executionNodeConnectors = new ArrayList<GenericNodeConnector>();
-        this.directoryNodeConnectors = new ArrayList<GenericNodeConnector>();
+        this.directoryNodeConnectors = new ArrayList<GenericDirectoryConnector>();
         this.humanTaskNodeConnectors = new ArrayList<GenericNodeConnector>();
-        //this.directoryServices.add(new DirectoryNodeLocalImpl());
+
     }
 
     public void addExecutionNode(GenericNodeConnector execNodeConnector) {
         this.executionNodeConnectors.add(execNodeConnector);
     }
 
-    public void addDirectoryNode(GenericNodeConnector directoryNodeConnector) {
-        
+    public void addDirectoryNode(GenericDirectoryConnector directoryNodeConnector) {
+
         this.directoryNodeConnectors.add(directoryNodeConnector);
     }
 
@@ -76,8 +79,21 @@
     }
 
     public DirectoryNodeService getDirectoryNode(DirectoryServiceSelectionStrategy directorySelectionStrategy) {
-        System.out.println("Directory Node Connectors inside LocalConnection = "+directoryNodeConnectors.get(0).getConnection());
-        return (DirectoryNodeLocalImpl)directoryNodeConnectors.get(0).getConnection().getDirectoryNode();
+        if(directoryNodeConnectors.size() == 0){
+            return null;
+        }
+        GenericDirectoryConnector connector = directoryNodeConnectors.get(0);
+        DirectoryNodeService directoryNode = null;
+        try {
+
+            if (connector.connect()) {
+                directoryNode = connector.getDirectoryNodeService();
+            }
+
+        } catch (RemoteException ex) {
+            Logger.getLogger(LocalConnection.class.getName()).log(Level.SEVERE, null, ex);
+        }
+        return directoryNode;
     }
 
     public DirectoryNodeService getDirectoryNode() {
@@ -106,9 +122,14 @@
         throw new UnsupportedOperationException("Not supported yet.");
     }
 
-   
     public List<ExecutionNode> getExecutionNodes() {
-        throw new UnsupportedOperationException("Not supported yet.");
+        List<ExecutionNode> executionNodes = new ArrayList<ExecutionNode>();
+        ExecutionNode node = new ExecutionNode();
+        node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderLocalClient());
+        node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderLocalClient());
+        node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderLocalClient());
+        executionNodes.add(node);
+        return executionNodes;
     }
 
     public List<DirectoryNodeService> getDirectoryNodes() {
@@ -118,8 +139,4 @@
     public List<HumanTaskNodeService> getTaskServices() {
         throw new UnsupportedOperationException("Not supported yet.");
     }
-
-
-
-
 }

Added: 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	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -0,0 +1,71 @@
+/*
+ *  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.local;
+
+import java.rmi.RemoteException;
+import org.drools.grid.DirectoryNodeService;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+
+/**
+ *
+ * @author salaboy
+ */
+public class LocalDirectoryConnector implements GenericDirectoryConnector{
+    private DirectoryNodeService directoryNode;
+    private static LocalConnection connection;
+
+    public LocalDirectoryConnector(DirectoryNodeService directoryNode) {
+        this.directoryNode = directoryNode;
+    }
+
+
+    public boolean connect() throws RemoteException {
+        return true;
+    }
+
+    public void disconnect() throws RemoteException {
+        //do nothing
+    }
+
+    public Message write(Message msg) throws RemoteException {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public String getId() throws RemoteException {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public GenericConnection getConnection() {
+        if(connection == null){
+            connection = new LocalConnection();
+        }
+       return connection;
+    }
+
+    public void write(Message msg, MessageResponseHandler responseHandler) {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    public DirectoryNodeService getDirectoryNodeService(){
+        return directoryNode;
+    }
+
+}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -27,6 +27,7 @@
 import org.drools.grid.DirectoryNodeService;
 import org.drools.grid.ExecutionNode;
 import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericDirectoryConnector;
 import org.drools.grid.GenericNodeConnector;
 import org.drools.grid.strategies.DirectoryServiceSelectionStrategy;
 import org.drools.grid.strategies.HumanTaskServiceSelectionStrategy;
@@ -43,16 +44,16 @@
 public class RemoteConnection implements GenericConnection {
     //Cached Services
 
-    private List<GenericNodeConnector> executionNodeConnector;
+    private List<GenericNodeConnector> executionNodeConnectors;
     //Cached Directories
-    private List<GenericNodeConnector> directoryNodeConnector;
+    private List<GenericDirectoryConnector> directoryNodeConnectors;
 
-    private List<GenericNodeConnector> humanTaskNodeConnector;
+    private List<GenericNodeConnector> humanTaskNodeConnectors;
 
     public RemoteConnection() {
-        this.executionNodeConnector = new ArrayList<GenericNodeConnector>();
-        this.directoryNodeConnector = new ArrayList<GenericNodeConnector>();
-        this.humanTaskNodeConnector = new ArrayList<GenericNodeConnector>();
+        this.executionNodeConnectors = new ArrayList<GenericNodeConnector>();
+        this.directoryNodeConnectors = new ArrayList<GenericDirectoryConnector>();
+        this.humanTaskNodeConnectors = new ArrayList<GenericNodeConnector>();
     }
 
     public void addExecutionNode(GenericNodeConnector execNodeConnector) {
@@ -60,17 +61,17 @@
 //        for (DirectoryNodeService directory : directoryServices) {
 //            directory.addService(execNodeConnector);
 //        }
-        this.executionNodeConnector.add(execNodeConnector);
+        this.executionNodeConnectors.add(execNodeConnector);
 
     }
 
-    public void addDirectoryNode(GenericNodeConnector directoryNodeConnector) {
-        this.directoryNodeConnector.add(directoryNodeConnector);
+    public void addDirectoryNode(GenericDirectoryConnector directoryNodeConnector) {
+        this.directoryNodeConnectors.add(directoryNodeConnector);
 
     }
 
     public void addHumanTaskNode(GenericNodeConnector humanTaskNodeConnector) {
-        this.humanTaskNodeConnector.add(humanTaskNodeConnector);
+        this.humanTaskNodeConnectors.add(humanTaskNodeConnector);
     }
 
     // In real scenarios this method will be in charge of populating
@@ -83,21 +84,21 @@
      */
     public ExecutionNode getExecutionNode(NodeSelectionStrategy strategy) {
         ExecutionNode node = null;
-        GenericNodeConnector currentNode = null;
+        GenericNodeConnector connector = null;
         try {
 
             //if the strategy is null use the default one
             if (strategy == null) {
-                currentNode = getBestNode(new StaticIncrementalSelectionStrategy(this));
+                connector = getBestNode(new StaticIncrementalSelectionStrategy(this));
             } else {
                 strategy.setConnection(this);
-                currentNode = getBestNode(strategy);
+                connector = getBestNode(strategy);
             }
-            if (currentNode.connect()) {
+            if (connector.connect()) {
                 node = new ExecutionNode();
-                node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderRemoteClient(currentNode));
-                node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderRemoteClient(currentNode));
-                node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderRemoteClient(currentNode, this));
+                node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderRemoteClient(connector));
+                node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderRemoteClient(connector));
+                node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderRemoteClient(connector, this));
 
             }else{
                 Logger.getLogger(RemoteConnection.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
@@ -119,20 +120,34 @@
         return null;
     }
 
-    public void setDirectories(List<GenericNodeConnector> directories) {
-        this.directoryNodeConnector = directories;
+    public void setDirectories(List<GenericDirectoryConnector> directories) {
+        this.directoryNodeConnectors = directories;
     }
 
     public List<GenericNodeConnector> getNodeConnectors() {
-        return executionNodeConnector;
+        return executionNodeConnectors;
     }
 
     public void setServices(List<GenericNodeConnector> services) {
-        this.executionNodeConnector = services;
+        this.executionNodeConnectors = services;
     }
 
     public DirectoryNodeService getDirectoryNode(DirectoryServiceSelectionStrategy directorySelectionStrategy) {
-        return directoryNodeConnector.get(0).getConnection().getDirectoryNode();
+        if(directoryNodeConnectors.size() == 0){
+            return null;
+        }
+        GenericDirectoryConnector connector = directoryNodeConnectors.get(0);
+        DirectoryNodeService directoryNode = null;
+        try {
+
+            if (connector.connect()) {
+                directoryNode = connector.getDirectoryNodeService();
+            }
+
+        } catch (RemoteException ex) {
+            Logger.getLogger(RemoteConnection.class.getName()).log(Level.SEVERE, null, ex);
+        }
+        return directoryNode;
     }
 
     public DirectoryNodeService getDirectoryNode() {
@@ -153,7 +168,7 @@
 
     public List<ExecutionNode> getExecutionNodes() {
         List<ExecutionNode> executionNodes = new ArrayList<ExecutionNode>();
-        for(GenericNodeConnector connector : executionNodeConnector){
+        for(GenericNodeConnector connector : executionNodeConnectors){
             try {
                 ExecutionNode node = null;
                 if (connector.connect()) {

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeConnector.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeConnector.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -1,146 +0,0 @@
-package org.drools.grid.remote.mina;
-
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.mina.core.future.ConnectFuture;
-import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.codec.ProtocolCodecFilter;
-import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
-import org.apache.mina.transport.socket.SocketConnector;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
-import org.drools.SystemEventListener;
-import org.drools.SystemEventListenerFactory;
-import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.internal.GenericIoWriter;
-import org.drools.grid.internal.Message;
-import org.drools.grid.internal.MessageResponseHandler;
-import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
-import org.drools.grid.remote.RemoteConnection;
-
-public class MinaNodeConnector
-        implements
-        GenericNodeConnector,
-        GenericIoWriter {
-
-    protected IoSession session;
-    protected final String name;
-    protected AtomicInteger counter;
-    protected SocketConnector connector;
-    protected SocketAddress address;
-    protected SystemEventListener eventListener;
-
-    public MinaNodeConnector(String name,
-            SocketConnector connector,
-            SocketAddress address,
-            SystemEventListener eventListener) {
-        if (name == null) {
-            throw new IllegalArgumentException("Name can not be null");
-        }
-        this.name = name;
-        this.counter = new AtomicInteger();
-        this.address = address;
-        this.connector = connector;
-        this.eventListener = eventListener;
-
-    }
-
-    public MinaNodeConnector(String name,
-            String providerAddress, int 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;
-    }
-
-
-  
-    public boolean connect() {
-        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());
-                return false;
-            }
-            eventListener.info("connected : " + address);
-            this.session = future1.getSession();
-            return true;
-        } catch (Exception e) {
-            e.printStackTrace();
-            return false;
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.drools.vsm.mina.Messenger#disconnect()
-     */
-    public void disconnect() {
-        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) {
-        BlockingMessageResponseHandler responseHandler = new BlockingMessageResponseHandler();
-
-        if (responseHandler != null) {
-            addResponseHandler(msg.getResponseId(),
-                    responseHandler);
-        }
-        this.session.write(msg);
-
-        Message returnMessage = responseHandler.getMessage();
-        if (responseHandler.getError() != null) {
-            throw responseHandler.getError();
-        }
-
-        return returnMessage;
-    }
-
-    public String getId() {
-        return String.valueOf(session.getId());
-    }
-
-    public void setSession(Object object) {
-        this.session = (IoSession) object;
-    }
-
-    public GenericConnection getConnection(){
-        return new RemoteConnection();
-    }
-}

Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java (from rev 33526, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeConnector.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	                        (rev 0)
+++ 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-17 02:55:53 UTC (rev 33532)
@@ -0,0 +1,146 @@
+package org.drools.grid.remote.mina;
+
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.mina.core.future.ConnectFuture;
+import org.apache.mina.core.session.IoSession;
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
+import org.apache.mina.transport.socket.SocketConnector;
+import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListener;
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.GenericIoWriter;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
+import org.drools.grid.remote.RemoteConnection;
+
+public class MinaRemoteNodeConnector
+        implements
+        GenericNodeConnector,
+        GenericIoWriter {
+
+    protected IoSession session;
+    protected final String name;
+    protected AtomicInteger counter;
+    protected SocketConnector connector;
+    protected SocketAddress address;
+    protected SystemEventListener eventListener;
+
+    public MinaRemoteNodeConnector(String name,
+            SocketConnector connector,
+            SocketAddress address,
+            SystemEventListener eventListener) {
+        if (name == null) {
+            throw new IllegalArgumentException("Name can not be null");
+        }
+        this.name = name;
+        this.counter = new AtomicInteger();
+        this.address = address;
+        this.connector = connector;
+        this.eventListener = eventListener;
+
+    }
+
+    public MinaRemoteNodeConnector(String name,
+            String providerAddress, int 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;
+    }
+
+
+  
+    public boolean connect() {
+        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());
+                return false;
+            }
+            eventListener.info("connected : " + address);
+            this.session = future1.getSession();
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.vsm.mina.Messenger#disconnect()
+     */
+    public void disconnect() {
+        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) {
+        BlockingMessageResponseHandler responseHandler = new BlockingMessageResponseHandler();
+
+        if (responseHandler != null) {
+            addResponseHandler(msg.getResponseId(),
+                    responseHandler);
+        }
+        this.session.write(msg);
+
+        Message returnMessage = responseHandler.getMessage();
+        if (responseHandler.getError() != null) {
+            throw responseHandler.getError();
+        }
+
+        return returnMessage;
+    }
+
+    public String getId() {
+        return String.valueOf(session.getId());
+    }
+
+    public void setSession(Object object) {
+        this.session = (IoSession) object;
+    }
+
+    public GenericConnection getConnection(){
+        return new RemoteConnection();
+    }
+}

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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -21,7 +21,7 @@
 import org.drools.grid.remote.RemoteConnection;
 import java.rmi.RemoteException;
 import java.util.Iterator;
-import org.drools.grid.remote.mina.MinaNodeConnector;
+import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
 import org.apache.mina.transport.socket.nio.NioSocketConnector;
 import java.io.IOException;
 import org.drools.grid.remote.mina.MinaAcceptor;
@@ -33,6 +33,7 @@
 import org.drools.grid.internal.NodeData;
 import java.net.SocketAddress;
 import java.net.InetSocketAddress;
+import org.drools.grid.local.LocalDirectoryConnector;
 import org.drools.grid.strategies.StaticIncrementalSelectionStrategy;
 import org.junit.After;
 import org.junit.Assert;
@@ -74,12 +75,13 @@
 
         //Client configuration
         connection = new RemoteConnection();
-        connection.addDirectoryNode(new DirectoryNodeLocalImpl());
+        GenericDirectoryConnector localDirectory = new LocalDirectoryConnector(new DirectoryNodeLocalImpl());
+        connection.addDirectoryNode(localDirectory);
 
         // setup Client
         NioSocketConnector clientConnector = new NioSocketConnector();
         clientConnector.setHandler( new MinaIoHandler( SystemEventListenerFactory.getSystemEventListener() ) );
-        GenericNodeConnector minaClient = new MinaNodeConnector( "client 1",
+        GenericNodeConnector minaClient = new MinaRemoteNodeConnector( "client 1",
                                                          clientConnector,
                                                          address,
                                                          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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -4,38 +4,49 @@
 import java.util.List;
 import org.drools.grid.DirectoryNodeService;
 import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericDirectoryConnector;
 import org.drools.grid.strategies.DirectoryServiceSelectionStrategy;
 
 /**
  * @author salaboy
  */
-public class DirectoryInstance extends GridResource {
+public class DirectoryInstance {
+    private String name;
+    private GenericDirectoryProvider provider;
 
-    public DirectoryInstance(String name, GenericProvider provider) {
-        super(name, provider);
+    public DirectoryInstance(String name, GenericDirectoryProvider provider) {
+        this.name = name;
+        this.provider = provider;
 
+
     }
 
     public DirectoryNodeService getDirectoryService() throws RemoteException {
         GenericConnection connection = getConnector().getConnection();
-        DirectoryNodeService directory = connection.getDirectoryNode();
-        if (directory.connect()) {
-            return directory;
-        }
-        return null;
+        return connection.getDirectoryNode();
     }
 
     public DirectoryNodeService getDirectoryService(DirectoryServiceSelectionStrategy strategy) throws RemoteException {
         GenericConnection connection = getConnector().getConnection();
-        DirectoryNodeService directory = connection.getDirectoryNode(strategy);
-        if (directory.connect()) {
-            return directory;
-        }
-        return null;
+        return connection.getDirectoryNode(strategy);
     }
 
     public List<DirectoryNodeService> getDirectoryServices() throws RemoteException {
         GenericConnection connection = getConnector().getConnection();
         return connection.getDirectories();
     }
+
+     public GenericDirectoryConnector getConnector(){
+        return provider.getDirectoryConnector();
+    }
+
+    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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -20,6 +20,7 @@
 import java.util.List;
 import org.drools.grid.ExecutionNode;
 import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
 import org.drools.grid.strategies.NodeSelectionStrategy;
 import org.drools.grid.strategies.ReturnAlwaysTheFirstSelectionStrategy;
 
@@ -27,10 +28,15 @@
  *
  * @author salaboy
  */
-public class ExecutionEnvironment extends GridResource {
+public class ExecutionEnvironment  {
 
-    public ExecutionEnvironment(String name, GenericProvider provider) {
-        super(name, provider);
+    private String name;
+    private GenericNodeProvider provider;
+    
+
+    public ExecutionEnvironment(String name, GenericNodeProvider provider) {
+        this.name = name;
+        this.provider = provider;
     }
 
     public ExecutionNode getExecutionNode() {
@@ -49,4 +55,17 @@
         
     }
 
+    public GenericNodeConnector getConnector(){
+        return provider.getNodeConnector();
+    }
+
+    public GenericNodeProvider 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/GenericDirectoryProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericDirectoryProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericDirectoryProvider.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -0,0 +1,31 @@
+package org.drools.grid.services;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.drools.grid.GenericDirectoryConnector;
+
+/**
+ * @author salaboy
+ */
+public abstract class GenericDirectoryProvider {
+    protected Map<String, Object> parameters = new HashMap<String, Object>();
+
+
+    public abstract GenericDirectoryConnector getDirectoryConnector();
+
+    
+    
+    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 DirectoryInstance getDirectoryInstance(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/GenericNodeProvider.java (from rev 33494, 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/GenericNodeProvider.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericNodeProvider.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -0,0 +1,31 @@
+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();
+}

Deleted: 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/GenericProvider.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -1,29 +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 GenericProvider {
-    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 GridResource getGridResource(String name);
-
-    public abstract String getId();
-}

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridResource.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridResource.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridResource.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -1,88 +0,0 @@
-package org.drools.grid.services;
-
-import org.drools.grid.GenericNodeConnector;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author salaboy
- */
-public abstract class GridResource {
-
-
-    private String name;
-    private GenericProvider provider;
-    public enum ProviderStatus{RUNNING, STOPPED, FAILURE};
-    private ProviderStatus status;
-    private Map<String, Object> info;
-
-
-
-    public GridResource(String name, GenericProvider provider) {
-        this.name = name;
-        this.provider = provider;
-        this.info = new HashMap<String, Object>();
-    }
-    
-
-    private void queryForInfo(){
-        //Information about the provider (Mem, CPU, KErnel, etc)
-        this.info.put("infoCPU", "80%");
-        
-    }
-
-    private boolean checkConnection(){
-
-
-        return true;
-    }
-
-    public ProviderStatus getStatus(){
-            if(checkConnection()){
-                return ProviderStatus.RUNNING;
-
-            }
-            return null;
-    }
-
-//    public long ping() throws IOException{
-//        String ip = provider.getParameter("providerAddress").toString();
-//        InetAddress in = InetAddress.getByName(ip);
-//        long startTime = System.currentTimeMillis();
-//        long timeOfResponse;
-//        if(in.isReachable(5000)){
-//            timeOfResponse = System.currentTimeMillis();
-//            System.out.println("Responde OK");
-//            return timeOfResponse - startTime;
-//        }
-//        else{
-//            System.out.println("No responde: Time out");
-//            return 0;
-//        }
-//
-//    }
-
-    public GenericNodeConnector getConnector(){
-        return provider.getNodeConnector();
-    }
-
-    public Map<String, Object> getInfo(){
-        return this.info;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-   
-    public GenericProvider getProvider() {
-        return provider;
-    }
-
-   
-   
-
-    
-    
-}
\ No newline at end of file

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -4,11 +4,12 @@
 import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
 import java.util.HashMap;
 import java.util.Map;
+import org.drools.grid.DirectoryNodeService;
 import org.drools.grid.ExecutionNode;
 import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericDirectoryConnector;
 import org.drools.grid.GenericNodeConnector;
 import org.drools.grid.services.strategies.ExecutionEnvironmentSelectionStrategy;
-import org.drools.grid.services.strategies.GridResourceSelectionStrategy;
 import org.drools.grid.strategies.ReturnAlwaysTheFirstSelectionStrategy;
 
 /**
@@ -35,7 +36,7 @@
 
 
 
-    public void registerExecutionEnvironment(String name, GenericProvider provider) throws RemoteException{
+    public void registerExecutionEnvironment(String name, GenericNodeProvider provider) throws RemoteException{
         //Create the executionEnvironment using the provider
         ExecutionEnvironment environment = new ExecutionEnvironment(name, provider);
         //Get the connector
@@ -46,38 +47,43 @@
         connection.addExecutionNode(connector);
         //Adding the connection to the Topology's list of connections
         connections.put(name, connection);
+        //Adding the env to the local cache
+        executionEnvironments.put(name, environment);
         //Register all the Execution Environments into the current directories
         registerGridResourceInCurrentDirectories(name, provider.getId());
-        //Adding the env to the local cache
-        executionEnvironments.put(name, environment);
+        
     }
 
-    public void registerDirectoryInstance(String name, GenericProvider provider) throws RemoteException{
+    public void registerDirectoryInstance(String name, GenericDirectoryProvider provider) throws RemoteException{
         DirectoryInstance directory = new DirectoryInstance(name, provider);
-        GenericNodeConnector connector = directory.getConnector();
+        GenericDirectoryConnector connector =  directory.getConnector();
         GenericConnection connection = connector.getConnection();
         connection.addDirectoryNode(connector);
-
-
         connections.put(name, connection);
+        directories.put(name, directory);
         registerGridResourceInCurrentDirectories(name, provider.getId());
-        directories.put(name, directory);
+        
     }
 
-    public void registerTaskServerInstance(String name, GenericProvider provider) throws RemoteException{
+    public void registerTaskServerInstance(String name, GenericNodeProvider provider) throws RemoteException{
         TaskServerInstance taskServer = new TaskServerInstance(name, provider);
         GenericNodeConnector connector = taskServer.getConnector();
         GenericConnection connection = connector.getConnection();
         connection.addHumanTaskNode(connector);
         connections.put(name, connection);
+        taskServerInstance.put(name, taskServer);
         registerGridResourceInCurrentDirectories(name, provider.getId());
-        taskServerInstance.put(name, taskServer);
+        
     }
 
     private void registerGridResourceInCurrentDirectories(String name, String resourceId) throws RemoteException{
         for(DirectoryInstance directory : directories.values()){
                 System.out.println("DirectoryInstance = "+directory + " --> name ="+name + "-> resourceId = "+resourceId);
-                directory.getDirectoryService().register(name, resourceId);
+                DirectoryNodeService directoryNode = directory.getDirectoryService();
+                if( directoryNode != null){
+                    directoryNode.register(name, resourceId);
+                }
+
         }
     }
     
@@ -97,8 +103,8 @@
 
     }
     //@TODO: need to add strategy to get the execution node here!!!
-    public ExecutionNode getExecutionNode(GridResource ee) {
-        GenericConnection connection = connections.get(ee.getName());
+    public ExecutionNode getExecutionNode(ExecutionEnvironment ee) {
+        GenericConnection connection = connections.get(ee.getName()); 
         return connection.getExecutionNode(new ReturnAlwaysTheFirstSelectionStrategy(connection));
     }
 
@@ -122,7 +128,7 @@
         }
     }
 
-    public GridResource getExecutionEnvironment(String name) {
+    public ExecutionEnvironment getExecutionEnvironment(String name) {
         return executionEnvironments.get(name);
     }
 

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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/TaskServerInstance.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -3,15 +3,20 @@
 import java.util.List;
 import org.drools.grid.services.strategies.ReturnFirstHumanTaskServiceSelectionStrategy;
 import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
 import org.drools.grid.strategies.HumanTaskServiceSelectionStrategy;
 import org.drools.grid.task.HumanTaskService;
 /**
  * @author salaboy
  */
-public class TaskServerInstance extends GridResource{
+public class TaskServerInstance {
 
-    public TaskServerInstance(String name, GenericProvider provider) {
-        super(name, provider);
+    private String name;
+    private GenericNodeProvider provider;
+
+    public TaskServerInstance(String name, GenericNodeProvider provider) {
+        this.name = name;
+        this.provider = provider;
     }
 
     public HumanTaskService getTaskClient() {
@@ -38,5 +43,17 @@
         return null;
     }
 
+    public GenericNodeConnector getConnector(){
+        return provider.getNodeConnector();
+    }
 
+    public GenericNodeProvider 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/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	                        (rev 0)
+++ 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-17 02:55:53 UTC (rev 33532)
@@ -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.local;
+
+import java.util.UUID;
+import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.local.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;
+    }
+
+    
+   
+
+    
+}

Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.java (from rev 33526, 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/local/LocalNodeProvider.java	                        (rev 0)
+++ 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-17 02:55:53 UTC (rev 33532)
@@ -0,0 +1,64 @@
+/*
+ *  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.local.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;
+    }
+
+    
+}

Deleted: 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/local/LocalProvider.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ 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-17 02:55:53 UTC (rev 33532)
@@ -1,57 +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.GenericNodeConnector;
-import org.drools.grid.local.LocalNodeConnector;
-import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericProvider;
-import org.drools.grid.services.GridResource;
-
-/**
- *
- * @author salaboy
- */
-public class LocalProvider extends GenericProvider {
-
-    private String id;
-    private transient GenericNodeConnector connector;
-
-    public LocalProvider() {
-        this.id = UUID.randomUUID().toString();
-        init();
-    }
-
-    private void init() {
-        connector = new LocalNodeConnector();
-    }
-
-    public GenericNodeConnector getNodeConnector() {
-        return this.connector;
-    }
-
-    @Override
-    public GridResource getGridResource(String name) {
-        return new ExecutionEnvironment(name, this);
-    }
-
-    @Override
-    public String getId() {
-        return "LocalEnvironmentProvider:"+id;
-    }
-}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ 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-17 02:55:53 UTC (rev 33532)
@@ -4,15 +4,14 @@
 
 import org.drools.SystemEventListenerFactory;
 import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.remote.mina.MinaNodeConnector;
+import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
 import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericProvider;
-import org.drools.grid.services.GridResource;
+import org.drools.grid.services.GenericNodeProvider;
 
 /**
  * @author salaboy
  */
-public class MinaProvider extends GenericProvider {
+public class MinaProvider extends GenericNodeProvider {
 
     private transient GenericNodeConnector connector;
     private String providerName;
@@ -31,13 +30,13 @@
    
     private void initializeConnector(){
 
-        connector = new MinaNodeConnector(providerName,providerAddress, providerPort,
+        connector = new MinaRemoteNodeConnector(providerName,providerAddress, providerPort,
                                     SystemEventListenerFactory.getSystemEventListener());
     }
 
     
     @Override
-    public GridResource getGridResource(String name) {
+    public ExecutionEnvironment getExecutionEnvironment(String name) {
         return new ExecutionEnvironment(name, this);
     }
 

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-17 00:50:25 UTC (rev 33531)
+++ 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-17 02:55:53 UTC (rev 33532)
@@ -24,8 +24,8 @@
 import java.util.List;
 import java.util.Map;
 import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.GenericProvider;
-import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.GenericNodeProvider;
+import org.drools.grid.services.local.LocalNodeProvider;
 
 
 /**
@@ -42,10 +42,10 @@
 
         Collections.sort(directories, new Comparator<DirectoryInstance>() {
 
-            private Map<Class<? extends GenericProvider> , Integer> priorities
-                        = new HashMap<Class<? extends GenericProvider>, Integer>() {
+            private Map<Class<? extends GenericNodeProvider> , Integer> priorities
+                        = new HashMap<Class<? extends GenericNodeProvider>, Integer>() {
                 {
-                    put(LocalProvider.class, 1);
+                    put(LocalNodeProvider.class, 1);
                    // put("RioEnvironmentProvider", 2);
                    // put("HornetQEnvironmentProvider", 3);
                    // put(MinaDirectoryProvider.class, 4);

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-17 00:50:25 UTC (rev 33531)
+++ 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-17 02:55:53 UTC (rev 33532)
@@ -23,9 +23,8 @@
 import java.util.List;
 import java.util.Map;
 import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericProvider;
-import org.drools.grid.services.GridResource;
-import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.GenericNodeProvider;
+import org.drools.grid.services.local.LocalNodeProvider;
 import org.drools.grid.services.remote.MinaProvider;
 
 /**
@@ -40,10 +39,10 @@
         System.out.println("Exec environments inside the strategy "+executionEnvironments);
         Collections.sort(executionEnvironments, new Comparator<ExecutionEnvironment>() {
 
-            private Map<Class<? extends GenericProvider>, Integer> priorities = new HashMap<Class<? extends GenericProvider>, Integer>() {
+            private Map<Class<? extends GenericNodeProvider>, Integer> priorities = new HashMap<Class<? extends GenericNodeProvider>, Integer>() {
 
                 {
-                    put(LocalProvider.class, 1);
+                    put(LocalNodeProvider.class, 1);
                     // put("RioEnvironmentProvider", 2);
                     // put("HornetQEnvironmentProvider", 3);
                     put(MinaProvider.class, 4);

Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/GridResourceSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/GridResourceSelectionStrategy.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/GridResourceSelectionStrategy.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -1,31 +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.strategies;
-
-import java.util.Map;
-import org.drools.grid.services.GridResource;
-
-/**
- *
- * @author salaboy
- */
-public interface GridResourceSelectionStrategy {
-    public GridResource getBestGridResource();
-    public void setResources(Map<String, ? extends GridResource> resources);
-    public GridResource getBestGridResource(Map<String, ? extends GridResource> resources);
-}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/LowPingFirstEnvironmentSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/LowPingFirstEnvironmentSelectionStrategy.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/LowPingFirstEnvironmentSelectionStrategy.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -18,30 +18,31 @@
 package org.drools.grid.services.strategies;
 
 import java.util.Map;
-import org.drools.grid.services.GridResource;
+import org.drools.grid.services.ExecutionEnvironment;
 
+
 /**
  *
  * @author salaboy
  *
  * The Environment with lowest ping will be selected
  */
-public class LowPingFirstEnvironmentSelectionStrategy {
+public class LowPingFirstEnvironmentSelectionStrategy implements ExecutionEnvironmentSelectionStrategy {
 
-    private Map<String, GridResource> environments;
+    private Map<String, ExecutionEnvironment> environments;
 
     public LowPingFirstEnvironmentSelectionStrategy() {
     }
 
 
-    public LowPingFirstEnvironmentSelectionStrategy(Map<String, GridResource> environments) {
+    public LowPingFirstEnvironmentSelectionStrategy(Map<String, ExecutionEnvironment> environments) {
         this.environments = environments;
     }
 
 
-    public GridResource getBestGridResource() {
-        GridResource selectedEnv = null;
-        for(GridResource env : this.environments.values()){
+    public ExecutionEnvironment getBestGridResource() {
+        ExecutionEnvironment selectedEnv = null;
+        for(ExecutionEnvironment env : this.environments.values()){
             if(selectedEnv != null){
 //                try {
 //                    int oldping = Integer.parseInt(selectedEnv.getInfo().get("ping").toString());
@@ -60,15 +61,17 @@
         return selectedEnv;
     }
 
-    public void setResources(Map<String, GridResource> environments) {
+    public void setExecutionEnvironments(Map<String, ExecutionEnvironment> environments) {
         this.environments = environments;
     }
 
-    public GridResource getBestGridResource(Map<String, GridResource> environments) {
-        setResources(environments);
+    public ExecutionEnvironment getBestExecutionEnvironment(Map<String, ExecutionEnvironment> executionEnvironments) {
+        setExecutionEnvironments(environments);
         return getBestGridResource();
     }
+
     
+    
    
 
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/RandomEnvironmentSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/RandomEnvironmentSelectionStrategy.java	2010-06-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/RandomEnvironmentSelectionStrategy.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -19,8 +19,8 @@
 
 import java.util.Map;
 import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GridResource;
 
+
 /**
  *
  * @author salaboy
@@ -41,14 +41,14 @@
         return selectedEnv;
     }
 
-    public void setResources(Map<String, ExecutionEnvironment> environments) {
+    public void setExecutionEnvironment(Map<String, ExecutionEnvironment> environments) {
         this.environments = environments;
     }
 
 
 
     public ExecutionEnvironment getBestExecutionEnvironment(Map<String, ExecutionEnvironment> executionEnvironments) {
-        setResources(environments);
+        setExecutionEnvironment(environments);
         return getBestExecutionEnvironment();
     }
 

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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -4,16 +4,12 @@
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import java.rmi.RemoteException;
-import java.util.HashMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.drools.grid.services.GridResource;
+
 import org.drools.grid.services.GridTopology;
 import org.drools.grid.services.remote.MinaProvider;
 import org.drools.grid.ExecutionNode;
 import org.junit.Test;
 
-import java.util.Map;
 import junit.framework.Assert;
 import org.apache.mina.transport.socket.SocketAcceptor;
 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
@@ -27,6 +23,7 @@
 import org.drools.grid.internal.NodeData;
 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.strategies.RandomEnvironmentSelectionStrategy;
 import org.drools.io.ResourceFactory;
 import org.drools.runtime.StatefulKnowledgeSession;
@@ -109,7 +106,7 @@
 
         //Then we can get the registered Execution Environments by Name
 
-        GridResource ee = grid.getExecutionEnvironment("MyMinaExecutionEnv1");
+        ExecutionEnvironment ee = grid.getExecutionEnvironment("MyMinaExecutionEnv1");
         Assert.assertNotNull(ee);
 
         // Give me an ExecutionNode in the selected environment
@@ -187,7 +184,7 @@
         grid.registerExecutionEnvironment("MyMinaExecutionEnv2", provider2);
 
         //Then we can get the registered Execution Environments by Name
-        GridResource ee = grid.getBestExecutionEnvironment(new RandomEnvironmentSelectionStrategy());
+        ExecutionEnvironment ee = grid.getBestExecutionEnvironment(new RandomEnvironmentSelectionStrategy());
 
         Assert.assertNotNull(ee);
         System.out.println("Selected Environment = " + ee.getName());

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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -20,9 +20,11 @@
 import java.rmi.RemoteException;
 import org.drools.grid.DirectoryNodeService;
 import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.GenericDirectoryProvider;
+import org.drools.grid.services.GenericNodeProvider;
 import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.local.LocalDirectoryProvider;
+import org.drools.grid.services.local.LocalNodeProvider;
 import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
 import org.junit.After;
 import org.junit.AfterClass;
@@ -59,9 +61,10 @@
     
      @Test
      public void directoryLocalTest() throws RemoteException {
+         System.out.println("First Test!!");
         GridTopology grid = new GridTopology("MyBusinessUnit");
-        GenericProvider localDirProvider = new LocalProvider();
-        GenericProvider localEnvProvider = new LocalProvider();
+        GenericDirectoryProvider localDirProvider = new LocalDirectoryProvider();
+        GenericNodeProvider localEnvProvider = new LocalNodeProvider();
 
         grid.registerDirectoryInstance("MyLocalDir", localDirProvider);
         grid.registerExecutionEnvironment("MyLocalEnv", localEnvProvider);
@@ -69,23 +72,24 @@
         
 
         DirectoryInstance directory = grid.getBestDirectoryInstance(new DirectoryInstanceByPrioritySelectionStrategy());
-        Assert.assertNotNull(directory);
+        Assert.assertNotNull("Directory Instance null", directory);
 
         DirectoryNodeService dir = directory.getDirectoryService();
-        Assert.assertNotNull(dir);
+        Assert.assertNotNull("Dir Null", dir);
         
-        Assert.assertEquals(1, dir.getDirectoryMap().size());
+        Assert.assertEquals(2, dir.getDirectoryMap().size());
         
-
+        System.out.println("End First Test!!");
      }
 
      @Test
      public void multiDirectoryLocalTest() throws RemoteException {
+         System.out.println("Second Test!!");
         GridTopology grid = new GridTopology("MyBusinessUnit");
-        GenericProvider localDirProvider = new LocalProvider();
-        GenericProvider localDirProvider2 = new LocalProvider();
-        GenericProvider localEnvProvider = new LocalProvider();
-        GenericProvider localEnvProvider2 = new LocalProvider();
+        GenericDirectoryProvider localDirProvider = new LocalDirectoryProvider();
+        GenericDirectoryProvider localDirProvider2 = new LocalDirectoryProvider();
+        GenericNodeProvider localEnvProvider = new LocalNodeProvider();
+        GenericNodeProvider localEnvProvider2 = new LocalNodeProvider();
 
         grid.registerDirectoryInstance("MyLocalDir", localDirProvider);
         grid.registerDirectoryInstance("MyLocalDir2", localDirProvider2);
@@ -96,23 +100,23 @@
 
         //DirectoryInstance directory = grid.getBestDirectoryInstance(new DirectoryInstanceByPrioritySelectionStrategy());
         DirectoryInstance directory = grid.getDirectoryInstance("MyLocalDir");
-        Assert.assertNotNull(directory);
+        Assert.assertNotNull("DirInstance is null!",directory);
 
         DirectoryNodeService dir = directory.getDirectoryService();
-        Assert.assertNotNull(dir);
+        Assert.assertNotNull("Dir is null!",dir);
         
-        Assert.assertEquals(3, dir.getDirectoryMap().size());
+        Assert.assertEquals(4, dir.getDirectoryMap().size());
 
         DirectoryInstance directory2 = grid.getDirectoryInstance("MyLocalDir2");
-        Assert.assertNotNull(directory2);
+        Assert.assertNotNull("DirInstance 2 is null!",directory2);
 
         DirectoryNodeService dir2 = directory2.getDirectoryService();
-        Assert.assertNotNull(dir2);
+        Assert.assertNotNull("Dir 2 is null!", dir2);
 
-        Assert.assertEquals(2, dir2.getDirectoryMap().size());
+        Assert.assertEquals(4, dir2.getDirectoryMap().size());
 
+        System.out.println("End Second Test!!");
 
-
      }
      
 

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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -30,9 +30,9 @@
 import org.drools.grid.remote.mina.MinaAcceptor;
 import org.drools.grid.remote.mina.MinaIoHandler;
 import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.GenericNodeProvider;
 import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.local.LocalNodeProvider;
 import org.drools.grid.services.remote.MinaProvider;
 import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
 

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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -41,8 +41,8 @@
 import org.drools.grid.internal.NodeData;
 import org.drools.grid.remote.mina.MinaAcceptor;
 import org.drools.grid.remote.mina.MinaIoHandler;
-import org.drools.grid.services.GenericProvider;
-import org.drools.grid.services.GridResource;
+import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GenericNodeProvider;
 import org.drools.grid.services.GridTopology;
 import org.drools.grid.services.TaskServerInstance;
 import org.drools.grid.services.remote.MinaProvider;
@@ -206,7 +206,7 @@
     public void MinaTaskTest() throws RemoteException, InterruptedException {
         grid = new GridTopology("MyBusinessUnit");
 
-        GenericProvider remoteTaskProvider = new MinaProvider("MyMinaTask", "127.0.0.1", 9123);
+        GenericNodeProvider remoteTaskProvider = new MinaProvider("MyMinaTask", "127.0.0.1", 9123);
 
         grid.registerTaskServerInstance("MyMinaTask", remoteTaskProvider);
 
@@ -224,7 +224,7 @@
         
 
         //Create a task to test the HT client. For that we need to have a ksession with a workitem that creates it
-        GridResource ee = grid.getExecutionEnvironment("MyMinaExecutionEnv1");
+        ExecutionEnvironment ee = grid.getExecutionEnvironment("MyMinaExecutionEnv1");
         Assert.assertNotNull(ee);
 
         // Give me an ExecutionNode in the selected environment

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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -21,8 +21,7 @@
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import org.junit.Assert;
-import org.drools.grid.services.GridResource;
-import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.local.LocalNodeProvider;
 
 import java.rmi.RemoteException;
 import org.apache.mina.transport.socket.SocketAcceptor;
@@ -38,7 +37,8 @@
 import org.drools.grid.internal.NodeData;
 import org.drools.grid.remote.mina.MinaAcceptor;
 import org.drools.grid.remote.mina.MinaIoHandler;
-import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GenericNodeProvider;
 import org.drools.grid.services.GridTopology;
 import org.drools.grid.services.remote.MinaProvider;
 import org.drools.grid.services.strategies.ExecutionEnvByPrioritySelectionStrategy;
@@ -96,14 +96,14 @@
      public void mixedTopologyMinaAndLocal() throws RemoteException {
         GridTopology grid = new GridTopology("MyBusinessUnit");
        
-        GenericProvider minaProvider = new MinaProvider("Mina1","127.0.0.1",9123 );
-        GenericProvider localProvider = new LocalProvider();
+        GenericNodeProvider minaProvider = new MinaProvider("Mina1","127.0.0.1",9123 );
+        GenericNodeProvider localProvider = new LocalNodeProvider();
 
         grid.registerExecutionEnvironment("MyMinaEnv", minaProvider);
 
         grid.registerExecutionEnvironment("MyLocalEnv", localProvider);
 
-        GridResource ee = grid.getBestExecutionEnvironment(new ExecutionEnvByPrioritySelectionStrategy());
+        ExecutionEnvironment ee = grid.getBestExecutionEnvironment(new ExecutionEnvByPrioritySelectionStrategy());
         Assert.assertNotNull(ee);
         System.out.println("EE Name = "+ee.getName());
 

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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -27,7 +27,7 @@
 import org.drools.grid.GenericNodeConnector;
 import org.drools.grid.internal.Message;
 import org.drools.grid.remote.mina.MinaIoHandler;
-import org.drools.grid.remote.mina.MinaNodeConnector;
+import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
 import org.drools.task.AccessType;
 import org.drools.task.Content;
 import org.drools.task.Group;
@@ -82,7 +82,7 @@
         if (connector == null) {
             NioSocketConnector htclientConnector = new NioSocketConnector();
             htclientConnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
-            connector = new MinaNodeConnector("client ht",
+            connector = new MinaRemoteNodeConnector("client ht",
                     htclientConnector,
                     this.address,
                     SystemEventListenerFactory.getSystemEventListener());

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-17 00:50:25 UTC (rev 33531)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java	2010-06-17 02:55:53 UTC (rev 33532)
@@ -24,7 +24,7 @@
 import org.drools.grid.GenericNodeConnector;
 import org.drools.grid.internal.GenericMessageHandlerImpl;
 import org.drools.grid.remote.mina.MinaAcceptor;
-import org.drools.grid.remote.mina.MinaNodeConnector;
+import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
 import org.drools.grid.remote.mina.MinaIoHandler;
 import org.drools.grid.strategies.ReturnAlwaysTheFirstSelectionStrategy;
 import org.drools.task.Group;
@@ -127,7 +127,7 @@
         // setup the ht client
         NioSocketConnector htclientConnector = new NioSocketConnector();
         htclientConnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
-        htMinaClient = new MinaNodeConnector("client ht",
+        htMinaClient = new MinaRemoteNodeConnector("client ht",
                 htclientConnector,
                 htAddress,
                 SystemEventListenerFactory.getSystemEventListener());
@@ -140,7 +140,7 @@
         // setup RemoteService client
         NioSocketConnector clientConnector = new NioSocketConnector();
         clientConnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
-        minaClient = new MinaNodeConnector("client SM",
+        minaClient = new MinaRemoteNodeConnector("client SM",
                 clientConnector,
                 address,
                 SystemEventListenerFactory.getSystemEventListener());



More information about the jboss-svn-commits mailing list