[jboss-svn-commits] JBL Code SVN: r33642 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid: drools-grid-distributed-api/src/main/java/org/drools/grid/distributed and 14 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jun 25 10:31:18 EDT 2010
Author: salaboy21
Date: 2010-06-25 10:31:17 -0400 (Fri, 25 Jun 2010)
New Revision: 33642
Added:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/RemoteMinaDirectoryConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ProviderType.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/DirectoryInstanceFactory.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/ExecutionEnvironmentFactory.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/TaskServerInstanceFactory.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/RemoteMinaHumanTaskConnector.java
Removed:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericNodeProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalDirectoryProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaDirectoryProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaHumanTaskProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaNodeProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/MinaRemoteHumanTaskConnector.java
Modified:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericNodeConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/RioNodeConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/ExecutionNodeServiceImpl.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/GenericConnectorFactory.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/TaskServerInstance.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/DirectoryInstanceByPrioritySelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java
Log:
adding Factories in Drools-grid-services using GenericProviders
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -30,17 +30,17 @@
*/
public class DirectoryNodeLocalImpl implements DirectoryNodeService {
- private String id;
+
private Map<String, String> directoryMap = new HashMap<String, String>();
private Map<String, String> directoryKbasesMap = new HashMap<String, String>();
private List<GenericNodeConnector> services = new ArrayList<GenericNodeConnector>();
public DirectoryNodeLocalImpl() {
- this.id = "Local:Directory:";
+
}
public String getId() throws ConnectorException {
- return this.id;
+ return "Local:Directory:";
}
public void register(String executorId, String resourceId) throws ConnectorException, RemoteException {
@@ -113,7 +113,7 @@
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+ public ConnectorType getConnectorType() {
return ConnectorType.LOCAL;
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -34,7 +34,7 @@
public GenericConnection getConnection();
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException ;
+ public ConnectorType getConnectorType() ;
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericNodeConnector.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericNodeConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -18,6 +18,6 @@
NodeConnectionType getNodeConnectionType() throws ConnectorException, RemoteException ;
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException ;
+ public ConnectorType getConnectorType() ;
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/RioNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/RioNodeConnector.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/RioNodeConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -96,7 +96,7 @@
return new DistributedConnectionNode();
}
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+ public ConnectorType getConnectorType() {
return ConnectorType.DISTRIBUTED;
}
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -160,7 +160,7 @@
}
@Override
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+ public ConnectorType getConnectorType() {
return ConnectorType.DISTRIBUTED;
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/ExecutionNodeServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/ExecutionNodeServiceImpl.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-distributed-rio/src/main/java/org/drools/grid/distributed/impl/ExecutionNodeServiceImpl.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -171,7 +171,7 @@
}
@Override
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+ public ConnectorType getConnectorType() {
return ConnectorType.DISTRIBUTED;
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -58,7 +58,7 @@
return connection;
}
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+ public ConnectorType getConnectorType() {
return ConnectorType.LOCAL;
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -66,7 +66,7 @@
return new LocalConnectionNode();
}
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+ public ConnectorType getConnectorType() {
return ConnectorType.LOCAL;
}
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/GenericConnectorFactory.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/GenericConnectorFactory.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/GenericConnectorFactory.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -86,7 +86,7 @@
GenericNodeConnector connector = null;
try {
- Class clazz = Class.forName("org.drools.grid.remote.mina.MinaRemoteNodeConnector");
+ Class clazz = Class.forName("org.drools.grid.remote.mina.RemoteMinaNodeConnector");
Constructor constructor = clazz.getConstructor(String.class, String.class, Integer.class, SystemEventListener.class);
connector = (GenericNodeConnector) constructor.newInstance(connectorName, connectorAddress,
Integer.valueOf(connectorPort), SystemEventListenerFactory.getSystemEventListener());
@@ -153,7 +153,7 @@
String connectorPort = connectorDetails[3];
GenericDirectoryConnector connector = null;
try {
- Class clazz = Class.forName("org.drools.grid.remote.directory.MinaRemoteDirectoryConnector");
+ Class clazz = Class.forName("org.drools.grid.remote.directory.RemoteMinaDirectoryConnector");
Constructor constructor = clazz.getConstructor(String.class, String.class, Integer.class, SystemEventListener.class);
connector = (GenericDirectoryConnector) constructor.newInstance(connectorName, connectorAddress,
Integer.valueOf(connectorPort), SystemEventListenerFactory.getSystemEventListener());
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -40,9 +40,9 @@
* @author salaboy
*/
public class DirectoryNodeRemoteClient implements DirectoryNodeService {
- private MinaRemoteDirectoryConnector connector;
+ private RemoteMinaDirectoryConnector connector;
- DirectoryNodeRemoteClient(MinaRemoteDirectoryConnector connector) {
+ DirectoryNodeRemoteClient(RemoteMinaDirectoryConnector connector) {
this.connector = connector;
}
@@ -157,7 +157,7 @@
throw new UnsupportedOperationException("Not supported yet.");
}
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+ public ConnectorType getConnectorType() {
return ConnectorType.REMOTE;
}
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,133 +0,0 @@
-/*
- * Copyright 2010 salaboy.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * under the License.
- */
-
-package org.drools.grid.remote.directory;
-
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.rmi.RemoteException;
-import java.util.UUID;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.apache.mina.core.future.ConnectFuture;
-import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.codec.ProtocolCodecFilter;
-import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
-import org.apache.mina.transport.socket.SocketConnector;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
-import org.drools.SystemEventListener;
-import org.drools.SystemEventListenerFactory;
-import org.drools.grid.ConnectorException;
-import org.drools.grid.ConnectorType;
-import org.drools.grid.DirectoryNodeService;
-import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericDirectoryConnector;
-import org.drools.grid.GridConnection;
-import org.drools.grid.remote.mina.MinaIoHandler;
-
-/**
- *
- * @author salaboy
- */
-public class MinaRemoteDirectoryConnector implements GenericDirectoryConnector{
- private GridConnection connection;
- private String providerName;
- private SystemEventListener eventListener;
- protected IoSession session;
- protected AtomicInteger counter;
- protected SocketConnector connector;
- protected SocketAddress address;
-
-
-
- public MinaRemoteDirectoryConnector(String providerName, String providerAddress,
- Integer providerPort, SystemEventListener systemEventListener) {
- SocketConnector minaconnector = new NioSocketConnector();
- minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
- if (providerName == null) {
- throw new IllegalArgumentException("Name can not be null");
- }
- this.counter = new AtomicInteger();
- this.providerName = providerName;
- this.eventListener = systemEventListener;
- this.address = new InetSocketAddress(providerAddress, providerPort);
- this.connector = minaconnector;
- this.connection = new GridConnection();
-
- }
-
- public DirectoryNodeService getDirectoryNodeService() {
- return new DirectoryNodeRemoteClient(this);
- }
-
- public void connect() throws ConnectorException {
- if (session != null && session.isConnected()) {
- throw new IllegalStateException("Already connected. Disconnect first.");
- }
-
- try {
- this.connector.getFilterChain().addLast("codec"+UUID.randomUUID().toString(),
- new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
- System.out.println("Connecting to Server "+this.address);
- ConnectFuture future1 = this.connector.connect(this.address);
- future1.await(2000);
- if (!future1.isConnected()) {
- eventListener.info("unable to connect : " + address + " : " + future1.getException());
- Logger.getLogger(MinaRemoteDirectoryConnector.class.getName()).log(Level.SEVERE, null, "The Directory Connection Failed!");
- throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
- }
- eventListener.info("connected : " + address);
- this.session = future1.getSession();
-
- } catch (Exception e) {
- throw new ConnectorException(e);
- }
- }
-
- public void disconnect() throws ConnectorException {
- System.out.println("DisConnected to Directory Server "+this.address);
- if (session != null && session.isConnected()) {
- session.close();
- session.getCloseFuture().join();
- }
- }
-
- public String getId() {
- String hostName = ((InetSocketAddress)this.address).getHostName();
- int hostPort = ((InetSocketAddress)this.address).getPort();
- return "Mina:"+this.providerName+":"+hostName+":"+hostPort;
- }
-
- public int getSessionId() {
- return (int) session.getId();
- }
- public IoSession getSession(){
- return session;
- }
-
- public GenericConnection getConnection() {
- return this.connection;
- }
-
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
- return ConnectorType.REMOTE;
- }
-
-}
-
-
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/RemoteMinaDirectoryConnector.java (from rev 33634, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaRemoteDirectoryConnector.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/RemoteMinaDirectoryConnector.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/RemoteMinaDirectoryConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.grid.remote.directory;
+
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.rmi.RemoteException;
+import java.util.UUID;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.apache.mina.core.future.ConnectFuture;
+import org.apache.mina.core.session.IoSession;
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
+import org.apache.mina.transport.socket.SocketConnector;
+import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListener;
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.ConnectorException;
+import org.drools.grid.ConnectorType;
+import org.drools.grid.DirectoryNodeService;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.GridConnection;
+import org.drools.grid.remote.mina.MinaIoHandler;
+
+/**
+ *
+ * @author salaboy
+ */
+public class RemoteMinaDirectoryConnector implements GenericDirectoryConnector{
+ private GridConnection connection;
+ private String providerName;
+ private SystemEventListener eventListener;
+ protected IoSession session;
+ protected AtomicInteger counter;
+ protected SocketConnector connector;
+ protected SocketAddress address;
+
+
+
+ public RemoteMinaDirectoryConnector(String providerName, String providerAddress,
+ Integer providerPort, SystemEventListener systemEventListener) {
+ SocketConnector minaconnector = new NioSocketConnector();
+ minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
+ if (providerName == null) {
+ throw new IllegalArgumentException("Name can not be null");
+ }
+ this.counter = new AtomicInteger();
+ this.providerName = providerName;
+ this.eventListener = systemEventListener;
+ this.address = new InetSocketAddress(providerAddress, providerPort);
+ this.connector = minaconnector;
+ this.connection = new GridConnection();
+
+ }
+
+ public DirectoryNodeService getDirectoryNodeService() {
+ return new DirectoryNodeRemoteClient(this);
+ }
+
+ public void connect() throws ConnectorException {
+ if (session != null && session.isConnected()) {
+ throw new IllegalStateException("Already connected. Disconnect first.");
+ }
+
+ try {
+ this.connector.getFilterChain().addLast("codec"+UUID.randomUUID().toString(),
+ new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
+ System.out.println("Connecting to Server "+this.address);
+ ConnectFuture future1 = this.connector.connect(this.address);
+ future1.await(2000);
+ if (!future1.isConnected()) {
+ eventListener.info("unable to connect : " + address + " : " + future1.getException());
+ Logger.getLogger(RemoteMinaDirectoryConnector.class.getName()).log(Level.SEVERE, null, "The Directory Connection Failed!");
+ throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
+ }
+ eventListener.info("connected : " + address);
+ this.session = future1.getSession();
+
+ } catch (Exception e) {
+ throw new ConnectorException(e);
+ }
+ }
+
+ public void disconnect() throws ConnectorException {
+ System.out.println("DisConnected to Directory Server "+this.address);
+ if (session != null && session.isConnected()) {
+ session.close();
+ session.getCloseFuture().join();
+ }
+ }
+
+ public String getId() {
+ String hostName = ((InetSocketAddress)this.address).getHostName();
+ int hostPort = ((InetSocketAddress)this.address).getPort();
+ return "Mina:"+this.providerName+":"+hostName+":"+hostPort;
+ }
+
+ public int getSessionId() {
+ return (int) session.getId();
+ }
+ public IoSession getSession(){
+ return session;
+ }
+
+ public GenericConnection getConnection() {
+ return this.connection;
+ }
+
+ public ConnectorType getConnectorType() {
+ return ConnectorType.REMOTE;
+ }
+
+}
+
+
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,139 +0,0 @@
-package org.drools.grid.remote.mina;
-
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.rmi.RemoteException;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.apache.mina.core.future.ConnectFuture;
-import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.codec.ProtocolCodecFilter;
-import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
-import org.apache.mina.transport.socket.SocketConnector;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
-import org.drools.SystemEventListener;
-import org.drools.SystemEventListenerFactory;
-import org.drools.grid.ConnectorException;
-import org.drools.grid.ConnectorType;
-import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.NodeConnectionType;
-import org.drools.grid.internal.Message;
-import org.drools.grid.internal.MessageResponseHandler;
-import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
-import org.drools.grid.GridConnection;
-import org.drools.grid.remote.RemoteConnectionNode;
-
-public class MinaRemoteNodeConnector
- implements
- GenericNodeConnector {
-
- protected IoSession session;
- protected final String name;
- protected AtomicInteger counter;
- protected SocketConnector connector;
- protected SocketAddress address;
- protected SystemEventListener eventListener;
- protected GridConnection connection;
-
- public MinaRemoteNodeConnector(String name,
- String providerAddress, Integer providerPort,
- SystemEventListener eventListener) {
-
- SocketConnector minaconnector = new NioSocketConnector();
- minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
- if (name == null) {
- throw new IllegalArgumentException("Name can not be null");
- }
- this.name = name;
- this.counter = new AtomicInteger();
- this.address = new InetSocketAddress(providerAddress, providerPort);
- this.connector = minaconnector;
- this.eventListener = eventListener;
- this.connection = new GridConnection();
- }
-
- public void connect() throws ConnectorException {
- if (session != null && session.isConnected()) {
- throw new IllegalStateException("Already connected. Disconnect first.");
- }
-
- try {
- this.connector.getFilterChain().addLast("codec",
- new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
-
- ConnectFuture future1 = this.connector.connect(this.address);
- future1.await(2000);
- if (!future1.isConnected()) {
- eventListener.info("unable to connect : " + address + " : " + future1.getException());
- Logger.getLogger(MinaRemoteNodeConnector.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
- throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
- }
- eventListener.info("connected : " + address);
- this.session = future1.getSession();
- } catch (Exception e) {
- throw new ConnectorException(e);
- }
- }
-
- public void disconnect() throws ConnectorException {
-
- if (session != null && session.isConnected()) {
- session.close();
- session.getCloseFuture().join();
- }
- }
-
- private void addResponseHandler(int id,
- MessageResponseHandler responseHandler) {
- ((MinaIoHandler) this.connector.getHandler()).addResponseHandler(id,
- responseHandler);
- }
-
- public void write(Message msg,
- MessageResponseHandler responseHandler) {
- if (responseHandler != null) {
- addResponseHandler(msg.getResponseId(),
- responseHandler);
- }
- this.session.write(msg);
- }
-
- public Message write(Message msg) throws ConnectorException {
- BlockingMessageResponseHandler responseHandler = new BlockingMessageResponseHandler();
-
- if (responseHandler != null) {
- addResponseHandler(msg.getResponseId(),
- responseHandler);
- }
- this.session.write(msg);
-
- Message returnMessage = responseHandler.getMessage();
- if (responseHandler.getError() != null) {
- throw responseHandler.getError();
- }
-
- return returnMessage;
- }
-
- public String getId() {
- String hostName = ((InetSocketAddress) this.address).getHostName();
- int hostPort = ((InetSocketAddress) this.address).getPort();
- return "Mina:" + this.name + ":" + hostName + ":" + hostPort;
- }
-
-
- public GenericConnection getConnection() throws ConnectorException {
- return this.connection;
- }
-
-
- public NodeConnectionType getNodeConnectionType() throws ConnectorException{
- return new RemoteConnectionNode();
- }
-
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
- return ConnectorType.REMOTE;
- }
-}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java (from rev 33634, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,139 @@
+package org.drools.grid.remote.mina;
+
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.rmi.RemoteException;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.apache.mina.core.future.ConnectFuture;
+import org.apache.mina.core.session.IoSession;
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
+import org.apache.mina.transport.socket.SocketConnector;
+import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListener;
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.ConnectorException;
+import org.drools.grid.ConnectorType;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.NodeConnectionType;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
+import org.drools.grid.GridConnection;
+import org.drools.grid.remote.RemoteConnectionNode;
+
+public class RemoteMinaNodeConnector
+ implements
+ GenericNodeConnector {
+
+ protected IoSession session;
+ protected final String name;
+ protected AtomicInteger counter;
+ protected SocketConnector connector;
+ protected SocketAddress address;
+ protected SystemEventListener eventListener;
+ protected GridConnection connection;
+
+ public RemoteMinaNodeConnector(String name,
+ String providerAddress, Integer providerPort,
+ SystemEventListener eventListener) {
+
+ SocketConnector minaconnector = new NioSocketConnector();
+ minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
+ if (name == null) {
+ throw new IllegalArgumentException("Name can not be null");
+ }
+ this.name = name;
+ this.counter = new AtomicInteger();
+ this.address = new InetSocketAddress(providerAddress, providerPort);
+ this.connector = minaconnector;
+ this.eventListener = eventListener;
+ this.connection = new GridConnection();
+ }
+
+ public void connect() throws ConnectorException {
+ if (session != null && session.isConnected()) {
+ throw new IllegalStateException("Already connected. Disconnect first.");
+ }
+
+ try {
+ this.connector.getFilterChain().addLast("codec",
+ new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
+
+ ConnectFuture future1 = this.connector.connect(this.address);
+ future1.await(2000);
+ if (!future1.isConnected()) {
+ eventListener.info("unable to connect : " + address + " : " + future1.getException());
+ Logger.getLogger(RemoteMinaNodeConnector.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
+ throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
+ }
+ eventListener.info("connected : " + address);
+ this.session = future1.getSession();
+ } catch (Exception e) {
+ throw new ConnectorException(e);
+ }
+ }
+
+ public void disconnect() throws ConnectorException {
+
+ if (session != null && session.isConnected()) {
+ session.close();
+ session.getCloseFuture().join();
+ }
+ }
+
+ private void addResponseHandler(int id,
+ MessageResponseHandler responseHandler) {
+ ((MinaIoHandler) this.connector.getHandler()).addResponseHandler(id,
+ responseHandler);
+ }
+
+ public void write(Message msg,
+ MessageResponseHandler responseHandler) {
+ if (responseHandler != null) {
+ addResponseHandler(msg.getResponseId(),
+ responseHandler);
+ }
+ this.session.write(msg);
+ }
+
+ public Message write(Message msg) throws ConnectorException {
+ BlockingMessageResponseHandler responseHandler = new BlockingMessageResponseHandler();
+
+ if (responseHandler != null) {
+ addResponseHandler(msg.getResponseId(),
+ responseHandler);
+ }
+ this.session.write(msg);
+
+ Message returnMessage = responseHandler.getMessage();
+ if (responseHandler.getError() != null) {
+ throw responseHandler.getError();
+ }
+
+ return returnMessage;
+ }
+
+ public String getId() {
+ String hostName = ((InetSocketAddress) this.address).getHostName();
+ int hostPort = ((InetSocketAddress) this.address).getPort();
+ return "Mina:" + this.name + ":" + hostName + ":" + hostPort;
+ }
+
+
+ public GenericConnection getConnection() throws ConnectorException {
+ return this.connection;
+ }
+
+
+ public NodeConnectionType getNodeConnectionType() throws ConnectorException{
+ return new RemoteConnectionNode();
+ }
+
+ public ConnectorType getConnectorType() {
+ return ConnectorType.REMOTE;
+ }
+}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -27,7 +27,7 @@
import org.drools.grid.local.LocalDirectoryConnector;
import org.drools.grid.remote.mina.MinaAcceptor;
import org.drools.grid.remote.mina.MinaIoHandler;
-import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
+import org.drools.grid.remote.mina.RemoteMinaNodeConnector;
import org.drools.grid.strategies.StaticIncrementalSelectionStrategy;
import org.junit.After;
import org.junit.Assert;
@@ -76,7 +76,7 @@
// setup Client
- GenericNodeConnector minaClient = new MinaRemoteNodeConnector( "client 1",
+ GenericNodeConnector minaClient = new RemoteMinaNodeConnector( "client 1",
address,
port,
SystemEventListenerFactory.getSystemEventListener() );
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -13,13 +13,11 @@
*/
public class DirectoryInstance {
private String name;
- private GenericDirectoryProvider provider;
+ private GenericDirectoryConnector connector;
- public DirectoryInstance(String name, GenericDirectoryProvider provider) {
+ public DirectoryInstance(String name, GenericDirectoryConnector connector) {
this.name = name;
- this.provider = provider;
-
-
+ this.connector = connector;
}
public DirectoryNodeService getDirectoryService() throws ConnectorException {
@@ -38,12 +36,9 @@
}
public GenericDirectoryConnector getConnector(){
- return provider.getDirectoryConnector();
+ return this.connector;
}
- public GenericDirectoryProvider getProvider() {
- return provider;
- }
public String getName() {
return name;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -33,12 +33,12 @@
public class ExecutionEnvironment {
private String name;
- private GenericNodeProvider provider;
-
+ private GenericNodeConnector connector;
- public ExecutionEnvironment(String name, GenericNodeProvider provider) {
+
+ public ExecutionEnvironment(String name, GenericNodeConnector connector) {
this.name = name;
- this.provider = provider;
+ this.connector = connector;
}
public ExecutionNode getExecutionNode() throws ConnectorException {
@@ -57,12 +57,10 @@
}
public GenericNodeConnector getConnector(){
- return provider.getNodeConnector();
+ return this.connector;
}
- public GenericNodeProvider getProvider() {
- return provider;
- }
+
public String getName() {
return name;
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericNodeProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericNodeProvider.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericNodeProvider.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,31 +0,0 @@
-package org.drools.grid.services;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.drools.grid.GenericNodeConnector;
-
-/**
- * @author salaboy
- */
-public abstract class GenericNodeProvider {
- protected Map<String, Object> parameters = new HashMap<String, Object>();
-
-
- public abstract GenericNodeConnector getNodeConnector();
-
-
-
- public void setParameter(String name, Object value){
- this.parameters.put(name, value);
- }
- public Object getParameter(String name){
- return this.parameters.get(name);
- }
- public Map<String, Object> getParameters(){
- return this.parameters;
- }
-
- public abstract ExecutionEnvironment getExecutionEnvironment(String name);
-
- public abstract String getId();
-}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java (from rev 33555, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericNodeProvider.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericProvider.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,28 @@
+package org.drools.grid.services;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author salaboy
+ */
+public abstract class GenericProvider {
+ protected Map<String, Object> parameters = new HashMap<String, Object>();
+
+
+
+
+ public abstract ProviderType getProviderType();
+
+ public void setParameter(String name, Object value){
+ this.parameters.put(name, value);
+ }
+ public Object getParameter(String name){
+ return this.parameters.get(name);
+ }
+ public Map<String, Object> getParameters(){
+ return this.parameters;
+ }
+
+ public abstract String getId();
+}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -13,6 +13,9 @@
import org.drools.grid.GenericDirectoryConnector;
import org.drools.grid.GenericHumanTaskConnector;
import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.services.factory.DirectoryInstanceFactory;
+import org.drools.grid.services.factory.ExecutionEnvironmentFactory;
+import org.drools.grid.services.factory.TaskServerInstanceFactory;
import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
import org.drools.grid.services.strategies.ExecutionEnvironmentSelectionStrategy;
import org.drools.grid.strategies.ReturnAlwaysTheFirstSelectionStrategy;
@@ -26,6 +29,8 @@
private Map<String, ExecutionEnvironment> executionEnvironments = new HashMap<String, ExecutionEnvironment>();
private Map<String, DirectoryInstance> directories = new HashMap<String, DirectoryInstance>();
private Map<String, TaskServerInstance> taskServerInstance = new HashMap<String, TaskServerInstance>();
+
+
private Map<String, GenericConnection> connections = new HashMap<String, GenericConnection>();
public GridTopology(String topologyName) {
@@ -33,9 +38,10 @@
}
- public void registerExecutionEnvironment(String name, GenericNodeProvider provider) throws ConnectorException {
+ public void registerExecutionEnvironment(String name, GenericProvider provider) throws ConnectorException {
//Create the executionEnvironment using the provider
- ExecutionEnvironment environment = new ExecutionEnvironment(name, provider);
+
+ ExecutionEnvironment environment = ExecutionEnvironmentFactory.newExecutionEnvironment(name, provider);
//Get the connector
GenericNodeConnector connector = environment.getConnector();
//Get the connection
@@ -60,8 +66,10 @@
}
- public void registerDirectoryInstance(String name, GenericDirectoryProvider provider) throws ConnectorException {
- DirectoryInstance directory = new DirectoryInstance(name, provider);
+ public void registerDirectoryInstance(String name, GenericProvider provider) throws ConnectorException {
+
+ DirectoryInstance directory = DirectoryInstanceFactory.newDirectoryInstance(name, provider);
+
GenericDirectoryConnector connector = directory.getConnector();
GenericConnection connection = connector.getConnection();
@@ -81,8 +89,9 @@
}
- public void registerTaskServerInstance(String name, GenericHumanTaskProvider provider) throws ConnectorException {
- TaskServerInstance taskServer = new TaskServerInstance(name, provider);
+ public void registerTaskServerInstance(String name, GenericProvider provider) throws ConnectorException {
+
+ TaskServerInstance taskServer = TaskServerInstanceFactory.newTaskServerInstance(name, provider);
GenericHumanTaskConnector connector = taskServer.getConnector();
GenericConnection connection = connector.getConnection();
connection.addHumanTaskNode(connector);
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ProviderType.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ProviderType.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ProviderType.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.grid.services;
+
+/**
+ *
+ * @author salaboy
+ */
+public enum ProviderType {Local, RemoteMina, RemoteHornetQ, DistributedRio};
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/TaskServerInstance.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/TaskServerInstance.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/TaskServerInstance.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -13,11 +13,11 @@
public class TaskServerInstance {
private String name;
- private GenericHumanTaskProvider provider;
+ private GenericHumanTaskConnector connector;
- public TaskServerInstance(String name, GenericHumanTaskProvider provider) {
+ public TaskServerInstance(String name, GenericHumanTaskConnector connector) {
this.name = name;
- this.provider = provider;
+ this.connector = connector;
}
public HumanTaskService getTaskClient() throws ConnectorException {
@@ -39,12 +39,9 @@
}
public GenericHumanTaskConnector getConnector(){
- return provider.getHumanTaskConnector();
+ return this.connector;
}
- public GenericHumanTaskProvider getProvider() {
- return provider;
- }
public String getName() {
return name;
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/DirectoryInstanceFactory.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/DirectoryInstanceFactory.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/DirectoryInstanceFactory.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.grid.services.factory;
+
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.DirectoryNodeLocalImpl;
+import org.drools.grid.local.LocalDirectoryConnector;
+import org.drools.grid.remote.directory.RemoteMinaDirectoryConnector;
+import org.drools.grid.services.DirectoryInstance;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.remote.MinaProvider;
+/**
+ *
+ * @author salaboy
+ */
+
+
+public class DirectoryInstanceFactory {
+ public static DirectoryInstance newDirectoryInstance(String name, GenericProvider provider){
+ DirectoryInstance directoryInstance = null;
+ switch (provider.getProviderType()){
+ case Local: {
+ directoryInstance = new DirectoryInstance(name, new LocalDirectoryConnector(new DirectoryNodeLocalImpl()));
+
+ break;
+ }
+ case RemoteMina: {
+ directoryInstance = new DirectoryInstance(name,
+ new RemoteMinaDirectoryConnector(name,
+ ((MinaProvider)provider).getProviderAddress(),
+ ((MinaProvider)provider).getProviderPort(),
+ SystemEventListenerFactory.getSystemEventListener()));
+
+ break;
+ }
+ case RemoteHornetQ: {
+
+
+ break;
+ }
+ case DistributedRio: {
+// directoryInstance = new DirectoryInstance(name,
+// new DistributedRioDirectoryConnector(name);
+
+ break;
+ }
+
+ }
+
+ return directoryInstance;
+ }
+}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/ExecutionEnvironmentFactory.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/ExecutionEnvironmentFactory.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/ExecutionEnvironmentFactory.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.grid.services.factory;
+
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.local.LocalNodeConnector;
+import org.drools.grid.remote.mina.RemoteMinaNodeConnector;
+import org.drools.grid.services.ExecutionEnvironment;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.remote.MinaProvider;
+/**
+ *
+ * @author salaboy
+ */
+
+
+public class ExecutionEnvironmentFactory {
+ public static ExecutionEnvironment newExecutionEnvironment(String name, GenericProvider provider){
+ ExecutionEnvironment executionEnvironment = null;
+ switch (provider.getProviderType()){
+ case Local: {
+ executionEnvironment = new ExecutionEnvironment(name, new LocalNodeConnector());
+
+ break;
+ }
+ case RemoteMina: {
+ executionEnvironment = new ExecutionEnvironment(name,
+ new RemoteMinaNodeConnector(name,
+ ((MinaProvider)provider).getProviderAddress(),
+ ((MinaProvider)provider).getProviderPort(),
+ SystemEventListenerFactory.getSystemEventListener()));
+
+ break;
+ }
+ case RemoteHornetQ: {
+
+
+ break;
+ }
+ case DistributedRio: {
+ executionEnvironment = new ExecutionEnvironment(name,
+ new RemoteMinaNodeConnector(name,
+ ((MinaProvider)provider).getProviderAddress(),
+ ((MinaProvider)provider).getProviderPort(),
+ SystemEventListenerFactory.getSystemEventListener()));
+
+ break;
+ }
+
+ }
+
+ return executionEnvironment;
+ }
+}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/TaskServerInstanceFactory.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/TaskServerInstanceFactory.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/TaskServerInstanceFactory.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.grid.services.factory;
+
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.TaskServerInstance;
+import org.drools.grid.services.remote.MinaProvider;
+import org.drools.grid.task.RemoteMinaHumanTaskConnector;
+/**
+ *
+ * @author salaboy
+ */
+
+
+public class TaskServerInstanceFactory {
+ public static TaskServerInstance newTaskServerInstance(String name, GenericProvider provider){
+ TaskServerInstance taskServerInstance = null;
+ switch (provider.getProviderType()){
+ case Local: {
+ throw new UnsupportedOperationException("We don't have a local implementation for the Task Service. Yet!");
+
+
+ }
+ case RemoteMina: {
+ taskServerInstance = new TaskServerInstance(name,
+ new RemoteMinaHumanTaskConnector(name,
+ ((MinaProvider)provider).getProviderAddress(),
+ ((MinaProvider)provider).getProviderPort(),
+ SystemEventListenerFactory.getSystemEventListener()));
+
+ break;
+ }
+ case RemoteHornetQ: {
+ throw new UnsupportedOperationException("We don't have a HortnetQ implementation for the Task Service. Yet!");
+
+ //break;
+ }
+ case DistributedRio: {
+ throw new UnsupportedOperationException("We don't have a Distributed Rio implementation for the Task Service. Yet!");
+// directoryInstance = new DirectoryInstance(name,
+// new DistributedRioDirectoryConnector(name);
+
+ // break;
+ }
+
+ }
+
+ return taskServerInstance;
+ }
+}
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalDirectoryProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalDirectoryProvider.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalDirectoryProvider.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,69 +0,0 @@
-/*
- * Copyright 2010 salaboy.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * under the License.
- */
-package org.drools.grid.services.local;
-
-import java.util.UUID;
-import org.drools.grid.GenericDirectoryConnector;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.DirectoryNodeLocalImpl;
-import org.drools.grid.local.LocalDirectoryConnector;
-import org.drools.grid.local.LocalNodeConnector;
-import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericDirectoryProvider;
-
-
-
-/**
- *
- * @author salaboy
- */
-public class LocalDirectoryProvider extends GenericDirectoryProvider {
-
- private String id;
- private transient GenericDirectoryConnector directoryConnector;
-
-
- public LocalDirectoryProvider() {
- this.id = UUID.randomUUID().toString();
- init();
- }
-
- private void init() {
- directoryConnector = new LocalDirectoryConnector(new DirectoryNodeLocalImpl());
-
- }
-
- public GenericDirectoryConnector getDirectoryConnector() {
- return this.directoryConnector;
- }
-
-
- public DirectoryInstance getDirectoryInstance(String name) {
- return new DirectoryInstance(name, this);
- }
-
-
- public String getId() {
- return "LocalDirectoryProvider:"+id;
- }
-
-
-
-
-
-}
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,64 +0,0 @@
-/*
- * Copyright 2010 salaboy.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * under the License.
- */
-package org.drools.grid.services.local;
-
-import java.util.UUID;
-import org.drools.grid.GenericDirectoryConnector;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.DirectoryNodeLocalImpl;
-import org.drools.grid.local.LocalDirectoryConnector;
-import org.drools.grid.local.LocalNodeConnector;
-import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericNodeProvider;
-
-
-/**
- *
- * @author salaboy
- */
-public class LocalNodeProvider extends GenericNodeProvider {
-
- private String id;
- private transient GenericNodeConnector nodeConnector;
-
-
- public LocalNodeProvider() {
- this.id = UUID.randomUUID().toString();
- init();
- }
-
- private void init() {
- nodeConnector = new LocalNodeConnector();
-
- }
-
- public GenericNodeConnector getNodeConnector() {
- return this.nodeConnector;
- }
-
- @Override
- public ExecutionEnvironment getExecutionEnvironment(String name) {
- return new ExecutionEnvironment(name, this);
- }
-
- @Override
- public String getId() {
- return "LocalEnvironmentProvider:"+id;
- }
-
-
-}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalProvider.java (from rev 33634, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalNodeProvider.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalProvider.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/local/LocalProvider.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+package org.drools.grid.services.local;
+
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.ProviderType;
+
+/**
+ *
+ * @author salaboy
+ */
+public class LocalProvider extends GenericProvider {
+
+ public LocalProvider() {
+ }
+
+ @Override
+ public String getId() {
+ return "LocalProvider:";
+ }
+
+ @Override
+ public ProviderType getProviderType() {
+ return ProviderType.Local;
+ }
+}
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaDirectoryProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaDirectoryProvider.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaDirectoryProvider.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,61 +0,0 @@
-package org.drools.grid.services.remote;
-
-
-
-import org.drools.SystemEventListenerFactory;
-import org.drools.grid.GenericDirectoryConnector;
-import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.GenericDirectoryProvider;
-import org.drools.grid.remote.directory.MinaRemoteDirectoryConnector;
-/**
- * @author salaboy
- */
-public class MinaDirectoryProvider extends GenericDirectoryProvider {
-
- private transient GenericDirectoryConnector connector;
- private String providerName;
- private String providerAddress;
- private int providerPort;
-
- public MinaDirectoryProvider(String providerName, String providerAddress, int providerPort) {
- this.providerName = providerName;
- this.providerAddress = providerAddress;
- this.providerPort = providerPort;
- initializeConnector();
- }
-
-
- private void initializeConnector(){
- connector = new MinaRemoteDirectoryConnector(providerName,providerAddress, providerPort,
- SystemEventListenerFactory.getSystemEventListener());
- }
-
-
- @Override
- public DirectoryInstance getDirectoryInstance(String name) {
- return new DirectoryInstance(name, this);
- }
-
- @Override
- public GenericDirectoryConnector getDirectoryConnector() {
- return this.connector;
- }
-
- public String getProviderAddress() {
- return providerAddress;
- }
-
- public String getProviderName() {
- return providerName;
- }
-
- public int getProviderPort() {
- return providerPort;
- }
-
- @Override
- public String getId() {
- return "MinaDirectoryProvider:"+providerName+":"+providerAddress+":"+providerPort;
- }
-
-}
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaHumanTaskProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaHumanTaskProvider.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaHumanTaskProvider.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,66 +0,0 @@
-package org.drools.grid.services.remote;
-
-
-
-import org.drools.SystemEventListenerFactory;
-import org.drools.grid.GenericHumanTaskConnector;
-import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.GenericHumanTaskProvider;
-import org.drools.grid.services.TaskServerInstance;
-import org.drools.grid.task.MinaRemoteHumanTaskConnector;
-/**
- * @author salaboy
- */
-public class MinaHumanTaskProvider extends GenericHumanTaskProvider {
-
- private transient GenericHumanTaskConnector connector;
- private String providerName;
- private String providerAddress;
- private int providerPort;
-
- public MinaHumanTaskProvider(String providerName, String providerAddress, int providerPort) {
- this.providerName = providerName;
- this.providerAddress = providerAddress;
- this.providerPort = providerPort;
- initializeConnector();
- }
-
-
- private void initializeConnector(){
- connector = new MinaRemoteHumanTaskConnector(providerName,providerAddress, providerPort,
- SystemEventListenerFactory.getSystemEventListener());
- }
-
-
- @Override
- public TaskServerInstance getTaskServerInstance(String name) {
- return new TaskServerInstance(name, this);
- }
-
-
- @Override
- public GenericHumanTaskConnector getHumanTaskConnector() {
- return this.connector;
- }
-
- public String getProviderAddress() {
- return providerAddress;
- }
-
- public String getProviderName() {
- return providerName;
- }
-
- public int getProviderPort() {
- return providerPort;
- }
-
- @Override
- public String getId() {
- return "MinaHumanTaskProvider:"+providerName+":"+providerAddress+":"+providerPort;
- }
-
-
-
-
-}
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaNodeProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaNodeProvider.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaNodeProvider.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,65 +0,0 @@
-package org.drools.grid.services.remote;
-
-
-
-import org.drools.SystemEventListenerFactory;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
-import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericNodeProvider;
-
-/**
- * @author salaboy
- */
-public class MinaNodeProvider extends GenericNodeProvider {
-
- private transient GenericNodeConnector connector;
- private String providerName;
- private String providerAddress;
- private int providerPort;
-
- public MinaNodeProvider(String providerName, String providerAddress, int providerPort) {
- this.providerName = providerName;
- this.providerAddress = providerAddress;
- this.providerPort = providerPort;
- initializeConnector();
- }
-
-
-
-
- private void initializeConnector(){
-
- connector = new MinaRemoteNodeConnector(providerName,providerAddress, providerPort,
- SystemEventListenerFactory.getSystemEventListener());
- }
-
-
- @Override
- public ExecutionEnvironment getExecutionEnvironment(String name) {
- return new ExecutionEnvironment(name, this);
- }
-
- @Override
- public GenericNodeConnector getNodeConnector() {
- return this.connector;
- }
-
- public String getProviderAddress() {
- return providerAddress;
- }
-
- public String getProviderName() {
- return providerName;
- }
-
- public int getProviderPort() {
- return providerPort;
- }
-
- @Override
- public String getId() {
- return "MinaEnvironmentProvider:"+providerName+":"+providerAddress+":"+providerPort;
- }
-
-}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java (from rev 33555, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaProvider.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,46 @@
+package org.drools.grid.services.remote;
+
+
+
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.ProviderType;
+
+/**
+ * @author salaboy
+ */
+public class MinaProvider extends GenericProvider {
+
+
+ private String providerName;
+ private String providerAddress;
+ private int providerPort;
+
+ public MinaProvider(String providerName, String providerAddress, int providerPort) {
+ this.providerName = providerName;
+ this.providerAddress = providerAddress;
+ this.providerPort = providerPort;
+ }
+
+ public String getProviderAddress() {
+ return providerAddress;
+ }
+
+ public String getProviderName() {
+ return providerName;
+ }
+
+ public int getProviderPort() {
+ return providerPort;
+ }
+
+ @Override
+ public String getId() {
+ return "MinaProvider:"+providerName+":"+providerAddress+":"+providerPort;
+ }
+
+ @Override
+ public ProviderType getProviderType() {
+ return ProviderType.RemoteMina;
+ }
+
+}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/DirectoryInstanceByPrioritySelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/DirectoryInstanceByPrioritySelectionStrategy.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/DirectoryInstanceByPrioritySelectionStrategy.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -23,9 +23,10 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.drools.grid.ConnectorType;
import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.GenericNodeProvider;
-import org.drools.grid.services.local.LocalNodeProvider;
+import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.remote.MinaProvider;
/**
@@ -42,19 +43,19 @@
Collections.sort(directories, new Comparator<DirectoryInstance>() {
- private Map<Class<? extends GenericNodeProvider> , Integer> priorities
- = new HashMap<Class<? extends GenericNodeProvider>, Integer>() {
+ private Map<ConnectorType , Integer> priorities
+ = new HashMap<ConnectorType, Integer>() {
{
- put(LocalNodeProvider.class, 1);
+ put(ConnectorType.LOCAL, 1);
// put("RioEnvironmentProvider", 2);
// put("HornetQEnvironmentProvider", 3);
- // put(MinaDirectoryProvider.class, 4);
+ put(ConnectorType.REMOTE, 4);
}
};
public int compare(DirectoryInstance o1, DirectoryInstance o2) {
- return priorities.get(o1.getProvider().getClass())
- .compareTo(priorities.get(o2.getProvider().getClass()));
+ return priorities.get(o1.getConnector().getConnectorType())
+ .compareTo(priorities.get(o2.getConnector().getConnectorType()));
}
});
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -22,10 +22,11 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.drools.grid.ConnectorType;
import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericNodeProvider;
-import org.drools.grid.services.local.LocalNodeProvider;
-import org.drools.grid.services.remote.MinaNodeProvider;
+import org.drools.grid.services.GenericProvider;
+import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.remote.MinaProvider;
/**
*
@@ -39,18 +40,18 @@
System.out.println("Exec environments inside the strategy "+executionEnvironments);
Collections.sort(executionEnvironments, new Comparator<ExecutionEnvironment>() {
- private Map<Class<? extends GenericNodeProvider>, Integer> priorities = new HashMap<Class<? extends GenericNodeProvider>, Integer>() {
+ private Map<ConnectorType, Integer> priorities = new HashMap<ConnectorType, Integer>() {
{
- put(LocalNodeProvider.class, 1);
+ put(ConnectorType.LOCAL, 1);
// put("RioEnvironmentProvider", 2);
// put("HornetQEnvironmentProvider", 3);
- put(MinaNodeProvider.class, 4);
+ put(ConnectorType.REMOTE, 4);
}
};
public int compare(ExecutionEnvironment o1, ExecutionEnvironment o2) {
- return priorities.get(o1.getProvider().getClass()).compareTo(priorities.get(o2.getProvider().getClass()));
+ return priorities.get(o1.getConnector().getConnectorType()).compareTo(priorities.get(o2.getConnector().getConnectorType()));
}
});
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -23,7 +23,7 @@
import org.drools.grid.remote.mina.MinaIoHandler;
import org.drools.grid.services.ExecutionEnvironment;
import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.remote.MinaNodeProvider;
+import org.drools.grid.services.remote.MinaProvider;
import org.drools.grid.services.strategies.RandomEnvironmentSelectionStrategy;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatefulKnowledgeSession;
@@ -101,7 +101,7 @@
//Create the provider
- MinaNodeProvider provider = new MinaNodeProvider("Mina1", "127.0.0.1", 9123);
+ MinaProvider provider = new MinaProvider("Mina1", "127.0.0.1", 9123);
//Register the provider into the topology
grid.registerExecutionEnvironment("MyMinaExecutionEnv1", provider);
@@ -174,13 +174,13 @@
//Create the provider
- MinaNodeProvider provider1 = new MinaNodeProvider("Mina1", "127.0.0.1", 9123);
+ MinaProvider provider1 = new MinaProvider("Mina1", "127.0.0.1", 9123);
//Register the provider into the topology
grid.registerExecutionEnvironment("MyMinaExecutionEnv1", provider1);
//Create the provider
- MinaNodeProvider provider2 = new MinaNodeProvider("Mina1", "127.0.0.1", 9124);
+ MinaProvider provider2 = new MinaProvider("Mina1", "127.0.0.1", 9124);
//Register the provider into the topology
grid.registerExecutionEnvironment("MyMinaExecutionEnv2", provider2);
@@ -236,87 +236,5 @@
Assert.assertEquals(2, fired);
}
-//
-// @Test
-// public void basicMinaProviderTestOLD(){
-//
-// //This APIs are used to create the Execution Environment Topology that will define which logical set of nodes
-// //will be used for a specific situation/use case.
-//
-// //Runtime state, persistent
-// ExecutionEnvironmentTopology eet = new ExecutionEnvironmentTopology("MyCompanyTopology");
-// //Logical state and content of each execution environment
-// // DirectoryInstance directory = eet.registerDirectoryInstance("MyMainDirectory",new ZooKeeperDirectoryProvider());
-//
-// Map<String, Object> parameters = new HashMap<String,Object>();
-// parameters.put("providerName", "Mina1");
-// parameters.put("providerAddress", "127.0.0.1");
-// parameters.put("providerPort", 9123);
-//
-// MinaEnvironmentProvider provider = new MinaEnvironmentProvider(parameters);
-//
-// eet.registerExecutionEnvironment("MyMinaExecutionEnv1", provider );
-//
-//
-// //eet = ExecutionEnvironmentTopology.lookup("MyCompanyTopology");
-//
-// // directory = eem.getDirectoryInstance("MyMainDirectory");
-//
-// // List<DirectoryInstance> directories = eem.getAllDirectoryInstances();
-// // this should return the active list of Envs, then we can query for the status of each of them
-//// Map<String, ExecutionEnvironment> ees = eet.getExecutionEnvironments();
-//// ees.get("MyMinaExecutionEnv1").getInfo();
-//// ees.get("MyMinaExecutionEnv1").getStatus();
-////
-// ExecutionEnvironment ee = eet.getExecutionEnvironment("MyMinaExecutionEnv1");
-// Assert.assertNotNull(ee);
-// //no matter the ExecutionEnvironment I wanna an ExecutionNode, you (grid) should choose one env
-//// ExecutionNode en = eet.getExecutionNode();
-//
-// //no matter the ExecutionEnvironment I wanna an ExecutionNode, you (grid) should choose one env
-// ExecutionNode node = eet.getExecutionNode(ee); // give me an ExecutionNode in that environment..
-//
-// Assert.assertNotNull(node);
-//
-// String str = "";
-// str += "package org.drools \n";
-// str += "global java.util.List list \n";
-// str += "rule rule1 \n";
-// str += " dialect \"java\" \n";
-// str += "when \n";
-// str += "then \n";
-// str += " System.out.println( \"hello1!!!\" ); \n";
-// str += "end \n";
-// str += "rule rule2 \n";
-// str += " dialect \"java\" \n";
-// str += "when \n";
-// str += "then \n";
-// str += " System.out.println( \"hello2!!!\" ); \n";
-// str += "end \n";
-//
-//
-// KnowledgeBuilder kbuilder =
-// node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
-// kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
-// ResourceType.DRL );
-//
-// if ( kbuilder.hasErrors() ) {
-// System.out.println( "Errors: " + kbuilder.getErrors() );
-// }
-//
-// KnowledgeBase kbase =
-// node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
-// Assert.assertNotNull(kbase);
-//
-// kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-//
-// StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
-// Assert.assertNotNull(ksession);
-//
-// int fired = ksession.fireAllRules();
-// Assert.assertEquals( 2, fired );
-//
-//
-//
-// }
+
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -21,11 +21,9 @@
import org.drools.grid.ConnectorException;
import org.drools.grid.DirectoryNodeService;
import org.drools.grid.services.DirectoryInstance;
-import org.drools.grid.services.GenericDirectoryProvider;
-import org.drools.grid.services.GenericNodeProvider;
+import org.drools.grid.services.GenericProvider;
import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.local.LocalDirectoryProvider;
-import org.drools.grid.services.local.LocalNodeProvider;
+import org.drools.grid.services.local.LocalProvider;
import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
import org.junit.After;
import org.junit.AfterClass;
@@ -64,8 +62,8 @@
public void directoryLocalTest() throws ConnectorException, RemoteException {
System.out.println("First Test!!");
GridTopology grid = new GridTopology("MyBusinessUnit");
- GenericDirectoryProvider localDirProvider = new LocalDirectoryProvider();
- GenericNodeProvider localEnvProvider = new LocalNodeProvider();
+ GenericProvider localDirProvider = new LocalProvider();
+ GenericProvider localEnvProvider = new LocalProvider();
grid.registerDirectoryInstance("MyLocalDir", localDirProvider);
grid.registerExecutionEnvironment("MyLocalEnv", localEnvProvider);
@@ -87,10 +85,10 @@
public void multiDirectoryLocalTest() throws ConnectorException, RemoteException {
System.out.println("Second Test!!");
GridTopology grid = new GridTopology("MyBusinessUnit");
- GenericDirectoryProvider localDirProvider = new LocalDirectoryProvider();
- GenericDirectoryProvider localDirProvider2 = new LocalDirectoryProvider();
- GenericNodeProvider localEnvProvider = new LocalNodeProvider();
- GenericNodeProvider localEnvProvider2 = new LocalNodeProvider();
+ GenericProvider localDirProvider = new LocalProvider();
+ GenericProvider localDirProvider2 = new LocalProvider();
+ GenericProvider localEnvProvider = new LocalProvider();
+ GenericProvider localEnvProvider2 = new LocalProvider();
grid.registerDirectoryInstance("MyLocalDir", localDirProvider);
grid.registerDirectoryInstance("MyLocalDir2", localDirProvider2);
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -39,12 +39,10 @@
import org.drools.grid.remote.mina.MinaIoHandler;
import org.drools.grid.services.DirectoryInstance;
import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericDirectoryProvider;
-import org.drools.grid.services.GenericNodeProvider;
+import org.drools.grid.services.GenericProvider;
import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.local.LocalNodeProvider;
-import org.drools.grid.services.remote.MinaDirectoryProvider;
-import org.drools.grid.services.remote.MinaNodeProvider;
+import org.drools.grid.services.local.LocalProvider;
+import org.drools.grid.services.remote.MinaProvider;
import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatefulKnowledgeSession;
@@ -133,10 +131,10 @@
public void directoryRemoteTest() throws ConnectorException, RemoteException {
grid = new GridTopology("MyBusinessUnit");
- GenericDirectoryProvider remoteDirProvider = new MinaDirectoryProvider("MyMinaDir", "127.0.0.1", 9123);
- GenericNodeProvider localEnvProvider = new LocalNodeProvider();
+ GenericProvider remoteDirProvider = new MinaProvider("MyMinaDir", "127.0.0.1", 9123);
+ GenericProvider localEnvProvider = new LocalProvider();
- MinaNodeProvider remoteEnvProvider = new MinaNodeProvider("Mina1", "127.0.0.1", 9124);
+ MinaProvider remoteEnvProvider = new MinaProvider("Mina1", "127.0.0.1", 9124);
grid.registerDirectoryInstance("MyMinaDir", remoteDirProvider);
grid.registerExecutionEnvironment("MyLocalEnv", localEnvProvider);
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -43,11 +43,10 @@
import org.drools.grid.remote.mina.MinaAcceptor;
import org.drools.grid.remote.mina.MinaIoHandler;
import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericHumanTaskProvider;
+import org.drools.grid.services.GenericProvider;
import org.drools.grid.services.GridTopology;
import org.drools.grid.services.TaskServerInstance;
-import org.drools.grid.services.remote.MinaHumanTaskProvider;
-import org.drools.grid.services.remote.MinaNodeProvider;
+import org.drools.grid.services.remote.MinaProvider;
import org.drools.grid.task.CommandBasedServicesWSHumanTaskHandler;
import org.drools.grid.task.HumanTaskService;
import org.drools.grid.task.TaskServerMessageHandlerImpl;
@@ -208,14 +207,14 @@
public void MinaTaskTest() throws InterruptedException, ConnectorException {
grid = new GridTopology("MyBusinessUnit");
- GenericHumanTaskProvider remoteTaskProvider = new MinaHumanTaskProvider("MyMinaTask", "127.0.0.1", 9123);
+ GenericProvider remoteTaskProvider = new MinaProvider("MyMinaTask", "127.0.0.1", 9123);
grid.registerTaskServerInstance("MyMinaTask", remoteTaskProvider);
TaskServerInstance taskServer = grid.getTaskServerInstance("MyMinaTask");
//Create the provider
- MinaNodeProvider provider = new MinaNodeProvider("Mina1", "127.0.0.1", 9124);
+ MinaProvider provider = new MinaProvider("Mina1", "127.0.0.1", 9124);
//Register the provider into the topology
grid.registerExecutionEnvironment("MyMinaExecutionEnv1", provider);
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -21,7 +21,7 @@
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import org.junit.Assert;
-import org.drools.grid.services.local.LocalNodeProvider;
+import org.drools.grid.services.local.LocalProvider;
import java.rmi.RemoteException;
import org.apache.mina.transport.socket.SocketAcceptor;
@@ -39,9 +39,9 @@
import org.drools.grid.remote.mina.MinaAcceptor;
import org.drools.grid.remote.mina.MinaIoHandler;
import org.drools.grid.services.ExecutionEnvironment;
-import org.drools.grid.services.GenericNodeProvider;
+import org.drools.grid.services.GenericProvider;
import org.drools.grid.services.GridTopology;
-import org.drools.grid.services.remote.MinaNodeProvider;
+import org.drools.grid.services.remote.MinaProvider;
import org.drools.grid.services.strategies.ExecutionEnvByPrioritySelectionStrategy;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatefulKnowledgeSession;
@@ -102,8 +102,8 @@
public void mixedTopologyMinaAndLocal() throws ConnectorException {
grid = new GridTopology("MyBusinessUnit");
- GenericNodeProvider minaProvider = new MinaNodeProvider("Mina1", "127.0.0.1", 9123 );
- GenericNodeProvider localProvider = new LocalNodeProvider();
+ GenericProvider minaProvider = new MinaProvider("Mina1", "127.0.0.1", 9123 );
+ GenericProvider localProvider = new LocalProvider();
grid.registerExecutionEnvironment("MyMinaEnv", minaProvider);
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandler.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -77,7 +77,7 @@
public void connect() throws ConnectorException {
if (connector == null) {
- connector = new MinaRemoteHumanTaskConnector("client ht",
+ connector = new RemoteMinaHumanTaskConnector("client ht",
ipAddress, port,
SystemEventListenerFactory.getSystemEventListener());
connector.connect();
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/MinaRemoteHumanTaskConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/MinaRemoteHumanTaskConnector.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/MinaRemoteHumanTaskConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -1,142 +0,0 @@
-package org.drools.grid.task;
-
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.rmi.RemoteException;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.apache.mina.core.future.ConnectFuture;
-import org.apache.mina.core.session.IoSession;
-import org.apache.mina.filter.codec.ProtocolCodecFilter;
-import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
-import org.apache.mina.transport.socket.SocketConnector;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
-import org.drools.SystemEventListener;
-import org.drools.SystemEventListenerFactory;
-import org.drools.grid.ConnectorException;
-import org.drools.grid.ConnectorType;
-import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericHumanTaskConnector;
-import org.drools.grid.HumanTaskNodeService;
-
-import org.drools.grid.internal.Message;
-import org.drools.grid.internal.MessageResponseHandler;
-import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
-import org.drools.grid.GridConnection;
-import org.drools.grid.remote.mina.MinaIoHandler;
-
-public class MinaRemoteHumanTaskConnector
- implements
- GenericHumanTaskConnector {
-
- protected IoSession session;
- protected final String name;
- protected AtomicInteger counter;
- protected SocketConnector connector;
- protected SocketAddress address;
- protected SystemEventListener eventListener;
- protected GridConnection connection;
-
- public MinaRemoteHumanTaskConnector(String name,
- String providerAddress, Integer providerPort,
- SystemEventListener eventListener) {
-
- SocketConnector minaconnector = new NioSocketConnector();
- minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
- if (name == null) {
- throw new IllegalArgumentException("Name can not be null");
- }
- this.name = name;
- this.counter = new AtomicInteger();
- this.address = new InetSocketAddress(providerAddress, providerPort);
- this.connector = minaconnector;
- this.eventListener = eventListener;
- this.connection = new GridConnection();
- }
-
- public void connect() throws ConnectorException {
- if (session != null && session.isConnected()) {
- throw new IllegalStateException("Already connected. Disconnect first.");
- }
-
- try {
- this.connector.getFilterChain().addLast("codec",
- new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
-
- ConnectFuture future1 = this.connector.connect(this.address);
- future1.await(2000);
- if (!future1.isConnected()) {
- eventListener.info("unable to connect : " + address + " : " + future1.getException());
- Logger.getLogger(MinaRemoteHumanTaskConnector.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
- throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
- }
- eventListener.info("connected : " + address);
- this.session = future1.getSession();
- } catch (Exception e) {
- throw new ConnectorException(e);
- }
- }
-
- public void disconnect() throws ConnectorException {
-
- if (session != null && session.isConnected()) {
- session.close();
- session.getCloseFuture().join();
- }
- }
-
- private void addResponseHandler(int id,
- MessageResponseHandler responseHandler) {
- ((MinaIoHandler) this.connector.getHandler()).addResponseHandler(id,
- responseHandler);
- }
-
- public void write(Message msg,
- MessageResponseHandler responseHandler) {
- if (responseHandler != null) {
- addResponseHandler(msg.getResponseId(),
- responseHandler);
- }
- this.session.write(msg);
- }
-
- public Message write(Message msg) throws ConnectorException {
- BlockingMessageResponseHandler responseHandler = new BlockingMessageResponseHandler();
-
- if (responseHandler != null) {
- addResponseHandler(msg.getResponseId(),
- responseHandler);
- }
- this.session.write(msg);
-
- Message returnMessage = responseHandler.getMessage();
- if (responseHandler.getError() != null) {
- throw responseHandler.getError();
- }
-
- return returnMessage;
- }
-
- public String getId() {
- String hostName = ((InetSocketAddress) this.address).getHostName();
- int hostPort = ((InetSocketAddress) this.address).getPort();
- return "Mina:" + this.name + ":" + hostName + ":" + hostPort;
- }
-
- public void setSession(Object object) {
- this.session = (IoSession) object;
- }
-
- public GenericConnection getConnection() {
- return this.connection;
- }
-
- public HumanTaskNodeService getHumanTaskNodeService() throws ConnectorException {
- return new HumanTaskServiceImpl(this, (int) this.session.getId());
- }
-
- public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
- return ConnectorType.REMOTE;
- }
-}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/RemoteMinaHumanTaskConnector.java (from rev 33634, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/MinaRemoteHumanTaskConnector.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/RemoteMinaHumanTaskConnector.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/main/java/org/drools/grid/task/RemoteMinaHumanTaskConnector.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -0,0 +1,142 @@
+package org.drools.grid.task;
+
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.rmi.RemoteException;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.apache.mina.core.future.ConnectFuture;
+import org.apache.mina.core.session.IoSession;
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
+import org.apache.mina.transport.socket.SocketConnector;
+import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.SystemEventListener;
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.ConnectorException;
+import org.drools.grid.ConnectorType;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericHumanTaskConnector;
+import org.drools.grid.HumanTaskNodeService;
+
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageResponseHandler;
+import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
+import org.drools.grid.GridConnection;
+import org.drools.grid.remote.mina.MinaIoHandler;
+
+public class RemoteMinaHumanTaskConnector
+ implements
+ GenericHumanTaskConnector {
+
+ protected IoSession session;
+ protected final String name;
+ protected AtomicInteger counter;
+ protected SocketConnector connector;
+ protected SocketAddress address;
+ protected SystemEventListener eventListener;
+ protected GridConnection connection;
+
+ public RemoteMinaHumanTaskConnector(String name,
+ String providerAddress, Integer providerPort,
+ SystemEventListener eventListener) {
+
+ SocketConnector minaconnector = new NioSocketConnector();
+ minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
+ if (name == null) {
+ throw new IllegalArgumentException("Name can not be null");
+ }
+ this.name = name;
+ this.counter = new AtomicInteger();
+ this.address = new InetSocketAddress(providerAddress, providerPort);
+ this.connector = minaconnector;
+ this.eventListener = eventListener;
+ this.connection = new GridConnection();
+ }
+
+ public void connect() throws ConnectorException {
+ if (session != null && session.isConnected()) {
+ throw new IllegalStateException("Already connected. Disconnect first.");
+ }
+
+ try {
+ this.connector.getFilterChain().addLast("codec",
+ new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
+
+ ConnectFuture future1 = this.connector.connect(this.address);
+ future1.await(2000);
+ if (!future1.isConnected()) {
+ eventListener.info("unable to connect : " + address + " : " + future1.getException());
+ Logger.getLogger(RemoteMinaHumanTaskConnector.class.getName()).log(Level.SEVERE, null, "The Node Connection Failed!");
+ throw new ConnectorException("unable to connect : " + address + " : " + future1.getException());
+ }
+ eventListener.info("connected : " + address);
+ this.session = future1.getSession();
+ } catch (Exception e) {
+ throw new ConnectorException(e);
+ }
+ }
+
+ public void disconnect() throws ConnectorException {
+
+ if (session != null && session.isConnected()) {
+ session.close();
+ session.getCloseFuture().join();
+ }
+ }
+
+ private void addResponseHandler(int id,
+ MessageResponseHandler responseHandler) {
+ ((MinaIoHandler) this.connector.getHandler()).addResponseHandler(id,
+ responseHandler);
+ }
+
+ public void write(Message msg,
+ MessageResponseHandler responseHandler) {
+ if (responseHandler != null) {
+ addResponseHandler(msg.getResponseId(),
+ responseHandler);
+ }
+ this.session.write(msg);
+ }
+
+ public Message write(Message msg) throws ConnectorException {
+ BlockingMessageResponseHandler responseHandler = new BlockingMessageResponseHandler();
+
+ if (responseHandler != null) {
+ addResponseHandler(msg.getResponseId(),
+ responseHandler);
+ }
+ this.session.write(msg);
+
+ Message returnMessage = responseHandler.getMessage();
+ if (responseHandler.getError() != null) {
+ throw responseHandler.getError();
+ }
+
+ return returnMessage;
+ }
+
+ public String getId() {
+ String hostName = ((InetSocketAddress) this.address).getHostName();
+ int hostPort = ((InetSocketAddress) this.address).getPort();
+ return "Mina:" + this.name + ":" + hostName + ":" + hostPort;
+ }
+
+ public void setSession(Object object) {
+ this.session = (IoSession) object;
+ }
+
+ public GenericConnection getConnection() {
+ return this.connection;
+ }
+
+ public HumanTaskNodeService getHumanTaskNodeService() throws ConnectorException {
+ return new HumanTaskServiceImpl(this, (int) this.session.getId());
+ }
+
+ public ConnectorType getConnectorType() throws ConnectorException, RemoteException {
+ return ConnectorType.REMOTE;
+ }
+}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java 2010-06-25 13:31:34 UTC (rev 33641)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java 2010-06-25 14:31:17 UTC (rev 33642)
@@ -24,7 +24,7 @@
import org.drools.grid.internal.GenericMessageHandlerImpl;
import org.drools.grid.remote.RemoteConnectionNode;
import org.drools.grid.remote.mina.MinaAcceptor;
-import org.drools.grid.remote.mina.MinaRemoteNodeConnector;
+import org.drools.grid.remote.mina.RemoteMinaNodeConnector;
import org.drools.grid.remote.mina.MinaIoHandler;
import org.drools.grid.strategies.ReturnAlwaysTheFirstSelectionStrategy;
import org.drools.task.Group;
@@ -132,14 +132,14 @@
// setup the ht client
- htMinaClient = new MinaRemoteHumanTaskConnector("client ht",
+ htMinaClient = new RemoteMinaHumanTaskConnector("client ht",
htAddress,
htPort,
SystemEventListenerFactory.getSystemEventListener());
// setup Remote client
- minaClient = new MinaRemoteNodeConnector("client Exec Node",
+ minaClient = new RemoteMinaNodeConnector("client Exec Node",
execAddress,
execPort,
SystemEventListenerFactory.getSystemEventListener());
More information about the jboss-svn-commits
mailing list