[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