[jboss-svn-commits] JBL Code SVN: r33584 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation: drools-api/src/main/java/org/drools/builder and 12 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jun 21 21:54:35 EDT 2010
Author: salaboy21
Date: 2010-06-21 21:54:34 -0400 (Mon, 21 Jun 2010)
New Revision: 33584
Added:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericHumanTaskConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/NodeConnectionType.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/NodeFactory.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/DirectorySelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/HumanTaskSelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnectionNode.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnectionNode.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericHumanTaskProvider.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/remote/MinaHumanTaskProvider.java
Removed:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/DirectoryServiceSelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/HumanTaskServiceSelectionStrategy.java
Modified:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/META-INF/MANIFEST.MF
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/builder/DirectoryLookupFactoryService.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/NodeSelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/ReturnAlwaysTheFirstSelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/StaticIncrementalSelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryLookupProviderLocalClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/GenericConnectorFactory.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/
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/MinaAcceptor.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/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/ReturnFirstHumanTaskServiceSelectionStrategy.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java
Log:
huge refactoring.. tasks is not working.. I need to review the tests
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/META-INF/MANIFEST.MF 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/META-INF/MANIFEST.MF 2010-06-22 01:54:34 UTC (rev 33584)
@@ -1,6 +1,66 @@
Manifest-Version: 1.0
+Export-Package: org.drools.event.io;uses:="org.drools";version="5.1.0.
+ SNAPSHOT",org.drools.marshalling;uses:="org.drools.runtime,org.drools
+ ";version="5.1.0.SNAPSHOT",org.drools.runtime;uses:="org.drools.comma
+ nd,org.drools.time,org.drools.runtime.process,org.drools.event,org.dr
+ ools.runtime.rule,org.drools,org.drools.runtime.conf";version="5.1.0.
+ SNAPSHOT",org.drools.event;uses:="org.drools.runtime,org.drools.event
+ .process,org.drools.event.rule";version="5.1.0.SNAPSHOT",org.drools.c
+ onf;uses:="org.drools.runtime.rule";version="5.1.0.SNAPSHOT",org.droo
+ ls.event.knowledgebase;uses:="org.drools.definition.rule,org.drools.d
+ efinition,org.drools";version="5.1.0.SNAPSHOT",org.drools;uses:="org.
+ drools.io,org.drools.runtime,org.drools.definition.type,org.drools.ev
+ ent.knowledgebase,org.drools.definition.process,org.drools.definition
+ ,org.drools.definition.rule,org.drools.conf,org.drools.util";version=
+ "5.1.0.SNAPSHOT",org.drools.definition.process;uses:="org.drools.defi
+ nition";version="5.1.0.SNAPSHOT",org.drools.util;uses:="org.drools,or
+ g.drools.io,org.drools.builder";version="5.1.0.SNAPSHOT",org.drools.b
+ uilder;uses:="org.drools.runtime,org.drools,org.drools.io,org.drools.
+ definition,org.drools.builder.conf,org.drools.util";version="5.1.0.SN
+ APSHOT",org.drools.builder.conf;uses:="org.drools.runtime.rule,org.dr
+ ools.conf";version="5.1.0.SNAPSHOT",org.drools.logger;uses:="org.droo
+ ls.event";version="5.1.0.SNAPSHOT",org.drools.runtime.process;uses:="
+ org.drools.runtime";version="5.1.0.SNAPSHOT",org.drools.runtime.conf;
+ uses:="org.drools.conf";version="5.1.0.SNAPSHOT",org.drools.runtime.h
+ elp;uses:="com.thoughtworks.xstream,org.quartz,org.drools.time";versi
+ on="5.1.0.SNAPSHOT",org.drools.time;version="5.1.0.SNAPSHOT",org.droo
+ ls.event.rule;uses:="org.drools.event,org.drools.runtime.rule";versio
+ n="5.1.0.SNAPSHOT",org.drools.definition.rule;uses:="org.drools.defin
+ ition";version="5.1.0.SNAPSHOT",org.drools.osgi.api;uses:="org.osgi.f
+ ramework,org.osgi.util.tracker,org.drools,org.drools.util";version="5
+ .1.0.SNAPSHOT",org.drools.runtime.rule;uses:="org.drools.definition.r
+ ule,org.drools.runtime";version="5.1.0.SNAPSHOT",org.drools.event.pro
+ cess;uses:="org.drools.runtime.process,org.drools.event";version="5.1
+ .0.SNAPSHOT",org.drools.definition;uses:="org.drools.definition.proce
+ ss,org.drools.definition.rule";version="5.1.0.SNAPSHOT",org.drools.vs
+ m;uses:="org.drools.command,org.drools.runtime,org.drools,org.drools.
+ agent,org.drools.builder,org.drools.persistence.jpa";version="5.1.0.S
+ NAPSHOT",org.drools.grid;uses:="org.drools.command";version="5.1.0.SN
+ APSHOT",org.drools.builder.help;uses:="com.sun.tools.xjc,org.drools.i
+ o,org.drools,org.drools.builder,javax.xml.bind";version="5.1.0.SNAPSH
+ OT",org.drools.definition.type;version="5.1.0.SNAPSHOT",org.drools.io
+ ;uses:="org.drools,org.drools.event.io,org.drools.util";version="5.1.
+ 0.SNAPSHOT",org.drools.runtime.pipeline;uses:="org.drools.runtime,jav
+ ax.xml.bind,net.sf.jxls.reader,org.milyn,com.thoughtworks.xstream";ve
+ rsion="5.1.0.SNAPSHOT",org.drools.agent;uses:="org.drools.runtime,org
+ .drools.io,org.drools";version="5.1.0.SNAPSHOT",org.drools.command;us
+ es:="org.drools.runtime,org.drools.runtime.rule";version="5.1.0.SNAPS
+ HOT",org.drools.task.service;version="5.1.0.SNAPSHOT",org.drools.pers
+ istence.jpa;uses:="org.drools.runtime,org.drools";version="5.1.0.SNAP
+ SHOT",org.drools.management;uses:="javax.management";version="5.1.0.S
+ NAPSHOT",org.drools.command.impl;uses:="org.drools.command";version="
+ 5.1.0.SNAPSHOT"
+Private-Package: .;version="5.1.0.SNAPSHOT"
+Tool: Bnd-0.0.357
+Bundle-Name: Drools :: API
+Created-By: 1.6.0_20 (Apple Inc.)
+Bundle-Vendor: JBoss Inc.
+DynamicImport-Package: *
+Bundle-Version: 5.1.0.SNAPSHOT
+Bnd-LastModified: 1277166738245
Bundle-Activator: org.drools.osgi.api.Activator
-Created-By: 1.5.0_21 (Sun Microsystems Inc.)
+Bundle-ManifestVersion: 2
+Bundle-Description: A rule production system
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Import-Package: com.sun.tools.xjc;resolution:=optional,com.thoughtwork
s.xstream;resolution:=optional,javax.management;resolution:=optional,
@@ -8,64 +68,6 @@
tional,org.milyn;resolution:=optional,org.osgi.framework;resolution:=
optional;version="1.5",org.osgi.util.tracker;resolution:=optional;ver
sion="1.4",org.quartz;resolution:=optional
-Bnd-LastModified: 1267407372231
-Export-Package: org.drools.logger;uses:="org.drools.event";version="5.
- 1.0.SNAPSHOT",org.drools.runtime;uses:="org.drools.command,org.drools
- .time,org.drools.event,org.drools,org.drools.runtime.process,org.droo
- ls.runtime.rule,org.drools.runtime.conf";version="5.1.0.SNAPSHOT",org
- .drools.task.service;version="5.1.0.SNAPSHOT",org.drools.marshalling;
- uses:="org.drools.runtime,org.drools";version="5.1.0.SNAPSHOT",org.dr
- ools.runtime.rule;uses:="org.drools.definition.rule,org.drools.runtim
- e";version="5.1.0.SNAPSHOT",org.drools.command;uses:="org.drools.runt
- ime,org.drools.runtime.rule";version="5.1.0.SNAPSHOT",org.drools.time
- ;version="5.1.0.SNAPSHOT",org.drools.management;uses:="javax.manageme
- nt";version="5.1.0.SNAPSHOT",org.drools.event.process;uses:="org.droo
- ls.event,org.drools.runtime.process";version="5.1.0.SNAPSHOT",org.dro
- ols.event.io;uses:="org.drools";version="5.1.0.SNAPSHOT",org.drools.c
- onf;uses:="org.drools.runtime.rule";version="5.1.0.SNAPSHOT",org.droo
- ls.osgi.api;uses:="org.osgi.framework,org.drools,org.drools.util,org.
- osgi.util.tracker";version="5.1.0.SNAPSHOT",org.drools;uses:="org.dro
- ols.io,org.drools.event.knowledgebase,org.drools.runtime,org.drools.d
- efinition,org.drools.definition.type,org.drools.definition.rule,org.d
- rools.definition.process,org.drools.conf,org.drools.util";version="5.
- 1.0.SNAPSHOT",org.drools.runtime.conf;uses:="org.drools.conf";version
- ="5.1.0.SNAPSHOT",org.drools.runtime.process;uses:="org.drools.runtim
- e";version="5.1.0.SNAPSHOT",org.drools.event.rule;uses:="org.drools.e
- vent,org.drools.runtime.rule";version="5.1.0.SNAPSHOT",org.drools.bui
- lder.help;uses:="com.sun.tools.xjc,org.drools.builder,org.drools.io,o
- rg.drools,javax.xml.bind";version="5.1.0.SNAPSHOT",org.drools.vsm;use
- s:="org.drools.command,org.drools.runtime,org.drools.persistence.jpa,
- org.drools.builder,org.drools,org.drools.agent";version="5.1.0.SNAPSH
- OT",org.drools.builder.conf;uses:="org.drools.runtime.rule,org.drools
- .conf";version="5.1.0.SNAPSHOT",org.drools.definition;uses:="org.droo
- ls.definition.rule,org.drools.definition.process";version="5.1.0.SNAP
- SHOT",org.drools.definition.rule;uses:="org.drools.definition";versio
- n="5.1.0.SNAPSHOT",org.drools.runtime.pipeline;uses:="org.drools.runt
- ime,javax.xml.bind,net.sf.jxls.reader,org.milyn,com.thoughtworks.xstr
- eam";version="5.1.0.SNAPSHOT",org.drools.runtime.help;uses:="com.thou
- ghtworks.xstream,org.drools.time,org.quartz";version="5.1.0.SNAPSHOT"
- ,org.drools.event.knowledgebase;uses:="org.drools.definition.rule,org
- .drools.definition,org.drools";version="5.1.0.SNAPSHOT",org.drools.ev
- ent;uses:="org.drools.runtime,org.drools.event.rule,org.drools.event.
- process";version="5.1.0.SNAPSHOT",org.drools.persistence.jpa;uses:="o
- rg.drools.runtime,org.drools";version="5.1.0.SNAPSHOT",org.drools.bui
- lder;uses:="org.drools.io,org.drools,org.drools.definition,org.drools
- .builder.conf,org.drools.util";version="5.1.0.SNAPSHOT",org.drools.io
- ;uses:="org.drools,org.drools.event.io,org.drools.util";version="5.1.
- 0.SNAPSHOT",org.drools.util;uses:="org.drools,org.drools.builder,org.
- drools.io";version="5.1.0.SNAPSHOT",org.drools.command.impl;uses:="or
- g.drools.command";version="5.1.0.SNAPSHOT",org.drools.definition.type
- ;version="5.1.0.SNAPSHOT",org.drools.definition.process;uses:="org.dr
- ools.definition";version="5.1.0.SNAPSHOT",org.drools.agent;uses:="org
- .drools.runtime,org.drools,org.drools.io";version="5.1.0.SNAPSHOT"
-Bundle-Version: 5.1.0.SNAPSHOT
-Bundle-Name: Drools :: API
-Bundle-Description: A rule production system
-Private-Package: .;version="5.1.0.SNAPSHOT"
+Bundle-SymbolicName: org.drools.api;singleton:=true
Bundle-DocURL: http://www.jboss.org/
-Bundle-Vendor: JBoss Inc.
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.drools.api;singleton:=true
-Tool: Bnd-0.0.357
-DynamicImport-Package: *
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/builder/DirectoryLookupFactoryService.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/builder/DirectoryLookupFactoryService.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/builder/DirectoryLookupFactoryService.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -27,5 +27,5 @@
public interface DirectoryLookupFactoryService {
public void register(String key, CommandExecutor value);
public CommandExecutor lookup(String key);
- public Map<String, Map<String, String>> getDirectoryMap();
+ public Map<String, String> getDirectoryMap();
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -15,7 +15,7 @@
* @author salaboy
*/
-public interface DirectoryNodeService extends GenericDirectoryConnector {
+public interface DirectoryNodeService {
public void register(String executorId, String resourceId) throws ConnectorException;
public void register(String executorId, GenericNodeConnector resourceConnector) throws ConnectorException;
@@ -25,4 +25,6 @@
public KnowledgeBase lookupKBase(String kbaseId) throws ConnectorException;
public void addService(GenericNodeConnector service);
public Map<String, String> getDirectoryMap() throws ConnectorException;
+ public void dispose() throws ConnectorException;
+
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericConnection.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -18,8 +18,8 @@
import java.util.List;
import org.drools.grid.strategies.NodeSelectionStrategy;
-import org.drools.grid.strategies.DirectoryServiceSelectionStrategy;
-import org.drools.grid.strategies.HumanTaskServiceSelectionStrategy;
+import org.drools.grid.strategies.DirectorySelectionStrategy;
+import org.drools.grid.strategies.HumanTaskSelectionStrategy;
/**
@@ -28,39 +28,36 @@
*/
public interface GenericConnection {
+ //Add Connectors to get new Connections
public void addExecutionNode(GenericNodeConnector execNodeConnector);
public void addDirectoryNode(GenericDirectoryConnector directoryNodeConnector);
- public void addHumanTaskNode(GenericNodeConnector humanTaskNodeConnector);
+ public void addHumanTaskNode(GenericHumanTaskConnector humanTaskNodeConnector);
- public List<GenericNodeConnector> getNodeConnectors();
-
- public List<GenericDirectoryConnector> getDirectoryConnectors();
-
- public List<GenericNodeConnector> getTaskConnectors();
-
- public List<DirectoryNodeService> getDirectories();
-
+ //Get ExecutionNode(s) with live connections
public ExecutionNode getExecutionNode(NodeSelectionStrategy strategy) throws ConnectorException;
public ExecutionNode getExecutionNode() throws ConnectorException;
public List<ExecutionNode> getExecutionNodes() throws ConnectorException;
- public DirectoryNodeService getDirectoryNode(DirectoryServiceSelectionStrategy directorySelectionStrategy) throws ConnectorException;
+ //Get DirectoryNode(s) with live connections
+ public DirectoryNodeService getDirectoryNode(DirectorySelectionStrategy directorySelectionStrategy) throws ConnectorException;
public DirectoryNodeService getDirectoryNode() throws ConnectorException;
- public List<DirectoryNodeService> getDirectoryNodes();
+ public List<DirectoryNodeService> getDirectoryNodes() throws ConnectorException;
- public HumanTaskNodeService getTaskService(HumanTaskServiceSelectionStrategy humanTaskSelectionStrategy);
+ //Get HumanTaskNode(s) with live connections
+ public HumanTaskNodeService getHumanTaskNode(HumanTaskSelectionStrategy humanTaskSelectionStrategy) throws ConnectorException;
- public HumanTaskNodeService getTaskService();
+ public HumanTaskNodeService getHumanTaskNode() throws ConnectorException;
- public List<HumanTaskNodeService> getTaskServices();
+ public List<HumanTaskNodeService> getHumanTaskNodes() throws ConnectorException;
- public void disconnectAllConnectors() throws ConnectorException;
+ // Dispose all the live connections
+ public void dispose() throws ConnectorException;
}
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-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericDirectoryConnector.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -14,13 +14,23 @@
* limitations under the License.
* under the License.
*/
-
package org.drools.grid;
/**
*
* @author salaboy
*/
-public interface GenericDirectoryConnector extends GenericNodeConnector{
- public DirectoryNodeService getDirectoryNodeService();
+public interface GenericDirectoryConnector {
+
+ public String getId() throws ConnectorException;
+
+ void connect() throws ConnectorException;
+
+ void disconnect() throws ConnectorException;
+
+ public DirectoryNodeService getDirectoryNodeService() throws ConnectorException;
+
+ public GenericConnection getConnection();
+
+
}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericHumanTaskConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericHumanTaskConnector.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GenericHumanTaskConnector.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -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;
+
+import org.drools.grid.internal.GenericIoWriter;
+import org.drools.grid.internal.Message;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface GenericHumanTaskConnector extends GenericIoWriter{
+
+ public String getId() throws ConnectorException;
+
+ void connect() throws ConnectorException;
+
+ void disconnect() throws ConnectorException;
+
+ public HumanTaskNodeService getHumanTaskNodeService() throws ConnectorException;
+
+ public GenericConnection getConnection();
+
+ Message write(Message msg) throws ConnectorException;
+
+}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/NodeConnectionType.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/NodeConnectionType.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/NodeConnectionType.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -0,0 +1,31 @@
+/*
+ * 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;
+
+import java.util.Set;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface NodeConnectionType {
+ public void setConnector(GenericNodeConnector connector);
+ public void setConnection(GenericConnection connection);
+ public Set<Class<?>> getServicesKeys();
+ public <T> T getServiceImpl(Class<T> clazz);
+}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/NodeFactory.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/NodeFactory.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/NodeFactory.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.grid;
+
+/**
+ *
+ * @author salaboy
+ */
+public class NodeFactory {
+ public static ExecutionNode newExecutionNode(NodeConnectionType type){
+ ExecutionNode node = new ExecutionNode();
+ for(Class serviceClass : type.getServicesKeys()){
+ node.set(serviceClass, type.getServiceImpl(serviceClass));
+ }
+ return node;
+ }
+}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/DirectorySelectionStrategy.java (from rev 33555, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/DirectoryServiceSelectionStrategy.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/DirectorySelectionStrategy.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/DirectorySelectionStrategy.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -0,0 +1,29 @@
+/*
+ * 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.strategies;
+
+import java.util.List;
+import org.drools.grid.GenericDirectoryConnector;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface DirectorySelectionStrategy {
+ public GenericDirectoryConnector getBestDirectory(List<GenericDirectoryConnector> connectors);
+}
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/DirectoryServiceSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/DirectoryServiceSelectionStrategy.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/DirectoryServiceSelectionStrategy.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -1,26 +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.strategies;
-
-/**
- *
- * @author salaboy
- */
-public class DirectoryServiceSelectionStrategy {
-
-}
Copied: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/HumanTaskSelectionStrategy.java (from rev 33555, labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/HumanTaskServiceSelectionStrategy.java)
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/HumanTaskSelectionStrategy.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/HumanTaskSelectionStrategy.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -0,0 +1,29 @@
+/*
+ * 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.strategies;
+
+import java.util.List;
+import org.drools.grid.GenericHumanTaskConnector;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface HumanTaskSelectionStrategy {
+ public GenericHumanTaskConnector getBestHumanTask(List<GenericHumanTaskConnector> connectors);
+}
Deleted: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/HumanTaskServiceSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/HumanTaskServiceSelectionStrategy.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/HumanTaskServiceSelectionStrategy.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -1,29 +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.strategies;
-
-import org.drools.grid.HumanTaskNodeService;
-
-/**
- *
- * @author salaboy
- */
-public interface HumanTaskServiceSelectionStrategy {
- public HumanTaskNodeService getBestHumanTaskService();
-
-}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/NodeSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/NodeSelectionStrategy.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/NodeSelectionStrategy.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -17,7 +17,7 @@
package org.drools.grid.strategies;
-import org.drools.grid.GenericConnection;
+import java.util.List;
import org.drools.grid.GenericNodeConnector;
/**
@@ -26,7 +26,6 @@
*/
public interface NodeSelectionStrategy {
- public GenericNodeConnector getBestNode();
- public void setConnection(GenericConnection connection);
-
+ public GenericNodeConnector getBestNode(List<GenericNodeConnector> connectors);
+
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/ReturnAlwaysTheFirstSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/ReturnAlwaysTheFirstSelectionStrategy.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/ReturnAlwaysTheFirstSelectionStrategy.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -14,29 +14,19 @@
* limitations under the License.
* under the License.
*/
-
package org.drools.grid.strategies;
-import org.drools.grid.GenericConnection;
+import java.util.List;
import org.drools.grid.GenericNodeConnector;
/**
*
* @author salaboy
*/
-public class ReturnAlwaysTheFirstSelectionStrategy implements NodeSelectionStrategy{
+public class ReturnAlwaysTheFirstSelectionStrategy implements NodeSelectionStrategy {
- private GenericConnection connection;
- public ReturnAlwaysTheFirstSelectionStrategy(GenericConnection connection) {
- this.connection = connection;
- }
- public GenericNodeConnector getBestNode() {
- return this.connection.getNodeConnectors().get(0);
- }
+ public GenericNodeConnector getBestNode(List<GenericNodeConnector> connectors) {
- public void setConnection(GenericConnection connection) {
- this.connection = connection;
+ return connectors.get(0);
}
-
-
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/StaticIncrementalSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/StaticIncrementalSelectionStrategy.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/strategies/StaticIncrementalSelectionStrategy.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -14,37 +14,24 @@
* limitations under the License.
* under the License.
*/
-
package org.drools.grid.strategies;
-
-import org.drools.grid.GenericConnection;
+import java.util.List;
import org.drools.grid.GenericNodeConnector;
-
/**
*
* @author salaboy
*/
-public class StaticIncrementalSelectionStrategy implements NodeSelectionStrategy{
+public class StaticIncrementalSelectionStrategy implements NodeSelectionStrategy {
+
public static int counter = 0;
- private GenericConnection connection;
- public StaticIncrementalSelectionStrategy(GenericConnection connection) {
- this.connection = connection;
- }
+ public GenericNodeConnector getBestNode(List<GenericNodeConnector> connectors) {
- //@Override
- public GenericNodeConnector getBestNode() {
-
- GenericNodeConnector service = connection.getNodeConnectors().get(counter);
- StaticIncrementalSelectionStrategy.counter = counter +1;
+ GenericNodeConnector service = connectors.get(counter);
+ StaticIncrementalSelectionStrategy.counter = counter + 1;
return service;
+
}
-
- public void setConnection(GenericConnection connection) {
- this.connection = connection;
- }
-
-
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryLookupProviderLocalClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryLookupProviderLocalClient.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryLookupProviderLocalClient.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -14,7 +14,6 @@
* limitations under the License.
* under the License.
*/
-
package org.drools.grid.local;
import java.util.HashMap;
@@ -28,24 +27,26 @@
*/
public class DirectoryLookupProviderLocalClient implements DirectoryLookupFactoryService {
-
private Map<String, CommandExecutor> services = new HashMap<String, CommandExecutor>();
public DirectoryLookupProviderLocalClient() {
-
}
-
public void register(String key, CommandExecutor executor) {
- services.put(key, executor);
+ services.put(key, executor);
}
public CommandExecutor lookup(String key) {
- return services.get(key);
+ return services.get(key);
}
- public Map<String, Map<String, String>> getDirectoryMap() {
- throw new UnsupportedOperationException("Not supported yet.");
+ public Map<String, String> getDirectoryMap() {
+ Map<String, String> directory = new HashMap<String, String>();
+ for (String key : services.keySet()) {
+ directory.put(key, services.get(key).toString());
+
+ }
+ return directory;
+
}
-
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -25,10 +25,7 @@
import org.drools.KnowledgeBase;
import org.drools.grid.ConnectorException;
import org.drools.grid.DirectoryNodeService;
-import org.drools.grid.GenericConnection;
import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.internal.Message;
-import org.drools.grid.internal.MessageResponseHandler;
/**
*
@@ -41,9 +38,7 @@
private List<GenericNodeConnector> services = new ArrayList<GenericNodeConnector>();
public DirectoryNodeLocalImpl() {
- this.id = UUID.randomUUID().toString();
-
-
+ this.id = UUID.randomUUID().toString();
}
public String getId() throws ConnectorException {
@@ -94,32 +89,14 @@
return this.directoryMap;
}
- public DirectoryNodeService getDirectoryNodeService() {
- throw new UnsupportedOperationException("Not supported yet.");
+ public String lookupId(String resourceId) {
+ return this.directoryMap.get(resourceId);
}
- public void connect() throws ConnectorException {
- //do nothing
+ public void dispose() throws ConnectorException {
+ //do nothing, it's local.
}
- public void disconnect() throws ConnectorException {
- //do nothing
- }
- public Message write(Message msg) throws ConnectorException {
- throw new UnsupportedOperationException("Not supported yet.");
- }
- public GenericConnection getConnection() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public void write(Message msg, MessageResponseHandler responseHandler) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public String lookupId(String resourceId) {
- return this.directoryMap.get(resourceId);
- }
-
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnection.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -27,10 +27,12 @@
import org.drools.grid.ExecutionNode;
import org.drools.grid.GenericConnection;
import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.GenericHumanTaskConnector;
import org.drools.grid.GenericNodeConnector;
import org.drools.grid.HumanTaskNodeService;
-import org.drools.grid.strategies.DirectoryServiceSelectionStrategy;
-import org.drools.grid.strategies.HumanTaskServiceSelectionStrategy;
+import org.drools.grid.NodeFactory;
+import org.drools.grid.strategies.DirectorySelectionStrategy;
+import org.drools.grid.strategies.HumanTaskSelectionStrategy;
import org.drools.grid.strategies.NodeSelectionStrategy;
/**
@@ -39,15 +41,14 @@
*/
public class LocalConnection implements GenericConnection {
- //Cached NodeConnectors
private List<GenericNodeConnector> executionNodeConnectors;
private List<GenericDirectoryConnector> directoryNodeConnectors;
- private List<GenericNodeConnector> humanTaskNodeConnectors;
+ private List<GenericHumanTaskConnector> humanTaskNodeConnectors;
public LocalConnection() {
this.executionNodeConnectors = new ArrayList<GenericNodeConnector>();
this.directoryNodeConnectors = new ArrayList<GenericDirectoryConnector>();
- this.humanTaskNodeConnectors = new ArrayList<GenericNodeConnector>();
+ this.humanTaskNodeConnectors = new ArrayList<GenericHumanTaskConnector>();
}
@@ -60,31 +61,19 @@
this.directoryNodeConnectors.add(directoryNodeConnector);
}
- public void addHumanTaskNode(GenericNodeConnector humanTaskNodeConnector) {
+ public void addHumanTaskNode(GenericHumanTaskConnector humanTaskNodeConnector) {
this.humanTaskNodeConnectors.add(humanTaskNodeConnector);
}
- public List<GenericNodeConnector> getNodeConnectors() {
- return this.executionNodeConnectors;
- }
- public List<DirectoryNodeService> getDirectories() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public GenericNodeConnector getBestNode(NodeSelectionStrategy nodeSelectionStrategy) {
- //Analyze if we will need more than one node connector for local usage in the same JVM
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public DirectoryNodeService getDirectoryNode(DirectoryServiceSelectionStrategy directorySelectionStrategy) throws ConnectorException {
- if (directoryNodeConnectors.size() == 0) {
- return null;
+ public DirectoryNodeService getDirectoryNode(DirectorySelectionStrategy directorySelectionStrategy) throws ConnectorException {
+ if (directoryNodeConnectors.isEmpty()) {
+ //I can use a local impl by default, if I have no registered connectors
+ return new DirectoryNodeLocalImpl();
}
GenericDirectoryConnector connector = directoryNodeConnectors.get(0);
- DirectoryNodeService directoryNode = null;
connector.connect();
- directoryNode = connector.getDirectoryNodeService();
+ DirectoryNodeService directoryNode = connector.getDirectoryNodeService();
return directoryNode;
}
@@ -94,10 +83,11 @@
public ExecutionNode getExecutionNode(NodeSelectionStrategy strategy) {
- ExecutionNode node = new ExecutionNode();
- node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderLocalClient());
- node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderLocalClient());
- node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderLocalClient());
+ ExecutionNode node = NodeFactory.newExecutionNode(new LocalConnectionNode());
+// new ExecutionNode();
+// node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderLocalClient());
+// node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderLocalClient());
+// node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderLocalClient());
return node;
}
@@ -106,12 +96,19 @@
return getExecutionNode(null);
}
- public HumanTaskNodeService getTaskService(HumanTaskServiceSelectionStrategy humanTaskSelectionStrategy) {
- throw new UnsupportedOperationException("Not supported yet.");
+ public HumanTaskNodeService getHumanTaskNode(HumanTaskSelectionStrategy humanTaskSelectionStrategy) throws ConnectorException {
+ if (humanTaskNodeConnectors.isEmpty()) {
+ //there is no default/local implementation for ht, so we need to register at least one ht connector
+ return null;
+ }
+ GenericHumanTaskConnector connector = humanTaskNodeConnectors.get(0);
+ connector.connect();
+ HumanTaskNodeService humanTaskNode = connector.getHumanTaskNodeService();
+ return humanTaskNode;
}
- public HumanTaskNodeService getTaskService() {
- throw new UnsupportedOperationException("Not supported yet.");
+ public HumanTaskNodeService getHumanTaskNode() throws ConnectorException {
+ return getHumanTaskNode(null);
}
public List<ExecutionNode> getExecutionNodes() {
@@ -128,28 +125,20 @@
throw new UnsupportedOperationException("Not supported yet.");
}
- public List<HumanTaskNodeService> getTaskServices() {
+ public List<HumanTaskNodeService> getHumanTaskNodes() {
throw new UnsupportedOperationException("Not supported yet.");
}
- public List<GenericDirectoryConnector> getDirectoryConnectors() {
- return this.directoryNodeConnectors;
- }
- public List<GenericNodeConnector> getTaskConnectors() {
- return this.humanTaskNodeConnectors;
- }
-
- public void disconnectAllConnectors() throws ConnectorException {
- for (GenericNodeConnector connector : executionNodeConnectors) {
+ public void dispose() throws ConnectorException {
+ for (GenericNodeConnector connector : executionNodeConnectors) {
connector.disconnect();
}
for (GenericDirectoryConnector connector : directoryNodeConnectors) {
connector.disconnect();
}
- for (GenericNodeConnector connector : humanTaskNodeConnectors) {
+ for (GenericHumanTaskConnector connector : humanTaskNodeConnectors) {
connector.disconnect();
}
-
}
}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnectionNode.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnectionNode.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnectionNode.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.grid.local;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.NodeConnectionType;
+
+/**
+ *
+ * @author salaboy
+ */
+public class LocalConnectionNode implements NodeConnectionType {
+ private final Map<Class<?>, Object> services = new ConcurrentHashMap<Class<?>, Object>();
+
+ public LocalConnectionNode() {
+ services.put(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderLocalClient());
+ services.put(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderLocalClient());
+ services.put(DirectoryLookupFactoryService.class, new DirectoryLookupProviderLocalClient());
+ }
+
+
+ public Set<Class<?>> getServicesKeys() {
+ return services.keySet();
+ }
+
+ public <T> T getServiceImpl(Class<T> clazz) {
+ return (T) services.get(clazz);
+ }
+
+ public void setConnector(GenericNodeConnector connector) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public void setConnection(GenericConnection connection) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+}
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-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalDirectoryConnector.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -21,8 +21,6 @@
import org.drools.grid.DirectoryNodeService;
import org.drools.grid.GenericConnection;
import org.drools.grid.GenericDirectoryConnector;
-import org.drools.grid.internal.Message;
-import org.drools.grid.internal.MessageResponseHandler;
/**
*
@@ -30,42 +28,31 @@
*/
public class LocalDirectoryConnector implements GenericDirectoryConnector{
private DirectoryNodeService directoryNode;
- private static LocalConnection connection;
+ private static LocalConnection connection = new LocalConnection();
public LocalDirectoryConnector(DirectoryNodeService directoryNode) {
this.directoryNode = directoryNode;
+
}
-
public void connect() throws ConnectorException {
//do nothing
}
public void disconnect() throws ConnectorException {
- //do nothing
+ connection.dispose();
}
- public Message write(Message msg) throws ConnectorException {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
public String getId() throws ConnectorException {
return "Local:";
}
- public GenericConnection getConnection() {
- if(connection == null){
- connection = new LocalConnection();
- }
- return connection;
- }
-
- public void write(Message msg, MessageResponseHandler responseHandler) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
public DirectoryNodeService getDirectoryNodeService(){
return directoryNode;
}
+ public GenericConnection getConnection() {
+ return connection;
+ }
+
}
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-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -30,7 +30,6 @@
*/
public class LocalNodeConnector implements GenericNodeConnector {
- private String id;
private LocalConnection connection;
public LocalNodeConnector() {
@@ -50,10 +49,7 @@
}
public String getId() throws ConnectorException {
-
-
return "Local:";
- //return this.id;
}
public void write(Message msg, MessageResponseHandler responseHandler) {
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -40,7 +40,6 @@
*/
public class DirectoryLookupProviderRemoteClient implements DirectoryLookupFactoryService {
-
private GenericNodeConnector client;
private GenericConnection connection;
private MessageSession messageSession;
@@ -62,18 +61,18 @@
} else {
throw new IllegalArgumentException("Type is not supported for registration");
}
-
+
DirectoryNodeService directoryNode = connection.getDirectoryNode();
directoryNode.register(identifier, client.getId());
-
+
Message msg = new Message(messageSession.getSessionId(),
- messageSession.getCounter().incrementAndGet(),
- false,
- new KnowledgeContextResolveFromContextCommand(
- new RegisterCommand(identifier,
- ((StatefulKnowledgeSessionRemoteClient) executor).getInstanceId(), type),
- null, null, null, null));
+ messageSession.getCounter().incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand(
+ new RegisterCommand(identifier,
+ ((StatefulKnowledgeSessionRemoteClient) executor).getInstanceId(), type),
+ null, null, null, null));
try {
@@ -84,9 +83,9 @@
} catch (Exception e) {
throw new RuntimeException("Unable to execute message", e);
}
-
- directoryNode.disconnect();
+ directoryNode.dispose();
+
} catch (ConnectorException ex) {
Logger.getLogger(DirectoryLookupProviderRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
}
@@ -101,12 +100,12 @@
Message msg = new Message(messageSession.getSessionId(), messageSession.getCounter().incrementAndGet(), false, new KnowledgeContextResolveFromContextCommand(new LookupCommand(identifier, commandId), null, null, null, kresultsId));
DirectoryNodeService directoryNode = connection.getDirectoryNode();
String connectorString = directoryNode.lookupId(identifier);
- directoryNode.disconnect();
+ directoryNode.dispose();
client = GenericConnectorFactory.newNodeConnector(connectorString);
client.connect();
//I need to add the new Connector to the connection to be able to clean it up/disconect it!
connection.addExecutionNode(client);
-
+
try {
Object object = client.write(msg).getPayload();
if (object == null) {
@@ -124,7 +123,7 @@
default: {
}
}
-
+
return executor;
} catch (Exception e) {
throw new RuntimeException("Unable to execute message", e);
@@ -135,8 +134,15 @@
return null;
}
- public Map<String, Map<String, String>> getDirectoryMap() {
- throw new UnsupportedOperationException("Not supported yet.");
+ public Map<String, String> getDirectoryMap() {
+ Map<String, String> directory = null;
+ try {
+ DirectoryNodeService directoryNode = connection.getDirectoryNode();
+ directory = directoryNode.getDirectoryMap();
+ } catch (ConnectorException ex) {
+ Logger.getLogger(DirectoryLookupProviderRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ return directory;
}
public void registerId(String key, String value) {
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-22 01:14:05 UTC (rev 33583)
+++ 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-22 01:54:34 UTC (rev 33584)
@@ -94,7 +94,7 @@
return null;
}
- public static GenericNodeConnector newDirectoryConnector(String connectorString) {
+ public static GenericDirectoryConnector newDirectoryConnector(String connectorString) {
String[] connectorDetails = connectorString.split(":");
String connectorType = connectorDetails[0];
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnection.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -16,7 +16,6 @@
*/
package org.drools.grid.remote;
-import com.sun.jmx.snmp.tasks.Task;
import java.util.ArrayList;
import java.util.List;
@@ -28,10 +27,12 @@
import org.drools.grid.ExecutionNode;
import org.drools.grid.GenericConnection;
import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.GenericHumanTaskConnector;
import org.drools.grid.GenericNodeConnector;
import org.drools.grid.HumanTaskNodeService;
-import org.drools.grid.strategies.DirectoryServiceSelectionStrategy;
-import org.drools.grid.strategies.HumanTaskServiceSelectionStrategy;
+import org.drools.grid.NodeFactory;
+import org.drools.grid.strategies.DirectorySelectionStrategy;
+import org.drools.grid.strategies.HumanTaskSelectionStrategy;
import org.drools.grid.strategies.NodeSelectionStrategy;
import org.drools.grid.strategies.StaticIncrementalSelectionStrategy;
@@ -40,26 +41,19 @@
* @author salaboy
*/
public class RemoteConnection implements GenericConnection {
- //Cached Services
private List<GenericNodeConnector> executionNodeConnectors;
- //Cached Directories
private List<GenericDirectoryConnector> directoryNodeConnectors;
- private List<GenericNodeConnector> humanTaskNodeConnectors;
+ private List<GenericHumanTaskConnector> humanTaskNodeConnectors;
public RemoteConnection() {
this.executionNodeConnectors = new ArrayList<GenericNodeConnector>();
this.directoryNodeConnectors = new ArrayList<GenericDirectoryConnector>();
- this.humanTaskNodeConnectors = new ArrayList<GenericNodeConnector>();
+ this.humanTaskNodeConnectors = new ArrayList<GenericHumanTaskConnector>();
}
public void addExecutionNode(GenericNodeConnector execNodeConnector) {
- //register the service to all the DirectoryServices
-// for (DirectoryNodeService directory : directoryServices) {
-// directory.addService(execNodeConnector);
-// }
this.executionNodeConnectors.add(execNodeConnector);
-
}
public void addDirectoryNode(GenericDirectoryConnector directoryNodeConnector) {
@@ -67,15 +61,10 @@
}
- public void addHumanTaskNode(GenericNodeConnector humanTaskNodeConnector) {
+ public void addHumanTaskNode(GenericHumanTaskConnector humanTaskNodeConnector) {
this.humanTaskNodeConnectors.add(humanTaskNodeConnector);
}
- // In real scenarios this method will be in charge of populating
- // all the ExecutionNodeService and DirectoryServices
- public void connect() {
- }
-
/**
* @throws ConnectorException
* @throws IllegalStateException if unable to connect to node
@@ -84,58 +73,31 @@
ExecutionNode node = null;
GenericNodeConnector connector = null;
//if the strategy is null use the default one
- if (strategy == null) {
- connector = getBestNode(new StaticIncrementalSelectionStrategy(this));
- } else {
- strategy.setConnection(this);
- connector = getBestNode(strategy);
- }
- connector.connect();
- node = new ExecutionNode();
- node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderRemoteClient(connector));
- node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderRemoteClient(connector));
- node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderRemoteClient(connector, this));
+ if (strategy == null) {
+ connector = getBestNode(new StaticIncrementalSelectionStrategy());
+ } else {
+ connector = getBestNode(strategy);
+ }
+ connector.connect();
+ node = NodeFactory.newExecutionNode(new RemoteConnectionNode(connector, this));
+
+// node = new ExecutionNode();
+// node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderRemoteClient(connector));
+// node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderRemoteClient(connector));
+// node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderRemoteClient(connector, this));
return node;
}
- public GenericNodeConnector getBestNode(NodeSelectionStrategy nodeSelectionStrategy) {
- return nodeSelectionStrategy.getBestNode();
- }
-
- public List<DirectoryNodeService> getDirectories() {
- return null;
- }
-
- public void setDirectories(List<GenericDirectoryConnector> directories) {
- this.directoryNodeConnectors = directories;
- }
-
- public List<GenericNodeConnector> getNodeConnectors() {
- return executionNodeConnectors;
- }
-
- public List<GenericDirectoryConnector> getDirectoryConnectors() {
- return directoryNodeConnectors;
- }
-
- public List<GenericNodeConnector> getTaskConnectors() {
- return this.humanTaskNodeConnectors;
- }
-
- public void setServices(List<GenericNodeConnector> services) {
- this.executionNodeConnectors = services;
- }
-
- public DirectoryNodeService getDirectoryNode(DirectoryServiceSelectionStrategy directorySelectionStrategy) throws ConnectorException {
+ public DirectoryNodeService getDirectoryNode(DirectorySelectionStrategy directorySelectionStrategy) throws ConnectorException {
if (directoryNodeConnectors.isEmpty()) {
return null;
}
GenericDirectoryConnector connector = directoryNodeConnectors.get(0);
-
+
connector.connect();
DirectoryNodeService directoryNode = connector.getDirectoryNodeService();
-
+
return directoryNode;
}
@@ -147,50 +109,71 @@
return getExecutionNode(null);
}
- public HumanTaskNodeService getTaskService(HumanTaskServiceSelectionStrategy humanTaskSelectionStrategy) {
- return humanTaskSelectionStrategy.getBestHumanTaskService();
+ public HumanTaskNodeService getHumanTaskNode(HumanTaskSelectionStrategy humanTaskSelectionStrategy) throws ConnectorException {
+ if (humanTaskNodeConnectors.isEmpty()) {
+ return null;
+ }
+ // humanTaskSelectionStrategy.getBestHumanTask(humanTaskNodeConnectors);
+ GenericHumanTaskConnector connector = humanTaskNodeConnectors.get(0);
+
+ connector.connect();
+
+ HumanTaskNodeService humanTaskNode = connector.getHumanTaskNodeService();
+
+ return humanTaskNode;
+
}
- public HumanTaskNodeService getTaskService() {
- return getTaskService(null);
+ public HumanTaskNodeService getHumanTaskNode() throws ConnectorException {
+ return getHumanTaskNode(null);
}
public List<ExecutionNode> getExecutionNodes() throws ConnectorException {
List<ExecutionNode> executionNodes = new ArrayList<ExecutionNode>();
for (GenericNodeConnector connector : executionNodeConnectors) {
ExecutionNode node = null;
- connector.connect();
- node = new ExecutionNode();
- node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderRemoteClient(connector));
- node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderRemoteClient(connector));
- node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderRemoteClient(connector, this));
- if (node != null) {
- executionNodes.add(node);
- }
+ connector.connect();
+ node = new ExecutionNode();
+ node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderRemoteClient(connector));
+ node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderRemoteClient(connector));
+ node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderRemoteClient(connector, this));
+ if (node != null) {
+ executionNodes.add(node);
+ }
}
return executionNodes;
-
-
}
public List<DirectoryNodeService> getDirectoryNodes() {
throw new UnsupportedOperationException("not Implemented yet!");
}
- public List<HumanTaskNodeService> getTaskServices() {
+ public List<HumanTaskNodeService> getHumanTaskNodes() {
throw new UnsupportedOperationException("not Implemented yet!");
}
- public void disconnectAllConnectors() throws ConnectorException {
- for(GenericNodeConnector connector : executionNodeConnectors){
+ public void dispose() throws ConnectorException {
+ for (GenericNodeConnector connector : executionNodeConnectors) {
connector.disconnect();
}
- for(GenericDirectoryConnector connector : directoryNodeConnectors){
+ for (GenericDirectoryConnector connector : directoryNodeConnectors) {
connector.disconnect();
}
- for(GenericNodeConnector connector : humanTaskNodeConnectors){
+ for (GenericHumanTaskConnector connector : humanTaskNodeConnectors) {
connector.disconnect();
}
}
+
+ private GenericNodeConnector getBestNode(NodeSelectionStrategy nodeSelectionStrategy) {
+ return nodeSelectionStrategy.getBestNode(this.executionNodeConnectors);
+ }
+
+ private GenericDirectoryConnector getBestDirectory(DirectorySelectionStrategy directorySelectionStrategy) {
+ return directorySelectionStrategy.getBestDirectory(this.directoryNodeConnectors);
+ }
+
+ private GenericHumanTaskConnector getBestHumanTask(HumanTaskSelectionStrategy humanTaskSelectionStrategy) {
+ return humanTaskSelectionStrategy.getBestHumanTask(this.humanTaskNodeConnectors);
+ }
}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnectionNode.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnectionNode.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/RemoteConnectionNode.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.grid.remote;
+
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.grid.GenericConnection;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.NodeConnectionType;
+
+/**
+ *
+ * @author salaboy
+ */
+public class RemoteConnectionNode implements NodeConnectionType {
+ private final Map<Class<?>, Object> services = new ConcurrentHashMap<Class<?>, Object>();
+ private GenericNodeConnector connector;
+ private GenericConnection connection;
+
+ public RemoteConnectionNode(GenericNodeConnector connector, GenericConnection connection) {
+ this.connector = connector;
+ this.connection = connection;
+ services.put(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderRemoteClient(connector));
+ services.put(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderRemoteClient(connector));
+ services.put(DirectoryLookupFactoryService.class, new DirectoryLookupProviderRemoteClient(connector, connection));
+ }
+
+
+ public Set<Class<?>> getServicesKeys() {
+ return services.keySet();
+ }
+
+ public <T> T getServiceImpl(Class<T> clazz) {
+ return (T) services.get(clazz);
+ }
+
+ public void setConnector(GenericNodeConnector connector) {
+ this.connector = connector;
+ }
+
+ public void setConnection(GenericConnection connection) {
+ this.connection = connection;
+ }
+
+}
Property changes on: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina
___________________________________________________________________
Name: svn:ignore
+ target
Modified: 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-22 01:14:05 UTC (rev 33583)
+++ 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-22 01:54:34 UTC (rev 33584)
@@ -35,9 +35,6 @@
import org.drools.grid.DirectoryNodeService;
import org.drools.grid.GenericConnection;
import org.drools.grid.GenericDirectoryConnector;
-import org.drools.grid.internal.Message;
-import org.drools.grid.internal.MessageResponseHandler;
-import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
import org.drools.grid.remote.RemoteConnection;
import org.drools.grid.remote.mina.MinaIoHandler;
@@ -122,6 +119,10 @@
return session;
}
+ public GenericConnection getConnection() {
+ return this.connection;
+ }
+
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaAcceptor.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -1,6 +1,7 @@
package org.drools.grid.remote.mina;
import java.io.IOException;
+import java.net.InetSocketAddress;
import java.net.SocketAddress;
import org.apache.mina.core.service.IoAcceptor;
@@ -12,30 +13,39 @@
import org.drools.grid.AcceptorService;
public class MinaAcceptor
- implements
- AcceptorService {
+ implements
+ AcceptorService {
+
protected SocketAcceptor acceptor;
- protected SocketAddress address;
+ protected SocketAddress address;
+
public MinaAcceptor(SocketAcceptor acceptor,
- SocketAddress address) {
+ SocketAddress address) {
this.acceptor = acceptor;
this.address = address;
- }
+ }
+ public MinaAcceptor(SocketAcceptor acceptor,
+ String address, int port) {
+ this.acceptor = acceptor;
+ this.address = new InetSocketAddress(address, port);
+ ;
+ }
+
public synchronized void start() throws IOException {
- acceptor.getFilterChain().addLast( "logger",
- new LoggingFilter() );
- acceptor.getFilterChain().addLast( "codec",
- new ProtocolCodecFilter( new ObjectSerializationCodecFactory() ) );
- acceptor.getSessionConfig().setReadBufferSize( 2048 );
- acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE,
- 10 );
- acceptor.bind( address );
+ acceptor.getFilterChain().addLast("logger",
+ new LoggingFilter());
+ acceptor.getFilterChain().addLast("codec",
+ new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
+ acceptor.getSessionConfig().setReadBufferSize(2048);
+ acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE,
+ 10);
+ acceptor.bind(address);
}
public synchronized void stop() {
-
+
acceptor.dispose();
}
@@ -43,8 +53,7 @@
return acceptor;
}
- public int getCurrentSessions(){
+ public int getCurrentSessions() {
return acceptor.getManagedSessionCount();
}
-
-}
\ No newline at end of file
+}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaRemoteNodeConnector.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ 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-22 01:54:34 UTC (rev 33584)
@@ -5,7 +5,6 @@
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;
@@ -17,7 +16,6 @@
import org.drools.grid.ConnectorException;
import org.drools.grid.GenericConnection;
import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.internal.GenericIoWriter;
import org.drools.grid.internal.Message;
import org.drools.grid.internal.MessageResponseHandler;
import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
@@ -25,8 +23,7 @@
public class MinaRemoteNodeConnector
implements
- GenericNodeConnector,
- GenericIoWriter {
+ GenericNodeConnector {
protected IoSession session;
protected final String name;
@@ -37,26 +34,9 @@
protected RemoteConnection connection;
public MinaRemoteNodeConnector(String name,
- SocketConnector connector,
- SocketAddress address,
- SystemEventListener eventListener) {
- if (name == null) {
- throw new IllegalArgumentException("Name can not be null");
- }
- this.name = name;
- this.counter = new AtomicInteger();
- this.address = address;
- this.connector = connector;
- this.eventListener = eventListener;
- this.connection = new RemoteConnection();
-
- }
-
- public MinaRemoteNodeConnector(String name,
String providerAddress, Integer providerPort,
SystemEventListener eventListener) {
-
SocketConnector minaconnector = new NioSocketConnector();
minaconnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
if (name == null) {
@@ -70,8 +50,6 @@
this.connection = new RemoteConnection();
}
-
-
public void connect() throws ConnectorException {
if (session != null && session.isConnected()) {
throw new IllegalStateException("Already connected. Disconnect first.");
@@ -85,19 +63,18 @@
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!");
+ 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) {
- e.printStackTrace();
throw new ConnectorException(e);
}
}
-
public void disconnect() throws ConnectorException {
+ connection.dispose();
if (session != null && session.isConnected()) {
session.close();
session.getCloseFuture().join();
@@ -137,18 +114,16 @@
}
public String getId() {
- //return String.valueOf(session.getId());
- String hostName = ((InetSocketAddress)this.address).getHostName();
- int hostPort = ((InetSocketAddress)this.address).getPort();
-
- return "Mina:"+this.name+":"+hostName+":"+hostPort;
+ 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(){
+ public GenericConnection getConnection() {
return this.connection;
}
}
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-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/test/java/org/drools/grid/RemoteExecutionNodeTest.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -59,8 +59,10 @@
StaticIncrementalSelectionStrategy.counter = 0;
- SocketAddress address = new InetSocketAddress( "127.0.0.1", 9123 );
+ String address = "127.0.0.1";
+ int port = 9123;
+
NodeData nodeData = new NodeData();
// setup Server
SocketAcceptor acceptor = new NioSocketAcceptor();
@@ -68,7 +70,7 @@
new GenericMessageHandlerImpl( nodeData,
SystemEventListenerFactory.getSystemEventListener() ) ) );
this.server = new MinaAcceptor( acceptor,
- address );
+ address, port );
this.server.start();
System.out.println("Server Started!");
@@ -79,11 +81,10 @@
connection.addDirectoryNode(localDirectory);
// setup Client
- NioSocketConnector clientConnector = new NioSocketConnector();
- clientConnector.setHandler( new MinaIoHandler( SystemEventListenerFactory.getSystemEventListener() ) );
+
GenericNodeConnector minaClient = new MinaRemoteNodeConnector( "client 1",
- clientConnector,
address,
+ port,
SystemEventListenerFactory.getSystemEventListener() );
connection.addExecutionNode(minaClient);
@@ -95,16 +96,7 @@
@After
public void tearDown() throws ConnectorException {
System.out.println("Stopping the server and all the clients!");
- for(Iterator<GenericNodeConnector> iterator = connection.getNodeConnectors().iterator(); iterator.hasNext();){
- iterator.next().disconnect();
- }
- for(Iterator<GenericDirectoryConnector> iterator = connection.getDirectoryConnectors().iterator(); iterator.hasNext();){
- iterator.next().disconnect();
- }
-
- for(Iterator<GenericNodeConnector> iterator = connection.getTaskConnectors().iterator(); iterator.hasNext();){
- iterator.next().disconnect();
- }
+ connection.dispose();
this.server.stop();
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-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/DirectoryInstance.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -6,7 +6,7 @@
import org.drools.grid.DirectoryNodeService;
import org.drools.grid.GenericConnection;
import org.drools.grid.GenericDirectoryConnector;
-import org.drools.grid.strategies.DirectoryServiceSelectionStrategy;
+import org.drools.grid.strategies.DirectorySelectionStrategy;
/**
* @author salaboy
@@ -27,14 +27,14 @@
return connection.getDirectoryNode();
}
- public DirectoryNodeService getDirectoryService(DirectoryServiceSelectionStrategy strategy) throws ConnectorException {
+ public DirectoryNodeService getDirectoryService(DirectorySelectionStrategy strategy) throws ConnectorException {
GenericConnection connection = getConnector().getConnection();
return connection.getDirectoryNode(strategy);
}
public List<DirectoryNodeService> getDirectoryServices() throws ConnectorException {
GenericConnection connection = getConnector().getConnection();
- return connection.getDirectories();
+ return connection.getDirectoryNodes();
}
public GenericDirectoryConnector getConnector(){
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-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -43,7 +43,7 @@
public ExecutionNode getExecutionNode() throws ConnectorException {
GenericConnection connection = getConnector().getConnection();
- return connection.getExecutionNode(new ReturnAlwaysTheFirstSelectionStrategy(connection));
+ return connection.getExecutionNode(new ReturnAlwaysTheFirstSelectionStrategy());
}
public ExecutionNode getExecutionNode(NodeSelectionStrategy strategy) throws ConnectorException {
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericHumanTaskProvider.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericHumanTaskProvider.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GenericHumanTaskProvider.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -0,0 +1,32 @@
+package org.drools.grid.services;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.GenericHumanTaskConnector;
+
+/**
+ * @author salaboy
+ */
+public abstract class GenericHumanTaskProvider {
+ protected Map<String, Object> parameters = new HashMap<String, Object>();
+
+
+ public abstract GenericHumanTaskConnector getHumanTaskConnector();
+
+
+
+ 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 TaskServerInstance getTaskServerInstance(String name);
+
+ 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-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -8,6 +8,7 @@
import org.drools.grid.ExecutionNode;
import org.drools.grid.GenericConnection;
import org.drools.grid.GenericDirectoryConnector;
+import org.drools.grid.GenericHumanTaskConnector;
import org.drools.grid.GenericNodeConnector;
import org.drools.grid.services.strategies.DirectoryInstanceByPrioritySelectionStrategy;
import org.drools.grid.services.strategies.ExecutionEnvironmentSelectionStrategy;
@@ -85,9 +86,9 @@
}
- public void registerTaskServerInstance(String name, GenericNodeProvider provider) throws ConnectorException{
+ public void registerTaskServerInstance(String name, GenericHumanTaskProvider provider) throws ConnectorException{
TaskServerInstance taskServer = new TaskServerInstance(name, provider);
- GenericNodeConnector connector = taskServer.getConnector();
+ GenericHumanTaskConnector connector = taskServer.getConnector();
GenericConnection connection = connector.getConnection();
connection.addHumanTaskNode(connector);
connections.put(name, connection);
@@ -127,7 +128,7 @@
//@TODO: need to add strategy to get the execution node here!!!
public ExecutionNode getExecutionNode(ExecutionEnvironment ee) throws ConnectorException {
GenericConnection connection = connections.get(ee.getName());
- return connection.getExecutionNode(new ReturnAlwaysTheFirstSelectionStrategy(connection));
+ return connection.getExecutionNode(new ReturnAlwaysTheFirstSelectionStrategy());
}
public String getTopologyName() {
@@ -141,15 +142,15 @@
public void disconectAllClients() throws ConnectorException {
for (String key : executionEnvironments.keySet()) {
executionEnvironments.get(key).getConnector().disconnect();
- executionEnvironments.get(key).getConnector().getConnection().disconnectAllConnectors();
+ executionEnvironments.get(key).getConnector().getConnection().dispose();
}
for (String key : directories.keySet()) {
directories.get(key).getConnector().disconnect();
- directories.get(key).getConnector().getConnection().disconnectAllConnectors();
+ directories.get(key).getConnector().getConnection().dispose();
}
for (String key : taskServerInstance.keySet()) {
taskServerInstance.get(key).getConnector().disconnect();
- taskServerInstance.get(key).getConnector().getConnection().disconnectAllConnectors();
+ taskServerInstance.get(key).getConnector().getConnection().dispose();
}
}
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-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/TaskServerInstance.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -4,8 +4,8 @@
import org.drools.grid.services.strategies.ReturnFirstHumanTaskServiceSelectionStrategy;
import org.drools.grid.ConnectorException;
import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.strategies.HumanTaskServiceSelectionStrategy;
+import org.drools.grid.GenericHumanTaskConnector;
+import org.drools.grid.strategies.HumanTaskSelectionStrategy;
import org.drools.grid.task.HumanTaskService;
/**
* @author salaboy
@@ -13,23 +13,23 @@
public class TaskServerInstance {
private String name;
- private GenericNodeProvider provider;
+ private GenericHumanTaskProvider provider;
- public TaskServerInstance(String name, GenericNodeProvider provider) {
+ public TaskServerInstance(String name, GenericHumanTaskProvider provider) {
this.name = name;
this.provider = provider;
}
public HumanTaskService getTaskClient() throws ConnectorException {
GenericConnection connection = getConnector().getConnection();
- HumanTaskService htService = (HumanTaskService) connection.getTaskService(new ReturnFirstHumanTaskServiceSelectionStrategy(1, getConnector()));
+ HumanTaskService htService = (HumanTaskService) connection.getHumanTaskNode(new ReturnFirstHumanTaskServiceSelectionStrategy(1, getConnector()));
htService.connect();
return htService;
}
- public HumanTaskService getTaskClient(HumanTaskServiceSelectionStrategy strategy) throws ConnectorException {
+ public HumanTaskService getTaskClient(HumanTaskSelectionStrategy strategy) throws ConnectorException {
GenericConnection connection = getConnector().getConnection();
- HumanTaskService htService = (HumanTaskService) connection.getTaskService(strategy);
+ HumanTaskService htService = (HumanTaskService) connection.getHumanTaskNode(strategy);
htService.connect();
return htService;
}
@@ -39,11 +39,11 @@
return null;
}
- public GenericNodeConnector getConnector(){
- return provider.getNodeConnector();
+ public GenericHumanTaskConnector getConnector(){
+ return provider.getHumanTaskConnector();
}
- public GenericNodeProvider getProvider() {
+ public GenericHumanTaskProvider getProvider() {
return provider;
}
Added: 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 (rev 0)
+++ 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-22 01:54:34 UTC (rev 33584)
@@ -0,0 +1,66 @@
+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;
+ }
+
+
+
+
+}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ReturnFirstHumanTaskServiceSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ReturnFirstHumanTaskServiceSelectionStrategy.java 2010-06-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ReturnFirstHumanTaskServiceSelectionStrategy.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -17,22 +17,24 @@
package org.drools.grid.services.strategies;
+import java.util.List;
+import org.drools.grid.GenericHumanTaskConnector;
import org.drools.grid.GenericNodeConnector;
import org.drools.grid.HumanTaskNodeService;
-import org.drools.grid.strategies.HumanTaskServiceSelectionStrategy;
+import org.drools.grid.strategies.HumanTaskSelectionStrategy;
import org.drools.grid.task.HumanTaskServiceImpl;
/**
*
* @author salaboy
*/
-public class ReturnFirstHumanTaskServiceSelectionStrategy implements HumanTaskServiceSelectionStrategy{
+public class ReturnFirstHumanTaskServiceSelectionStrategy implements HumanTaskSelectionStrategy{
private final int sessionId;
- private final GenericNodeConnector connector;
+ private final GenericHumanTaskConnector connector;
- public ReturnFirstHumanTaskServiceSelectionStrategy(int sessionId, GenericNodeConnector connector) {
+ public ReturnFirstHumanTaskServiceSelectionStrategy(int sessionId, GenericHumanTaskConnector connector) {
this.sessionId = sessionId;
this.connector = connector;
@@ -42,4 +44,8 @@
return new HumanTaskServiceImpl(connector, 1);
}
+ public GenericHumanTaskConnector getBestHumanTask(List<GenericHumanTaskConnector> connectors) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
}
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-22 01:14:05 UTC (rev 33583)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java 2010-06-22 01:54:34 UTC (rev 33584)
@@ -42,9 +42,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.GenericNodeProvider;
+import org.drools.grid.services.GenericHumanTaskProvider;
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.task.CommandBasedServicesWSHumanTaskHandler;
import org.drools.grid.task.HumanTaskService;
@@ -206,7 +207,7 @@
public void MinaTaskTest() throws InterruptedException, ConnectorException {
grid = new GridTopology("MyBusinessUnit");
- GenericNodeProvider remoteTaskProvider = new MinaNodeProvider("MyMinaTask", "127.0.0.1", 9123);
+ GenericHumanTaskProvider remoteTaskProvider = new MinaHumanTaskProvider("MyMinaTask", "127.0.0.1", 9123);
grid.registerTaskServerInstance("MyMinaTask", remoteTaskProvider);
More information about the jboss-svn-commits
mailing list