[jboss-svn-commits] JBL Code SVN: r32358 - in labs/jbossrules/branches/salaboy_ServiceAPIs: drools-services/src/main/java/org/drools/services/generic and 15 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Apr 1 14:16:58 EDT 2010
Author: salaboy21
Date: 2010-04-01 14:16:56 -0400 (Thu, 01 Apr 2010)
New Revision: 32358
Added:
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/DirectoryService.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/ExecutionNodeService.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/NodeSelectionStrategy.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteConnection.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/generic/GenericConnection.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryServiceLocalImpl.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/DirectoryServiceSelectionStrategy.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/ReturnAlwaysTheFirstSelectionStrategy.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/StaticIncrementalSelectionStrategy.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/resources/asd
Removed:
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/DirectoryService.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/ExecutionNodeService.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridExecutionNodeConnection.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridSelectionStrategy.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/strategies/StaticIncrementalSelectionStrategy.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteNodeConnector.java
Modified:
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/pom.xml
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/DirectoryLookupProviderGridClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GenericMessageGridHandlerImpl.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridConnection.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBaseGridClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBaseProviderGridClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBuilderGridClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBuilderProviderGridClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/StatefulKnowledgeSessionGridClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/WorkItemManagerGridClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/command/NewStatefulKnowledgeSessionGridCommand.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/DirectoryServiceImpl.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/ExecutionNodeServiceImpl.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/rio/RioServiceConnector.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/java/org/drools/services/ExecutionNodeBaseTest.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/java/org/drools/services/ITGridExecutionTest.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/resources/org/drools/executionNodeService.groovy
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/main/java/org/drools/services/task/CommandBasedServicesWSHumanTaskHandler.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/main/java/org/drools/services/task/HumanTaskServiceImpl.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/test/java/org/drools/services/task/BaseTaskServiceTest.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/test/java/org/drools/services/task/CommandBasedServicesWSHumanTaskHandlerTest.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/generic/GenericServiceConnector.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/DirectoryLookupProviderRemoteClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBaseProviderRemoteClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBaseRemoteClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBuilderProviderRemoteClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBuilderRemoteClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/StatefulKnowledgeSessionRemoteClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/WorkItemManagerRemoteClient.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/ExecutionNodeBaseTest.java
labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/RemoteExecutionNodeTest.java
Log:
JBRULES-2446: Drools Services API
- drools-services-task refactoring names, cleaning code
- drools-services core refactoring, cleaning code, directory service
- drools-services-grid refactoring names, cleaning code
Copied: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/DirectoryService.java (from rev 32253, labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/DirectoryService.java)
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/DirectoryService.java (rev 0)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/DirectoryService.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -0,0 +1,23 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.drools.services;
+
+import java.rmi.RemoteException;
+import org.drools.KnowledgeBase;
+import org.drools.services.generic.GenericServiceConnector;
+
+
+/**
+ *
+ * @author salaboy
+ */
+
+public interface DirectoryService {
+ public void register(String executorId, String sessionServiceId) throws RemoteException;
+ public GenericServiceConnector lookup(String executorId) throws RemoteException;
+ public void registerKBase(String kbaseId, String sessionServiceId) throws RemoteException;
+ public KnowledgeBase lookupKBase(String kbaseId) throws RemoteException;
+}
Copied: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/ExecutionNodeService.java (from rev 32253, labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/ExecutionNodeService.java)
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/ExecutionNodeService.java (rev 0)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/ExecutionNodeService.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -0,0 +1,20 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.drools.services;
+
+import java.rmi.RemoteException;
+import org.drools.services.generic.GenericServiceConnector;
+import org.drools.services.generic.Message;
+
+
+/**
+ *
+ * @author salaboy
+ */
+public interface ExecutionNodeService extends GenericServiceConnector{
+ public String getId() throws RemoteException;
+ public Message write(Message msg) throws RemoteException;
+
+}
Copied: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/NodeSelectionStrategy.java (from rev 32253, labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridSelectionStrategy.java)
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/NodeSelectionStrategy.java (rev 0)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/NodeSelectionStrategy.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -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.services;
+
+import org.drools.services.generic.GenericServiceConnector;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface NodeSelectionStrategy {
+
+ public GenericServiceConnector getBestNode();
+
+
+}
Added: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteConnection.java (rev 0)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteConnection.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -0,0 +1,118 @@
+/*
+ * 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.services;
+
+import java.rmi.RemoteException;
+import java.util.ArrayList;
+import java.util.List;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.services.generic.GenericConnection;
+import org.drools.services.generic.GenericServiceConnector;
+import org.drools.services.remote.DirectoryLookupProviderRemoteClient;
+import org.drools.services.remote.KnowledgeBaseProviderRemoteClient;
+import org.drools.services.remote.KnowledgeBuilderProviderRemoteClient;
+import org.drools.services.strategies.DirectoryServiceSelectionStrategy;
+
+import org.drools.services.strategies.StaticIncrementalSelectionStrategy;
+import sun.reflect.generics.reflectiveObjects.NotImplementedException;
+
+/**
+ *
+ * @author salaboy
+ */
+public class RemoteConnection implements GenericConnection {
+ //Cached Services
+ private List<GenericServiceConnector> services;
+ //Cached Directories
+ private List<DirectoryService> directories;
+
+ public RemoteConnection() {
+ this.services = new ArrayList<GenericServiceConnector>();
+ this.directories = new ArrayList<DirectoryService>();
+ }
+
+ public void addService(GenericServiceConnector service) {
+
+ this.services.add(service);
+
+ }
+ public void addDirectoryService(DirectoryService directory) {
+ this.directories.add(directory);
+ }
+
+ // In real scenarios this method will be in charge of populating
+ // all the ExecutionNodeService and DirectoryServices
+ public void connect() {
+ throw new NotImplementedException();
+ }
+
+
+ public ExecutionNode getExecutionNode(NodeSelectionStrategy strategy) throws RemoteException {
+
+ ExecutionNode node = null;
+ GenericServiceConnector currentService = null;
+ //if the strategy is null use the default one
+ if(strategy == null){
+ currentService = getBestService(
+ new StaticIncrementalSelectionStrategy(this));
+ } else{
+ currentService = getBestService(strategy);
+ }
+
+ if(currentService.connect()){
+ node = new ExecutionNode();
+ node.set(KnowledgeBuilderFactoryService.class,
+ new KnowledgeBuilderProviderRemoteClient(currentService));
+
+ node.set(KnowledgeBaseFactoryService.class,
+ new KnowledgeBaseProviderRemoteClient(currentService));
+ node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderRemoteClient(currentService, this));
+ return node;
+ }
+ return null;
+ }
+ public GenericServiceConnector getBestService(NodeSelectionStrategy nodeSelectionStrategy) {
+ return nodeSelectionStrategy.getBestNode();
+ }
+
+ public List<DirectoryService> getDirectories() {
+ return directories;
+ }
+
+ public void setDirectories(List<DirectoryService> directories) {
+ this.directories = directories;
+ }
+
+ public List<GenericServiceConnector> getServices() {
+ return services;
+ }
+
+ public void setServices(List<GenericServiceConnector> services) {
+ this.services = services;
+ }
+
+ public DirectoryService getDirectoryService(DirectoryServiceSelectionStrategy directorySelectionStrategy) {
+ return directories.get(0);
+ }
+
+
+
+
+}
Deleted: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteNodeConnector.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/RemoteNodeConnector.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,86 +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.services;
-
-import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
-import org.drools.KnowledgeBaseFactoryService;
-import org.drools.builder.DirectoryLookupFactoryService;
-import org.drools.builder.KnowledgeBuilderFactoryService;
-import org.drools.services.generic.GenericServiceConnector;
-import org.drools.services.remote.DirectoryLookupProviderRemoteClient;
-import org.drools.services.remote.KnowledgeBaseProviderRemoteClient;
-import org.drools.services.remote.KnowledgeBuilderProviderRemoteClient;
-
-/**
- *
- * @author salaboy
- */
-public class RemoteNodeConnector implements NodeConnector {
-
- private String name;
- public GenericServiceConnector client;
- public AtomicInteger counter;
- private int sessionId = -1;
-
- public RemoteNodeConnector(String name, GenericServiceConnector connector) {
- this.name = name;
- this.client = connector;
- this.counter = new AtomicInteger();
- }
-
- public ExecutionNode connect() {
-
- if (client.connect()) {
-
- ExecutionNode node = new ExecutionNode();
- node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderRemoteClient(this));
- node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderRemoteClient(this));
- node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderRemoteClient(this));
- return node;
- }
- return null;
- }
-
- public void disconnect() {
- client.disconnect();
- }
-
- public GenericServiceConnector getClient() {
- return client;
- }
-
- public void setClient(GenericServiceConnector client) {
- this.client = client;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getSessionId() {
- return sessionId;
- }
-
- public int getNextId() {
- return this.counter.incrementAndGet();
- }
-}
Added: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/generic/GenericConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/generic/GenericConnection.java (rev 0)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/generic/GenericConnection.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -0,0 +1,38 @@
+/*
+ * 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.services.generic;
+
+import java.util.List;
+import org.drools.services.DirectoryService;
+import org.drools.services.NodeSelectionStrategy;
+import org.drools.services.strategies.DirectoryServiceSelectionStrategy;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface GenericConnection {
+ public void addService(GenericServiceConnector service);
+ public void addDirectoryService(DirectoryService directory);
+ public List<GenericServiceConnector> getServices();
+ public List<DirectoryService> getDirectories();
+ public GenericServiceConnector getBestService(NodeSelectionStrategy nodeSelectionStrategy);
+ public DirectoryService getDirectoryService(DirectoryServiceSelectionStrategy directorySelectionStrategy);
+
+
+}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/generic/GenericServiceConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/generic/GenericServiceConnector.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/generic/GenericServiceConnector.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,15 +1,16 @@
package org.drools.services.generic;
+import java.rmi.RemoteException;
+
public interface GenericServiceConnector extends GenericIoWriter {
- boolean connect();
+ boolean connect() throws RemoteException;;
- void disconnect();
+ void disconnect() throws RemoteException;;
- Message write(Message msg);
-
- //void write(Message msg);
- String getId();
+ Message write(Message msg) throws RemoteException;;
- void setSession(Object object);
-}
\ No newline at end of file
+ String getId() throws RemoteException;;
+
+ // void setSession(Object object) throws RemoteException;;
+}
Added: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryServiceLocalImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryServiceLocalImpl.java (rev 0)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/local/DirectoryServiceLocalImpl.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -0,0 +1,65 @@
+/*
+ * 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.services.local;
+
+import java.rmi.RemoteException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.drools.KnowledgeBase;
+import org.drools.services.DirectoryService;
+import org.drools.services.generic.GenericServiceConnector;
+
+/**
+ *
+ * @author salaboy
+ */
+public class DirectoryServiceLocalImpl implements DirectoryService {
+ private Map<String, String> directoryMap = new HashMap<String, String>();
+ private List<GenericServiceConnector> services = new ArrayList<GenericServiceConnector>();
+
+ public void register(String executorId, String sessionServiceId) throws RemoteException {
+ System.out.println("Registering: "+ executorId + " -- "+sessionServiceId);
+ directoryMap.put(executorId, sessionServiceId);
+ }
+
+ public GenericServiceConnector lookup(String executorId) throws RemoteException {
+ GenericServiceConnector sessionService = null;
+ String sessionServiceId = (String)directoryMap.get(executorId);
+ System.out.println("Registry = "+ directoryMap.toString());
+ System.out.println("Nodes Services = "+services);
+ for(GenericServiceConnector ss : services){
+ System.out.println("Session Service id = "+ss.getId() + "needs to match with ="+sessionServiceId);
+ if(ss.getId().equals(sessionServiceId)){
+ sessionService = ss;
+ }
+ }
+
+ return sessionService;
+ }
+
+ public void registerKBase(String kbaseId, String sessionServiceId) throws RemoteException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public KnowledgeBase lookupKBase(String kbaseId) throws RemoteException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/DirectoryLookupProviderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/DirectoryLookupProviderRemoteClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/DirectoryLookupProviderRemoteClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -17,6 +17,8 @@
package org.drools.services.remote;
import java.rmi.RemoteException;
+import java.util.HashMap;
+import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.drools.builder.DirectoryLookupFactoryService;
@@ -25,9 +27,10 @@
import org.drools.runtime.CommandExecutor;
import org.drools.runtime.ExecutionResults;
import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.services.RemoteNodeConnector;
import org.drools.services.command.LookupCommand;
import org.drools.services.command.RegisterCommand;
+import org.drools.services.generic.GenericConnection;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
import org.drools.services.generic.MessageSession;
@@ -37,81 +40,96 @@
*/
public class DirectoryLookupProviderRemoteClient implements DirectoryLookupFactoryService {
- private RemoteNodeConnector nodeConnection;
+ //The current node connector
+
+ private GenericServiceConnector client;
+
+
+ private GenericConnection connection;
+
+
private MessageSession messageSession;
- public DirectoryLookupProviderRemoteClient(RemoteNodeConnector nodeConnection) {
- this.nodeConnection = nodeConnection;
+ public DirectoryLookupProviderRemoteClient(GenericServiceConnector client, GenericConnection connection) {
+ this.client = client;
this.messageSession = new MessageSession();
+ connection = connection;
}
public void register(String identifier,
- CommandExecutor executor) {
+ CommandExecutor executor) {
+ try {
+ String commandId = "client.lookup" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ int type;
+ if (executor instanceof StatefulKnowledgeSession) {
+ type = 0;
+ } else {
+ throw new IllegalArgumentException("Type is not supported for registration");
+ }
+ Message msg = new Message(messageSession.getSessionId(), messageSession.getCounter().incrementAndGet(), false, new KnowledgeContextResolveFromContextCommand(new RegisterCommand(identifier, ((StatefulKnowledgeSessionRemoteClient) executor).getInstanceId(), type), null, null, null, null));
- String commandId = "client.lookup" + messageSession.getNextId();
- String kresultsId = "kresults_" + messageSession.getSessionId();
- int type;
-
- if (executor instanceof StatefulKnowledgeSession) {
- type = 0;
- } else {
- throw new IllegalArgumentException("Type is not supported for registration");
- }
- Message msg = new Message(messageSession.getSessionId(), messageSession.getCounter().incrementAndGet(), false, new KnowledgeContextResolveFromContextCommand(new RegisterCommand(identifier, ((StatefulKnowledgeSessionRemoteClient) executor).getInstanceId(), type), null, null, null, null));
- System.out.println("Registering " + identifier + " - - " + nodeConnection.client.getId());
-
- try {
- Object object = nodeConnection.client.write(msg).getPayload();
- if (!(object instanceof FinishedCommand)) {
- throw new RuntimeException("Response was not correctly ended");
+ System.out.println("Registering " + identifier + " - - " + client.getId());
+ connection.getDirectoryService(null).register(identifier, client.getId());
+ try {
+ Object object = client.write(msg).getPayload();
+ if (!(object instanceof FinishedCommand)) {
+ throw new RuntimeException("Response was not correctly ended");
+ }
+ } catch (Exception e) {
+ throw new RuntimeException("Unable to execute message", e);
}
- } catch (Exception e) {
- throw new RuntimeException("Unable to execute message", e);
+ } catch (RemoteException ex) {
+ Logger.getLogger(DirectoryLookupProviderRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
}
}
public CommandExecutor lookup(String identifier) {
- String commandId = "client.lookup" + messageSession.getNextId();
- String kresultsId = "kresults_" + messageSession.getSessionId();
- Message msg = new Message(messageSession.getSessionId(),
- messageSession.getCounter().incrementAndGet(),
- false,
- new KnowledgeContextResolveFromContextCommand(new LookupCommand(identifier,
- commandId),
- null,
- null,
- null,
- kresultsId));
- System.out.println("Looking up the session with identifier = " + identifier);
-
try {
- Object object = nodeConnection.client.write(msg).getPayload();
-
- if (object == null) {
- throw new RuntimeException("Response was not correctly received");
- }
- String value = (String) ((ExecutionResults) object).getValue(commandId);
- String type = String.valueOf(value.charAt(0));
- String instanceId = value.substring(2);
-
- CommandExecutor executor = null;
- switch (Integer.parseInt(type)) {
- case 0: {
- executor = new StatefulKnowledgeSessionRemoteClient(instanceId, nodeConnection);
- break;
+ String commandId = "client.lookup" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ Message msg = new Message(messageSession.getSessionId(), messageSession.getCounter().incrementAndGet(), false, new KnowledgeContextResolveFromContextCommand(new LookupCommand(identifier, commandId), null, null, null, kresultsId));
+ System.out.println("Looking up the session with identifier = " + identifier);
+ client = connection.getDirectoryService(null).lookup(identifier);
+ try {
+ Object object = client.write(msg).getPayload();
+ if (object == null) {
+ throw new RuntimeException("Response was not correctly received");
}
- default: {
+ String value = (String) ((ExecutionResults) object).getValue(commandId);
+ String type = String.valueOf(value.charAt(0));
+ String instanceId = value.substring(2);
+ CommandExecutor executor = null;
+ switch (Integer.parseInt(type)) {
+ case 0:
+ {
+ executor = new StatefulKnowledgeSessionRemoteClient(instanceId, client, messageSession);
+ break;
+ }
+ default:
+ {
+ }
}
-
+ return executor;
+ } catch (Exception e) {
+ throw new RuntimeException("Unable to execute message", e);
}
-
- return executor;
- } catch (Exception e) {
- throw new RuntimeException("Unable to execute message",
- e);
+ } catch (RemoteException ex) {
+ Logger.getLogger(DirectoryLookupProviderRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
}
+ return null;
}
+
+
+
+
+
+
+
+
+
+
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBaseProviderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBaseProviderRemoteClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBaseProviderRemoteClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -11,16 +11,19 @@
import org.drools.command.SetVariableCommand;
import org.drools.runtime.Environment;
import org.drools.runtime.KnowledgeSessionConfiguration;
-import org.drools.services.RemoteNodeConnector;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
+import org.drools.services.generic.MessageSession;
public class KnowledgeBaseProviderRemoteClient
implements
KnowledgeBaseFactoryService {
- private RemoteNodeConnector nodeConnection;
-
- public KnowledgeBaseProviderRemoteClient(RemoteNodeConnector nodeConnection) {
- this.nodeConnection = nodeConnection;
+
+ private GenericServiceConnector client;
+ private MessageSession messageSession;
+ public KnowledgeBaseProviderRemoteClient(GenericServiceConnector client) {
+ this.client = client;
+ this.messageSession = new MessageSession();
}
public Environment newEnvironment() {
@@ -37,14 +40,14 @@
String localId = UUID.randomUUID().toString();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new SetVariableCommand( "__TEMP__",
localId,
new NewKnowledgeBaseCommand( null ) ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( !(object instanceof FinishedCommand) ) {
throw new RuntimeException( "Response was not correctly ended" );
@@ -56,7 +59,7 @@
}
return new KnowledgeBaseRemoteClient( localId,
- nodeConnection );
+ client, messageSession );
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBaseRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBaseRemoteClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBaseRemoteClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -18,29 +18,33 @@
import org.drools.runtime.KnowledgeSessionConfiguration;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.StatelessKnowledgeSession;
-import org.drools.services.RemoteNodeConnector;
import org.drools.services.generic.CollectionClient;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
+import org.drools.services.generic.MessageSession;
public class KnowledgeBaseRemoteClient
implements
KnowledgeBase {
- private RemoteNodeConnector nodeConnection;
+
+ private GenericServiceConnector client;
+ private MessageSession messageSession;
private String instanceId;
public KnowledgeBaseRemoteClient(String instanceId,
- RemoteNodeConnector nodeConnection) {
+ GenericServiceConnector client, MessageSession messageSession) {
this.instanceId = instanceId;
- this.nodeConnection = nodeConnection;
+ this.client = client;
+ this.messageSession = messageSession;
}
public void addKnowledgePackages(Collection<KnowledgePackage> kpackages) {
- String kresultsId = "kresults_" + nodeConnection.getSessionId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
String kuilderInstanceId = ((CollectionClient<KnowledgePackage>) kpackages).getParentInstanceId();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new KnowledgeContextResolveFromContextCommand( new KnowledgeBaseAddKnowledgePackagesCommand(),
kuilderInstanceId,
@@ -49,7 +53,7 @@
kresultsId ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( !(object instanceof FinishedCommand) ) {
throw new RuntimeException( "Response was not correctly ended" );
@@ -95,12 +99,12 @@
public StatefulKnowledgeSession newStatefulKnowledgeSession(KnowledgeSessionConfiguration conf,
Environment environment) {
- String kresultsId = "kresults_" + nodeConnection.getSessionId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
String localId = UUID.randomUUID().toString();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new SetVariableCommand( "__TEMP__",
localId,
@@ -111,7 +115,7 @@
kresultsId ) ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( !(object instanceof FinishedCommand) ) {
throw new RuntimeException( "Response was not correctly ended" );
@@ -123,7 +127,7 @@
}
return new StatefulKnowledgeSessionRemoteClient( localId,
- nodeConnection );
+ client, messageSession );
}
public StatelessKnowledgeSession newStatelessKnowledgeSession(KnowledgeSessionConfiguration conf) {
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBuilderProviderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBuilderProviderRemoteClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBuilderProviderRemoteClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -14,16 +14,21 @@
import org.drools.command.FinishedCommand;
import org.drools.command.SetVariableCommand;
import org.drools.command.builder.NewKnowledgeBuilderCommand;
-import org.drools.services.RemoteNodeConnector;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
+import org.drools.services.generic.MessageSession;
public class KnowledgeBuilderProviderRemoteClient
implements
KnowledgeBuilderFactoryService {
- private RemoteNodeConnector nodeConnection;
+
+ private GenericServiceConnector client;
+ private MessageSession messageSession;
+ public KnowledgeBuilderProviderRemoteClient(GenericServiceConnector client) {
+ //this.nodeConnection = nodeConnection;
+ this.messageSession = new MessageSession();
+ this.client = client;
- public KnowledgeBuilderProviderRemoteClient(RemoteNodeConnector nodeConnection) {
- this.nodeConnection = nodeConnection;
}
public DecisionTableConfiguration newDecisionTableConfiguration() {
@@ -34,15 +39,15 @@
public KnowledgeBuilder newKnowledgeBuilder() {
String localId = UUID.randomUUID().toString();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new SetVariableCommand( "__TEMP__",
localId,
new NewKnowledgeBuilderCommand( null ) ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( !(object instanceof FinishedCommand) ) {
throw new RuntimeException( "Response was not correctly ended" );
@@ -54,7 +59,7 @@
}
return new KnowledgeBuilderRemoteClient( localId,
- nodeConnection );
+ client, messageSession );
}
public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBuilderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBuilderRemoteClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/KnowledgeBuilderRemoteClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -15,20 +15,24 @@
import org.drools.definition.KnowledgePackage;
import org.drools.io.Resource;
import org.drools.runtime.ExecutionResults;
-import org.drools.services.RemoteNodeConnector;
import org.drools.services.generic.CollectionClient;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
+import org.drools.services.generic.MessageSession;
public class KnowledgeBuilderRemoteClient
implements
KnowledgeBuilder {
- private RemoteNodeConnector nodeConnection;
+
private String instanceId;
+ private final GenericServiceConnector client;
+ private final MessageSession messageSession;
public KnowledgeBuilderRemoteClient(String instanceId,
- RemoteNodeConnector nodeConnection) {
+ GenericServiceConnector client, MessageSession messageSession) {
this.instanceId = instanceId;
- this.nodeConnection = nodeConnection;
+ this.client = client;
+ this.messageSession = messageSession;
}
public void add(Resource resource,
@@ -41,8 +45,8 @@
public void add(Resource resource,
ResourceType resourceType,
ResourceConfiguration configuration) {
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderAddCommand( resource,
resourceType,
@@ -53,7 +57,7 @@
null ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( !(object instanceof FinishedCommand) ) {
throw new RuntimeException( "Response was not correctly ended" );
@@ -67,11 +71,11 @@
}
public KnowledgeBuilderErrors getErrors() {
- String commandId = "kbuilder.getErrors_" + nodeConnection.getNextId();
- String kresultsId = "kresults_" + nodeConnection.getSessionId();
+ String commandId = "kbuilder.getErrors_" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderGetErrorsCommand( commandId ),
instanceId,
@@ -80,7 +84,7 @@
kresultsId ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( object == null ) {
throw new RuntimeException( "Response was not correctly received" );
@@ -100,11 +104,11 @@
}
public boolean hasErrors() {
- String commandId = "kbuilder.hasErrors_" + nodeConnection.getNextId();
- String kresultsId = "kresults_" + nodeConnection.getSessionId();
+ String commandId = "kbuilder.hasErrors_" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.getNextId(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.getNextId(),
false,
new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderHasErrorsCommand( commandId ),
instanceId,
@@ -113,7 +117,7 @@
kresultsId ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( object == null ) {
throw new RuntimeException( "Response was not correctly received" );
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/StatefulKnowledgeSessionRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/StatefulKnowledgeSessionRemoteClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/StatefulKnowledgeSessionRemoteClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -28,21 +28,26 @@
import org.drools.runtime.rule.FactHandle;
import org.drools.runtime.rule.QueryResults;
import org.drools.runtime.rule.WorkingMemoryEntryPoint;
-import org.drools.services.RemoteNodeConnector;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.time.SessionClock;
import org.drools.services.generic.Message;
+import org.drools.services.generic.MessageSession;
public class StatefulKnowledgeSessionRemoteClient
implements
StatefulKnowledgeSession {
- private RemoteNodeConnector nodeConnection;
- private String instanceId;
+ private GenericServiceConnector client;
+ private MessageSession messageSession;
+ private String instanceId;
+
public StatefulKnowledgeSessionRemoteClient(String instanceId,
- RemoteNodeConnector nodeConnection) {
+ GenericServiceConnector client, MessageSession messageSession) {
this.instanceId = instanceId;
- this.nodeConnection = nodeConnection;
+ this.client = client;
+ this.messageSession = messageSession;
+
}
public String getInstanceId() {
@@ -60,11 +65,11 @@
}
public int fireAllRules() {
- String commandId = "ksession.fireAllRules" + nodeConnection.getNextId();
- String kresultsId = "kresults_" + nodeConnection.getSessionId();
+ String commandId = "ksession.fireAllRules" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new KnowledgeContextResolveFromContextCommand( new FireAllRulesCommand( commandId ),
null,
@@ -72,7 +77,7 @@
instanceId,
kresultsId ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( object == null ) {
throw new RuntimeException( "Response was not correctly received" );
@@ -106,11 +111,11 @@
}
public ExecutionResults execute(Command command) {
- String commandId = "ksession.execute" + nodeConnection.getNextId();
- String kresultsId = "kresults_" + nodeConnection.getSessionId();
+ String commandId = "ksession.execute" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new KnowledgeContextResolveFromContextCommand( new ExecuteCommand( commandId,
command ),
@@ -120,7 +125,7 @@
kresultsId ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();if ( object == null ) {
+ Object object = client.write( msg ).getPayload();if ( object == null ) {
throw new RuntimeException( "Response was not correctly received" );
}
@@ -266,9 +271,9 @@
}
public WorkItemManager getWorkItemManager() {
- String kresultsId = "kresults_" + nodeConnection.getSessionId();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
true,
new KnowledgeContextResolveFromContextCommand( new GetWorkItemManagerCommand(),
null,
@@ -276,9 +281,10 @@
instanceId,
kresultsId ) );
try {
- Object payload = nodeConnection.client.write( msg ).getPayload();
+ Object payload = client.write( msg ).getPayload();
WorkItemManager workItemManager = (WorkItemManager) ((ExecutionResults) payload).getValue( "workItemManager" );
- ((WorkItemManagerRemoteClient)workItemManager).setNodeConnection(nodeConnection);
+ ((WorkItemManagerRemoteClient)workItemManager).setClient(client);
+ ((WorkItemManagerRemoteClient)workItemManager).setMessageSession(messageSession);
((WorkItemManagerRemoteClient)workItemManager).setInstanceId(instanceId);
return workItemManager;
} catch ( Exception e ) {
@@ -288,10 +294,10 @@
public void registerWorkItemHandler(String name, String workItemHandler){
- String kresultsId = "kresults_" + nodeConnection.getSessionId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new KnowledgeContextResolveFromContextCommand( new RegisterRemoteWorkItemHandlerCommand(name, workItemHandler ),
null,
@@ -300,7 +306,7 @@
kresultsId ) );
try {
- nodeConnection.client.write( msg );
+ client.write( msg );
} catch ( Exception e ) {
throw new RuntimeException( "Unable to execute message",
@@ -317,11 +323,11 @@
}
public ProcessInstance startProcess(String processId) {
- String commandId = "ksession.execute" + nodeConnection.getNextId();
- String kresultsId = "kresults_" + nodeConnection.getSessionId();
+ String commandId = "ksession.execute" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new KnowledgeContextResolveFromContextCommand( new StartProcessRemoteCommand( processId ),
null,
@@ -330,7 +336,7 @@
kresultsId ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( object == null ) {
throw new RuntimeException( "Response was not correctly received" );
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/WorkItemManagerRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/WorkItemManagerRemoteClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/remote/WorkItemManagerRemoteClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -7,8 +7,9 @@
import org.drools.command.runtime.process.CompleteWorkItemCommand;
import org.drools.runtime.process.WorkItemHandler;
import org.drools.runtime.process.WorkItemManager;
-import org.drools.services.RemoteNodeConnector;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
+import org.drools.services.generic.MessageSession;
/**
*
@@ -19,7 +20,8 @@
private static final long serialVersionUID = 1L;
- private RemoteNodeConnector nodeConnection;
+ private GenericServiceConnector client;
+ private MessageSession messageSession;
private String instanceId;
public void abortWorkItem(long id) {
@@ -27,9 +29,9 @@
}
public void completeWorkItem(long id, Map<String, Object> results) {
- String kresultsId = "kresults_" + nodeConnection.getSessionId();
- Message msg = new Message( nodeConnection.getSessionId(),
- nodeConnection.counter.incrementAndGet(),
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
true,
new KnowledgeContextResolveFromContextCommand( new CompleteWorkItemCommand(id, results),
null,
@@ -37,7 +39,7 @@
instanceId,
kresultsId ) );
try {
- nodeConnection.client.write( msg );
+ client.write( msg );
} catch ( Exception e ) {
throw new RuntimeException( "Unable to execute message", e );
}
@@ -47,10 +49,16 @@
throw new UnsupportedOperationException("Not supported yet.");
}
- public void setNodeConnection(RemoteNodeConnector nodeConnection) {
- this.nodeConnection = nodeConnection;
- }
+ public void setClient(GenericServiceConnector client) {
+ this.client = client;
+ }
+ public void setMessageSession(MessageSession messageSession) {
+ this.messageSession = messageSession;
+ }
+
+
+
public void setInstanceId(String instanceId) {
this.instanceId = instanceId;
}
Added: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/DirectoryServiceSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/DirectoryServiceSelectionStrategy.java (rev 0)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/DirectoryServiceSelectionStrategy.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.services.strategies;
+
+/**
+ *
+ * @author salaboy
+ */
+public class DirectoryServiceSelectionStrategy {
+
+}
Added: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/ReturnAlwaysTheFirstSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/ReturnAlwaysTheFirstSelectionStrategy.java (rev 0)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/ReturnAlwaysTheFirstSelectionStrategy.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -0,0 +1,38 @@
+/*
+ * 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.services.strategies;
+
+import org.drools.services.NodeSelectionStrategy;
+import org.drools.services.generic.GenericConnection;
+import org.drools.services.generic.GenericServiceConnector;
+
+/**
+ *
+ * @author salaboy
+ */
+public class ReturnAlwaysTheFirstSelectionStrategy implements NodeSelectionStrategy{
+
+ private GenericConnection connection;
+ public ReturnAlwaysTheFirstSelectionStrategy(GenericConnection connection) {
+ this.connection = connection;
+ }
+ public GenericServiceConnector getBestNode() {
+ return this.connection.getServices().get(0);
+ }
+
+}
Copied: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/StaticIncrementalSelectionStrategy.java (from rev 32253, labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/strategies/StaticIncrementalSelectionStrategy.java)
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/StaticIncrementalSelectionStrategy.java (rev 0)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/java/org/drools/services/strategies/StaticIncrementalSelectionStrategy.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -0,0 +1,46 @@
+/*
+ * 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.services.strategies;
+
+
+import org.drools.services.NodeSelectionStrategy;
+import org.drools.services.generic.GenericConnection;
+import org.drools.services.generic.GenericServiceConnector;
+
+
+/**
+ *
+ * @author salaboy
+ */
+public class StaticIncrementalSelectionStrategy implements NodeSelectionStrategy{
+ public static int counter = 0;
+ private GenericConnection connection;
+ public StaticIncrementalSelectionStrategy(GenericConnection connection) {
+ this.connection = connection;
+ }
+
+
+ @Override
+ public GenericServiceConnector getBestNode() {
+ System.out.println("!!!!!GET BEST NODE = "+counter);
+ GenericServiceConnector service = connection.getServices().get(counter);
+ StaticIncrementalSelectionStrategy.counter = counter +1;
+ return service;
+ }
+
+}
Added: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/main/resources/asd
===================================================================
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/ExecutionNodeBaseTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/ExecutionNodeBaseTest.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/ExecutionNodeBaseTest.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -29,6 +29,7 @@
import org.drools.io.ResourceFactory;
import org.drools.runtime.ExecutionResults;
import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.services.RemoteConnection;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -40,6 +41,7 @@
public abstract class ExecutionNodeBaseTest {
protected ExecutionNode node;
+ protected RemoteConnection connection = new RemoteConnection();
@Before
protected abstract void configureNode() throws Exception;
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/RemoteExecutionNodeTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/RemoteExecutionNodeTest.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services/src/test/java/org/drools/service/RemoteExecutionNodeTest.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -31,7 +31,7 @@
import org.drools.services.generic.NodeData;
import java.net.SocketAddress;
import java.net.InetSocketAddress;
-import org.drools.services.RemoteNodeConnector;
+import org.drools.services.local.DirectoryServiceLocalImpl;
import org.junit.After;
import org.junit.Before;
@@ -62,6 +62,8 @@
address );
this.server.start();
+ connection.addDirectoryService(new DirectoryServiceLocalImpl());
+
// setup Client
NioSocketConnector clientConnector = new NioSocketConnector();
clientConnector.setHandler( new MinaIoHandler( SystemEventListenerFactory.getSystemEventListener() ) );
@@ -69,14 +71,16 @@
clientConnector,
address,
SystemEventListenerFactory.getSystemEventListener() );
-
- nodeConnection = new RemoteNodeConnector("client 1", minaClient);
- node = nodeConnection.connect();
+ connection.addService(minaClient);
+ //nodeConnection = new RemoteNodeConnector("client 1", minaClient);
+ //node = nodeConnection.connect();
+ node = connection.getExecutionNode(null);
+
}
@After
public void tearDown() {
- nodeConnection.disconnect();
+ // connection.disconnect();
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/pom.xml 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/pom.xml 2010-04-01 18:16:56 UTC (rev 32358)
@@ -78,10 +78,9 @@
<classifier>dl</classifier>
<in>org.drools.services</in>
<topclasses>
- <topclass>org.drools.services.grid.GridNodeExecutionService</topclass>
- <topclass>org.drools.services.grid.DirectoryService</topclass>
+ <topclass>org.drools.services.ExecutionNodeService</topclass>
+ <topclass>org.drools.services.DirectoryService</topclass>
<topclass>org.drools.services.grid.util.IDEntry</topclass>
- <topclass>org.drools.services.generic.GenericIoWriter</topclass>
<topclass>org.drools.impl.SystemEventListenerServiceImpl</topclass>
</topclasses>
</createJar>
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/DirectoryLookupProviderGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/DirectoryLookupProviderGridClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/DirectoryLookupProviderGridClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -17,6 +17,8 @@
package org.drools.services.grid;
+import org.drools.services.DirectoryService;
+import org.drools.services.ExecutionNodeService;
import java.rmi.RemoteException;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -28,6 +30,7 @@
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.services.command.LookupCommand;
import org.drools.services.command.RegisterCommand;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
import org.drools.services.generic.MessageSession;
@@ -38,12 +41,12 @@
public class DirectoryLookupProviderGridClient implements DirectoryLookupFactoryService {
private GridConnection gridClient;
- private ExecutionNodeService currentService;
+ private GenericServiceConnector currentService;
private MessageSession messageSession;
- public DirectoryLookupProviderGridClient(ExecutionNodeService currentService, GridConnection gridClient) {
+ public DirectoryLookupProviderGridClient(GenericServiceConnector currentService, GridConnection gridClient) {
this.currentService = currentService;
this.gridClient = gridClient;
this.messageSession = new MessageSession();
Deleted: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/DirectoryService.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/DirectoryService.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/DirectoryService.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,22 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
-package org.drools.services.grid;
-
-import java.rmi.RemoteException;
-import org.drools.KnowledgeBase;
-
-
-/**
- *
- * @author salaboy
- */
-
-public interface DirectoryService {
- public void register(String executorId, String sessionServiceId) throws RemoteException;
- public ExecutionNodeService lookup(String executorId) throws RemoteException;
- public void registerKBase(String kbaseId, String sessionServiceId) throws RemoteException;
- public KnowledgeBase lookupKBase(String kbaseId) throws RemoteException;
-}
Deleted: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/ExecutionNodeService.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/ExecutionNodeService.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/ExecutionNodeService.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,20 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package org.drools.services.grid;
-
-import java.rmi.RemoteException;
-import org.drools.services.generic.GenericIoWriter;
-import org.drools.services.generic.Message;
-
-
-/**
- *
- * @author salaboy
- */
-public interface ExecutionNodeService extends GenericIoWriter {
- public String getId() throws RemoteException;
- public Message write(Message msg) throws RemoteException;
-
-}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GenericMessageGridHandlerImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GenericMessageGridHandlerImpl.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GenericMessageGridHandlerImpl.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,5 +1,6 @@
package org.drools.services.grid;
+import org.drools.services.DirectoryService;
import java.io.IOException;
import java.rmi.RemoteException;
import java.util.ArrayList;
@@ -34,7 +35,7 @@
this.systemEventListener = systemEventListener;
this.data = data;
- Class[] classes = new Class[]{org.drools.services.grid.DirectoryService.class};
+ Class[] classes = new Class[]{org.drools.services.DirectoryService.class};
ServiceTemplate tmpl = new ServiceTemplate(null, classes,null);
LookupDiscoveryManager lookupDiscovery = null;
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridConnection.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridConnection.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -16,38 +16,44 @@
*/
package org.drools.services.grid;
+import org.drools.services.DirectoryService;
+import org.drools.services.ExecutionNodeService;
import org.drools.builder.DirectoryLookupFactoryService;
import java.util.ArrayList;
import java.util.List;
import org.drools.KnowledgeBaseFactoryService;
import org.drools.builder.KnowledgeBuilderFactoryService;
import org.drools.services.ExecutionNode;
-import org.drools.services.grid.strategies.StaticIncrementalSelectionStrategy;
+import org.drools.services.NodeSelectionStrategy;
+import org.drools.services.generic.GenericConnection;
+import org.drools.services.generic.GenericServiceConnector;
+import org.drools.services.strategies.DirectoryServiceSelectionStrategy;
+import org.drools.services.strategies.StaticIncrementalSelectionStrategy;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
/**
*
* @author salaboy
*/
-public class GridConnection {
+public class GridConnection implements GenericConnection {
//Cached Services
- private List<ExecutionNodeService> services;
+ private List<GenericServiceConnector> services;
//Cached Directories
private List<DirectoryService> directories;
public GridConnection() {
- this.services = new ArrayList<ExecutionNodeService>();
+ this.services = new ArrayList<GenericServiceConnector>();
this.directories = new ArrayList<DirectoryService>();
}
- public void addService(ExecutionNodeService service) {
+ public void addService(GenericServiceConnector service) {
this.services.add(service);
}
- public void addDirectory(DirectoryService directory) {
+ public void addDirectoryService(DirectoryService directory) {
this.directories.add(directory);
}
@@ -58,13 +64,15 @@
}
- public ExecutionNode getExecutionNode(GridSelectionStrategy strategy) {
+ public ExecutionNode getExecutionNode(NodeSelectionStrategy strategy) {
ExecutionNode node = null;
- ExecutionNodeService currentService = null;
+ GenericServiceConnector currentService = null;
//if the strategy is null use the default one
if(strategy == null){
currentService = getBestService(
new StaticIncrementalSelectionStrategy(this));
+ } else{
+ currentService = getBestService(strategy);
}
node = new ExecutionNode();
@@ -79,8 +87,9 @@
- private ExecutionNodeService getBestService(GridSelectionStrategy gridSelectionStrategy) {
- return gridSelectionStrategy.getBestNode();
+ @Override
+ public GenericServiceConnector getBestService(NodeSelectionStrategy nodeSelectionStrategy) {
+ return nodeSelectionStrategy.getBestNode();
}
public List<DirectoryService> getDirectories() {
@@ -91,11 +100,16 @@
this.directories = directories;
}
- public List<ExecutionNodeService> getServices() {
+ public List<GenericServiceConnector> getServices() {
return services;
}
- public void setServices(List<ExecutionNodeService> services) {
+ public void setServices(List<GenericServiceConnector> services) {
this.services = services;
}
+
+ @Override
+ public DirectoryService getDirectoryService(DirectoryServiceSelectionStrategy directorySelectionStrategy) {
+ return directories.get(0);
+ }
}
Deleted: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridExecutionNodeConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridExecutionNodeConnection.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridExecutionNodeConnection.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,274 +0,0 @@
-package org.drools.services.grid;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.drools.KnowledgeBase;
-import org.drools.KnowledgeBaseFactoryService;
-import org.drools.agent.KnowledgeAgentProvider;
-import org.drools.builder.DecisionTableConfiguration;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.KnowledgeBuilderConfiguration;
-import org.drools.builder.KnowledgeBuilderFactoryService;
-import org.drools.command.Command;
-import org.drools.command.KnowledgeContextResolveFromContextCommand;
-
-import org.drools.persistence.jpa.JPAKnowledgeServiceProvider;
-import org.drools.runtime.CommandExecutor;
-import org.drools.runtime.Environment;
-import org.drools.runtime.ExecutionResults;
-import org.drools.services.ServiceManager;
-import org.drools.services.command.ExecutionNodeClientConnectCommand;
-import org.drools.services.generic.GenericServiceConnector;
-import org.drools.services.generic.Message;
-import org.drools.services.generic.MessageSession;
-
-
-
-
-public class GridExecutionNodeConnection
- implements
- ServiceManager {
-
- private MessageSession messageSession;
-
-
-
- public GenericServiceConnector client;
- private GridConnection gridClient;
-
-
- public GridExecutionNodeConnection(GenericServiceConnector client, MessageSession messageSession, GridConnection gridClient) {
-
- this.client = client;
- this.messageSession = messageSession;
-
- this.gridClient = gridClient;
-
- }
-
-
-
-
-
- public boolean connect() {
- boolean connected = this.client.connect();
-
- if ( connected ) {
- String commandId = "serviceManager.connected" + messageSession.getNextId();
- String kresultsId = "kresults_" + messageSession.getSessionId();
-
- Message msg = new Message( -1,
- messageSession.counter.incrementAndGet(),
- false,
- new KnowledgeContextResolveFromContextCommand( new ExecutionNodeClientConnectCommand( commandId ),
- null,
- null,
- null,
- kresultsId ) );
-
- try {
- Object object = client.write( msg ).getPayload();
-
- if ( object == null ) {
- throw new RuntimeException( "Response was not correctly received" );
- }
-
- messageSession.setSessionId((Integer) ((ExecutionResults) object).getValue( commandId ));
-
- connected = true;
- } catch ( Exception e ) {
- throw new RuntimeException( "Unable to execute message",
- e );
- }
- }
- // Connecting with services
-// if (this.services != null) {
-// for (GenericServiceConnector connector : services){
-// boolean serviceConnected = connector.connect();
-// if ( serviceConnected ){
-// System.out.println("Service Connected");
-// }
-// }
-// }
-
- return connected;
- }
-
- public void disconnect() {
- this.client.disconnect();
-// if (this.services != null){
-// for (GenericServiceConnector connector : this.services){
-// connector.disconnect();
-// }
-// }
- }
-
-
-
- public KnowledgeAgentProvider getKnowledgeAgentFactory() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public JPAKnowledgeServiceProvider JPAKnowledgeService() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Environment getEnvironment() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Collection<String> list() {
- // TODO Auto-generated method stub
- return null;
- }
-
-
- public void release(Object object) {
- // TODO Auto-generated method stub
- }
-
- public void release(String identifier) {
- // TODO Auto-generated method stub
- }
-
- @Override
- public KnowledgeBuilderFactoryService getKnowledgeBuilderFactoryService() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public KnowledgeBaseFactoryService getKnowledgeBaseFactoryService() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void register(String identifier, CommandExecutor executor) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public CommandExecutor lookup(String identifer) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
-// public HumanTaskServiceProvider getHumanTaskService() {
-// //return new HumanTaskServiceGridProviderImpl(this);
-// //@TODO: create human task service module project
-// return null;
-// }
-
-// @Override
-// public KnowledgeBuilderFactoryService getKnowledgeBuilderFactoryService() {
-// return new KnowledgeBuilderProviderGridClient( this, gridClient );
-// }
-//
-// @Override
-// public KnowledgeBaseFactoryService getKnowledgeBaseFactoryService() {
-// return new KnowledgeBaseProviderGridClient( this, gridClient );
-// }
-
- public static class RemoveKnowledgeBuilderProvider implements KnowledgeBuilderFactoryService {
-
- public DecisionTableConfiguration newDecisionTableConfiguration() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public KnowledgeBuilder newKnowledgeBuilder() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase,
- KnowledgeBuilderConfiguration conf) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties,
- ClassLoader classLoader) {
- // TODO Auto-generated method stub
- return null;
- }
- }
-
-// public int getSessionId() {
-// return sessionId;
-// }
-//
-// public int getNextId() {
-// return this.counter.incrementAndGet();
-// }
-
- public ExecutionResults execute(Command command) {
- // TODO Auto-generated method stub
- return null;
- }
-
-// public List<GenericServiceConnector> getServices() {
-// return services;
-// }
-//
-// public String getName() {
-// return this.name;
-// }
-
-// public DirectoryService getRegistryService() {
-// return directoryService;
-// }
-//
-// public void setRegistryService(DirectoryService registryService) {
-// this.directoryService = registryService;
-// }
-
- public void setCurrentSessionService(ExecutionNodeService sessionService){
- this.client.setSession(sessionService);
- }
-
- public MessageSession getMessageSession() {
- return messageSession;
- }
-
- public void setMessageSession(MessageSession messageSession) {
- this.messageSession = messageSession;
- }
-
-// public List<ExecutionNodeService> getSessionServices(){
-//// List<ExecutionNodeService> sessionServices =
-//// ((RioConnector)this.client).getSessionServices();
-//// List<String> ids = new ArrayList<String>();
-//// for(ExecutionNodeService ss : sessionServices){
-//// try {
-//// ids.add(ss.getId());
-//// } catch (RemoteException ex) {
-//// Logger.getLogger(ServiceManagerGridClient.class.getName()).log(Level.SEVERE, null, ex);
-//// }
-//// }
-//// return ids;
-// return ((RioConnector)this.client).getNodeServices();
-// }
-//
-
-
-}
Deleted: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridSelectionStrategy.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/GridSelectionStrategy.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -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.services.grid;
-
-/**
- *
- * @author salaboy
- */
-public interface GridSelectionStrategy {
-
- public ExecutionNodeService getBestNode();
-
-
-}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBaseGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBaseGridClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBaseGridClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,5 +1,6 @@
package org.drools.services.grid;
+import org.drools.services.DirectoryService;
import java.rmi.RemoteException;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -22,7 +23,9 @@
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.StatelessKnowledgeSession;
import org.drools.services.generic.CollectionClient;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
+import org.drools.services.generic.MessageSession;
import org.drools.services.grid.command.NewStatefulKnowledgeSessionGridCommand;
import org.drools.services.grid.rio.RioServiceConnector;
@@ -31,23 +34,27 @@
implements
KnowledgeBase {
- private GridExecutionNodeConnection nodeConnection;
+
+ private GenericServiceConnector client;
+ private MessageSession messageSession;
private String instanceId;
private GridConnection gridClient;
public KnowledgeBaseGridClient(String instanceId,
- GridExecutionNodeConnection nodeConnection, GridConnection gridClient) {
+ GenericServiceConnector client, MessageSession messageSession, GridConnection gridClient) {
this.instanceId = instanceId;
- this.nodeConnection = nodeConnection;
- this.gridClient = gridClient;
+
+ this.client = client;
+ this.messageSession = messageSession;
+ this.gridClient = gridClient;
}
public void addKnowledgePackages(Collection<KnowledgePackage> kpackages) {
- String kresultsId = "kresults_" + nodeConnection.getMessageSession().getSessionId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
String kuilderInstanceId = ((CollectionClient<KnowledgePackage>) kpackages).getParentInstanceId();
- Message msg = new Message( nodeConnection.getMessageSession().getSessionId(),
- nodeConnection.getMessageSession().counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new KnowledgeContextResolveFromContextCommand( new KnowledgeBaseAddKnowledgePackagesCommand(),
kuilderInstanceId,
@@ -58,7 +65,7 @@
//I should register the kbase ID??
DirectoryService directory = gridClient.getDirectories().iterator().next();
if(directory != null){
- directory.registerKBase(instanceId, nodeConnection.client.getId());
+ directory.registerKBase(instanceId, client.getId());
}
//nodeConnection.getRegistryService().registerKBase(, );
} catch (RemoteException ex) {
@@ -66,7 +73,7 @@
}
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( !(object instanceof FinishedCommand) ) {
throw new RuntimeException( "Response was not correctly ended" );
@@ -112,12 +119,12 @@
public StatefulKnowledgeSession newStatefulKnowledgeSession(KnowledgeSessionConfiguration conf,
Environment environment) {
- String kresultsId = "kresults_" + nodeConnection.getMessageSession().getSessionId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
String localId = UUID.randomUUID().toString();
- Message msg = new Message( nodeConnection.getMessageSession().getSessionId(),
- nodeConnection.getMessageSession().counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new SetVariableCommand( "__TEMP__",
localId,
@@ -128,7 +135,7 @@
kresultsId ) ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( !(object instanceof FinishedCommand) ) {
throw new RuntimeException( "Response was not correctly ended" );
@@ -140,7 +147,7 @@
}
return new StatefulKnowledgeSessionGridClient( localId,
- ((RioServiceConnector)nodeConnection.client).getCurrentNodeService(),nodeConnection.getMessageSession() );
+ client, messageSession );
}
public StatelessKnowledgeSession newStatelessKnowledgeSession(KnowledgeSessionConfiguration conf) {
@@ -188,10 +195,5 @@
// TODO Auto-generated method stub
}
-
- public void setServiceManager(GridExecutionNodeConnection serviceManager) {
- this.nodeConnection = serviceManager;
- }
-
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBaseProviderGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBaseProviderGridClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBaseProviderGridClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,6 +1,7 @@
package org.drools.services.grid;
+import org.drools.services.ExecutionNodeService;
import java.util.Properties;
import java.util.UUID;
@@ -14,6 +15,7 @@
import org.drools.command.SetVariableCommand;
import org.drools.runtime.Environment;
import org.drools.runtime.KnowledgeSessionConfiguration;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
import org.drools.services.generic.MessageSession;
import org.drools.services.grid.rio.RioServiceConnector;
@@ -24,21 +26,16 @@
KnowledgeBaseFactoryService {
private GridConnection gridClient;
- private String localId = "";
- private GridExecutionNodeConnection nodeConnection;
+ private String localId = "";
+ private GenericServiceConnector client;
private MessageSession messageSession;
- public KnowledgeBaseProviderGridClient(ExecutionNodeService currentService, GridConnection gridClient) {
+ public KnowledgeBaseProviderGridClient(GenericServiceConnector currentService, GridConnection gridClient) {
this.gridClient = gridClient;
this.messageSession = new MessageSession();
- this.nodeConnection = new GridExecutionNodeConnection(
+ this.client = new RioServiceConnector("client 1", SystemEventListenerFactory.getSystemEventListener(), (ExecutionNodeService) currentService);
- //I need to specialize this class for include the RIO Connector, and solve the name problem
- new RioServiceConnector("client 1", SystemEventListenerFactory.getSystemEventListener(), (ExecutionNodeService) currentService),
- this.messageSession,
- gridClient
- );
}
@@ -64,7 +61,7 @@
localId,
new NewKnowledgeBaseCommand( null ) ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( !(object instanceof FinishedCommand) ) {
throw new RuntimeException( "Response was not correctly ended" );
@@ -76,7 +73,7 @@
}
return new KnowledgeBaseGridClient( localId,
- nodeConnection, gridClient);
+ client, messageSession, gridClient);
}
@@ -120,13 +117,6 @@
this.localId = localId;
}
- public GridExecutionNodeConnection getNodeConnection() {
- return nodeConnection;
- }
-
- public void setNodeConnection(GridExecutionNodeConnection nodeConnection) {
- this.nodeConnection = nodeConnection;
- }
-
+
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBuilderGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBuilderGridClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBuilderGridClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -15,22 +15,28 @@
import org.drools.command.builder.KnowledgeBuilderHasErrorsCommand;
import org.drools.definition.KnowledgePackage;
import org.drools.io.Resource;
-import org.drools.runtime.Environment;
import org.drools.runtime.ExecutionResults;
import org.drools.services.generic.CollectionClient;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
+import org.drools.services.generic.MessageSession;
public class KnowledgeBuilderGridClient
implements
KnowledgeBuilder {
- private GridExecutionNodeConnection nodeConnection;
+ //private GridExecutionNodeConnection nodeConnection;
private String instanceId;
+ private GenericServiceConnector client;
+ private MessageSession messageSession;
public KnowledgeBuilderGridClient(String instanceId,
- GridExecutionNodeConnection nodeConnection) {
+ GenericServiceConnector client, MessageSession messageSession) {
this.instanceId = instanceId;
- this.nodeConnection = nodeConnection;
+ //this.nodeConnection = nodeConnection;
+ this.client = client;
+ this.messageSession = messageSession;
+
}
@@ -44,8 +50,8 @@
public void add(Resource resource,
ResourceType resourceType,
ResourceConfiguration configuration) {
- Message msg = new Message( nodeConnection.getMessageSession().getSessionId(),
- nodeConnection.getMessageSession().counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderAddCommand( resource,
resourceType,
@@ -56,7 +62,7 @@
null ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( !(object instanceof FinishedCommand) ) {
throw new RuntimeException( "Response was not correctly ended" );
@@ -70,11 +76,11 @@
}
public KnowledgeBuilderErrors getErrors() {
- String commandId = "kbuilder.getErrors_" + nodeConnection.getMessageSession().getNextId();
- String kresultsId = "kresults_" + nodeConnection.getMessageSession().getSessionId();
+ String commandId = "kbuilder.getErrors_" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
- Message msg = new Message( nodeConnection.getMessageSession().getSessionId(),
- nodeConnection.getMessageSession().counter.incrementAndGet(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
false,
new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderGetErrorsCommand( commandId ),
instanceId,
@@ -83,7 +89,7 @@
kresultsId ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( object == null ) {
throw new RuntimeException( "Response was not correctly received" );
@@ -103,11 +109,11 @@
}
public boolean hasErrors() {
- String commandId = "kbuilder.hasErrors_" + nodeConnection.getMessageSession().getNextId();
- String kresultsId = "kresults_" + nodeConnection.getMessageSession().getSessionId();
+ String commandId = "kbuilder.hasErrors_" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
- Message msg = new Message( nodeConnection.getMessageSession().getSessionId(),
- nodeConnection.getMessageSession().getNextId(),
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.getNextId(),
false,
new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderHasErrorsCommand( commandId ),
instanceId,
@@ -116,7 +122,7 @@
kresultsId ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( object == null ) {
throw new RuntimeException( "Response was not correctly received" );
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBuilderProviderGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBuilderProviderGridClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/KnowledgeBuilderProviderGridClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -4,6 +4,7 @@
package org.drools.services.grid;
+import org.drools.services.ExecutionNodeService;
import java.rmi.RemoteException;
import java.util.Properties;
import java.util.UUID;
@@ -20,7 +21,7 @@
import org.drools.command.FinishedCommand;
import org.drools.command.SetVariableCommand;
import org.drools.command.builder.NewKnowledgeBuilderCommand;
-import org.drools.runtime.Environment;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
import org.drools.services.generic.MessageSession;
import org.drools.services.grid.rio.RioServiceConnector;
@@ -29,24 +30,22 @@
public class KnowledgeBuilderProviderGridClient
implements
KnowledgeBuilderFactoryService {
- private GridExecutionNodeConnection nodeConnection;
+ //private GridExecutionNodeConnection nodeConnection;
private MessageSession messageSession;
-
+ private GenericServiceConnector client;
-// public KnowledgeBuilderProviderGridClient(GridExecutionNodeConnection nodeConnection, Environment env) {
-// this.nodeConnection = nodeConnection;
-// this.env = env;
-// }
- public KnowledgeBuilderProviderGridClient(ExecutionNodeService currentService, GridConnection gridClient) {
+
+ public KnowledgeBuilderProviderGridClient(GenericServiceConnector currentService, GridConnection gridClient) {
this.messageSession = new MessageSession();
- this.nodeConnection = new GridExecutionNodeConnection(
-
- //I need to specialize this class for include the RIO Connector, and solve the name problem
- new RioServiceConnector("client 1", SystemEventListenerFactory.getSystemEventListener(), (ExecutionNodeService) currentService),
- this.messageSession,
- gridClient
- );
+ client = new RioServiceConnector("client 1", SystemEventListenerFactory.getSystemEventListener(), (ExecutionNodeService) currentService);
+// this.nodeConnection = new GridExecutionNodeConnection(
+//
+// //I need to specialize this class for include the RIO Connector, and solve the name problem
+// new RioServiceConnector("client 1", SystemEventListenerFactory.getSystemEventListener(), (ExecutionNodeService) currentService),
+// this.messageSession,
+// gridClient
+// );
}
@@ -66,7 +65,7 @@
new NewKnowledgeBuilderCommand( null ) ) );
try {
- Object object = nodeConnection.client.write( msg ).getPayload();
+ Object object = client.write( msg ).getPayload();
if ( !(object instanceof FinishedCommand) ) {
throw new RuntimeException( "Response was not correctly ended" );
@@ -78,7 +77,7 @@
}
return new KnowledgeBuilderGridClient( localId,
- nodeConnection );
+ client, messageSession );
}
public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/StatefulKnowledgeSessionGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/StatefulKnowledgeSessionGridClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/StatefulKnowledgeSessionGridClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,6 +1,7 @@
package org.drools.services.grid;
+import org.drools.services.ExecutionNodeService;
import java.util.Collection;
import java.util.Map;
@@ -39,7 +40,7 @@
implements
StatefulKnowledgeSession {
- private ExecutionNodeService nodeConnection;
+ private GenericServiceConnector nodeConnection;
private String instanceId;
private MessageSession messageSession;
@@ -48,7 +49,7 @@
- StatefulKnowledgeSessionGridClient(String instanceId, ExecutionNodeService currentService, MessageSession messageSession) {
+ public StatefulKnowledgeSessionGridClient(String instanceId, GenericServiceConnector currentService, MessageSession messageSession) {
this.instanceId = instanceId;
this.nodeConnection = currentService;
this.messageSession = messageSession;
@@ -290,7 +291,8 @@
try {
Object payload = nodeConnection.write( msg ).getPayload();
WorkItemManager workItemManager = (WorkItemManager) ((ExecutionResults) payload).getValue( "workItemManager" );
- //((WorkItemManagerGridClient)workItemManager).setServiceManager(nodeConnection);
+ ((WorkItemManagerGridClient)workItemManager).setClient(nodeConnection);
+ ((WorkItemManagerGridClient)workItemManager).setMessageSession(messageSession);
((WorkItemManagerGridClient)workItemManager).setInstanceId(instanceId);
return workItemManager;
} catch ( Exception e ) {
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/WorkItemManagerGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/WorkItemManagerGridClient.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/WorkItemManagerGridClient.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -8,18 +8,23 @@
import org.drools.command.runtime.process.CompleteWorkItemCommand;
import org.drools.runtime.process.WorkItemHandler;
import org.drools.runtime.process.WorkItemManager;
+import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
+import org.drools.services.generic.MessageSession;
/**
*
* @author Lucas Amador
+ * @author salaboy: salaboy at gmail.com
*/
public class WorkItemManagerGridClient implements WorkItemManager, Serializable {
private static final long serialVersionUID = 1L;
- private GridExecutionNodeConnection nodeConnection;
+ //private GridExecutionNodeConnection nodeConnection;
+ private GenericServiceConnector client;
+ private MessageSession messageSession;
private String instanceId;
public void abortWorkItem(long id) {
@@ -27,9 +32,9 @@
}
public void completeWorkItem(long id, Map<String, Object> results) {
- String kresultsId = "kresults_" + nodeConnection.getMessageSession().getSessionId();
- Message msg = new Message( nodeConnection.getMessageSession().getSessionId(),
- nodeConnection.getMessageSession().counter.incrementAndGet(),
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
true,
new KnowledgeContextResolveFromContextCommand( new CompleteWorkItemCommand(id, results),
null,
@@ -37,7 +42,7 @@
instanceId,
kresultsId ) );
try {
- nodeConnection.client.write( msg );
+ client.write( msg );
} catch ( Exception e ) {
throw new RuntimeException( "Unable to execute message", e );
}
@@ -47,10 +52,16 @@
throw new UnsupportedOperationException("Not supported yet.");
}
- public void setServiceManager(GridExecutionNodeConnection serviceManager) {
- this.nodeConnection = serviceManager;
- }
+ public void setClient(GenericServiceConnector client) {
+ this.client = client;
+ }
+ public void setMessageSession(MessageSession messageSession) {
+ this.messageSession = messageSession;
+ }
+
+
+
public void setInstanceId(String instanceId) {
this.instanceId = instanceId;
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/command/NewStatefulKnowledgeSessionGridCommand.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/command/NewStatefulKnowledgeSessionGridCommand.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/command/NewStatefulKnowledgeSessionGridCommand.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -9,7 +9,7 @@
import org.drools.command.impl.KnowledgeCommandContext;
import org.drools.runtime.KnowledgeSessionConfiguration;
import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.services.grid.DirectoryService;
+import org.drools.services.DirectoryService;
public class NewStatefulKnowledgeSessionGridCommand
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/DirectoryServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/DirectoryServiceImpl.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/DirectoryServiceImpl.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -13,8 +13,9 @@
import org.drools.command.KnowledgeContextResolveFromContextCommand;
import org.drools.command.runtime.GetKnowledgeBaseCommand;
import org.drools.services.generic.Message;
-import org.drools.services.grid.ExecutionNodeService;
-import org.drools.services.grid.DirectoryService;
+import org.drools.services.ExecutionNodeService;
+import org.drools.services.DirectoryService;
+import org.drools.services.generic.GenericServiceConnector;
/**
@@ -25,9 +26,9 @@
- private Map<String, String> registry = new HashMap<String, String>();
+ private Map<String, String> directoryMap = new HashMap<String, String>();
- private Map<String, String> kbaseregistry = new HashMap<String, String>();
+ private Map<String, String> kbaseDirectoryMap = new HashMap<String, String>();
private Iterable<ExecutionNodeService> nodeServices;
@@ -40,14 +41,14 @@
@Override
public void register(String sessionId, String sessionServiceId) throws RemoteException {
System.out.println("Registering: "+ sessionId + " -- "+sessionServiceId);
- registry.put(sessionId, sessionServiceId);
+ directoryMap.put(sessionId, sessionServiceId);
}
@Override
- public ExecutionNodeService lookup(String sessionId) throws RemoteException {
+ public GenericServiceConnector lookup(String sessionId) throws RemoteException {
ExecutionNodeService sessionService = null;
- String sessionServiceId = (String)registry.get(sessionId);
- System.out.println("Registry = "+ registry.toString());
+ String sessionServiceId = (String)directoryMap.get(sessionId);
+ System.out.println("Registry = "+ directoryMap.toString());
System.out.println("Nodes Services = "+nodeServices);
for(ExecutionNodeService ss : nodeServices){
System.out.println("Session Service id = "+ss.getId() + "needs to match with ="+sessionServiceId);
@@ -67,14 +68,14 @@
@Override
public void registerKBase(String kbaseId, String nodeServiceId) throws RemoteException {
System.out.println("Registering KnowledgeBase = "+kbaseId +" -in NS=" +nodeServiceId);
- kbaseregistry.put(kbaseId, nodeServiceId);
+ kbaseDirectoryMap.put(kbaseId, nodeServiceId);
}
@Override
public KnowledgeBase lookupKBase(String kbaseId) throws RemoteException{
ExecutionNodeService nodeService = null;
- String nodeServiceId = (String)kbaseregistry.get(kbaseId);
- System.out.println("Kbase Registry = "+ kbaseregistry.toString());
+ String nodeServiceId = (String)kbaseDirectoryMap.get(kbaseId);
+ System.out.println("Kbase Registry = "+ kbaseDirectoryMap.toString());
System.out.println("Session Services = "+nodeService);
for(ExecutionNodeService ns : nodeServices){
System.out.println("Node Service id = "+ns.getId() + "needs to match with ="+nodeServiceId);
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/ExecutionNodeServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/ExecutionNodeServiceImpl.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/impl/ExecutionNodeServiceImpl.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -27,7 +27,7 @@
import org.drools.services.generic.MessageResponseHandler;
import org.drools.services.generic.NodeData;
import org.drools.services.grid.GenericMessageGridHandlerImpl;
-import org.drools.services.grid.ExecutionNodeService;
+import org.drools.services.ExecutionNodeService;
import org.drools.services.grid.util.IDEntry;
import org.rioproject.core.jsb.ServiceBeanContext;
@@ -85,6 +85,16 @@
this.id = id;
}
+ @Override
+ public boolean connect() throws RemoteException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void disconnect() throws RemoteException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/rio/RioServiceConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/rio/RioServiceConnector.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/rio/RioServiceConnector.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -12,7 +12,7 @@
import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.Message;
import org.drools.services.generic.MessageResponseHandler;
-import org.drools.services.grid.ExecutionNodeService;
+import org.drools.services.ExecutionNodeService;
public class RioServiceConnector
@@ -22,7 +22,6 @@
protected final String name;
protected AtomicInteger counter;
protected ExecutionNodeService nodeService;
- //protected List<ExecutionNodeService> nodeServices;
protected SocketAddress address;
protected SystemEventListener eventListener;
@@ -105,14 +104,8 @@
return null;
}
- public ExecutionNodeService getCurrentNodeService() {
- return nodeService;
- }
+
-// public List<ExecutionNodeService> getNodeServices() {
-// return nodeServices;
-// }
-
Deleted: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/strategies/StaticIncrementalSelectionStrategy.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/strategies/StaticIncrementalSelectionStrategy.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/main/java/org/drools/services/grid/strategies/StaticIncrementalSelectionStrategy.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,44 +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.services.grid.strategies;
-
-import org.drools.services.grid.GridConnection;
-import org.drools.services.grid.ExecutionNodeService;
-import org.drools.services.grid.GridSelectionStrategy;
-
-/**
- *
- * @author salaboy
- */
-public class StaticIncrementalSelectionStrategy implements GridSelectionStrategy{
- public static int counter = 0;
- private GridConnection connection;
- public StaticIncrementalSelectionStrategy(GridConnection connection) {
- this.connection = connection;
- }
-
-
- @Override
- public ExecutionNodeService getBestNode() {
- System.out.println("!!!!!GET BEST NODE = "+counter);
- ExecutionNodeService service = this.connection.getServices().get(counter);
- StaticIncrementalSelectionStrategy.counter = counter +1;
- return service;
- }
-
-}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/java/org/drools/services/ExecutionNodeBaseTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/java/org/drools/services/ExecutionNodeBaseTest.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/java/org/drools/services/ExecutionNodeBaseTest.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -29,7 +29,7 @@
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.builder.DirectoryLookupFactoryService;
import org.drools.services.grid.GridConnection;
-import org.drools.services.grid.strategies.StaticIncrementalSelectionStrategy;
+import org.drools.services.strategies.StaticIncrementalSelectionStrategy;
import org.junit.Assert;
import org.junit.Test;
/**
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/java/org/drools/services/ITGridExecutionTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/java/org/drools/services/ITGridExecutionTest.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/java/org/drools/services/ITGridExecutionTest.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -3,22 +3,10 @@
import junit.framework.Assert;
import net.jini.core.lookup.ServiceItem;
-import org.drools.KnowledgeBaseFactoryService;
-import org.drools.SystemEventListenerFactory;
-import org.drools.builder.KnowledgeBuilderFactoryService;
-import org.drools.impl.EnvironmentImpl;
-import org.drools.runtime.Environment;
-import org.drools.services.generic.NodeData;
-import org.drools.services.grid.GridConnection;
-import org.drools.services.grid.GridExecutionNodeConnection;
-import org.drools.services.grid.ExecutionNodeService;
-import org.drools.services.grid.KnowledgeBaseProviderGridClient;
-import org.drools.services.grid.KnowledgeBuilderProviderGridClient;
-import org.drools.services.grid.DirectoryService;
-import org.drools.services.grid.rio.RioServiceConnector;
+
import org.junit.Before;
import org.junit.runner.RunWith;
import org.rioproject.test.RioTestRunner;
@@ -44,7 +32,7 @@
DirectoryService directoryService = (DirectoryService) testManager.waitForService(DirectoryService.class);
Assert.assertNotNull(directoryService);
- connection.addDirectory(directoryService);
+ connection.addDirectoryService(directoryService);
for (int i = 0; i < nodeServiceItems.length; i++) {
if (nodeServiceItems[i].service instanceof ExecutionNodeService) {
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/resources/org/drools/executionNodeService.groovy
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/resources/org/drools/executionNodeService.groovy 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-grid/src/test/resources/org/drools/executionNodeService.groovy 2010-04-01 18:16:56 UTC (rev 32358)
@@ -24,7 +24,7 @@
*/
service(name: 'ExecutionNodeService') {
interfaces {
- classes 'org.drools.services.grid.ExecutionNodeService'
+ classes 'org.drools.services.ExecutionNodeService'
artifact ref:'service-dl'
}
implementation(class:'org.drools.services.grid.impl.ExecutionNodeServiceImpl') {
@@ -35,7 +35,7 @@
}
service(name: 'DirectoryService') {
interfaces {
- classes 'org.drools.services.grid.DirectoryService'
+ classes 'org.drools.services.DirectoryService'
artifact ref:'service-dl'
}
implementation(class:'org.drools.services.grid.impl.DirectoryServiceImpl') {
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/main/java/org/drools/services/task/CommandBasedServicesWSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/main/java/org/drools/services/task/CommandBasedServicesWSHumanTaskHandler.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/main/java/org/drools/services/task/CommandBasedServicesWSHumanTaskHandler.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -7,10 +7,13 @@
import java.io.ObjectOutputStream;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
+import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import org.apache.mina.transport.socket.nio.NioSocketConnector;
import org.drools.SystemEventListenerFactory;
@@ -72,7 +75,7 @@
this.address = new InetSocketAddress(ipAddress, port);
}
- public void connect() {
+ public void connect() throws RemoteException {
if (connector == null) {
NioSocketConnector htclientConnector = new NioSocketConnector();
htclientConnector.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener()));
@@ -90,7 +93,11 @@
}
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
- connect();
+ try {
+ connect();
+ } catch (RemoteException ex) {
+ Logger.getLogger(CommandBasedServicesWSHumanTaskHandler.class.getName()).log(Level.SEVERE, null, ex);
+ }
Task task = new Task();
String taskName = (String) workItem.getParameter("TaskName");
if (taskName != null) {
@@ -195,7 +202,7 @@
client.addTask(task, content, taskResponseHandler);
}
- public void dispose() {
+ public void dispose() throws RemoteException {
if (connector != null) {
connector.disconnect();
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/main/java/org/drools/services/task/HumanTaskServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/main/java/org/drools/services/task/HumanTaskServiceImpl.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/main/java/org/drools/services/task/HumanTaskServiceImpl.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -1,8 +1,11 @@
package org.drools.services.task;
+import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import org.drools.eventmessaging.EventKey;
import org.drools.services.generic.GenericServiceConnector;
@@ -28,7 +31,6 @@
import org.drools.services.task.TaskClientMessageHandlerImpl.TaskSummaryMessageResponseHandler;
import org.drools.services.task.eventmessaging.EventMessageResponseHandler;
-
/**
* @author salaboy
* @author Lucas Amador
@@ -36,374 +38,387 @@
*/
public class HumanTaskServiceImpl implements HumanTaskService {
- private final GenericServiceConnector client;
- private final AtomicInteger counter;
- private int sessionId;
- private String clientName;
+ private final GenericServiceConnector client;
+ private final AtomicInteger counter;
+ private int sessionId;
+ private String clientName;
- public HumanTaskServiceImpl(GenericServiceConnector client, int sessionId) {
- this.client = client;
- this.counter = new AtomicInteger();
- this.clientName = String.valueOf(sessionId);
- this.sessionId = sessionId;
-
- }
+ public HumanTaskServiceImpl(GenericServiceConnector client, int sessionId) {
+ this.client = client;
+ this.counter = new AtomicInteger();
+ this.clientName = String.valueOf(sessionId);
+ this.sessionId = sessionId;
- public boolean connect(){
+ }
+
+ @Override
+ public boolean connect() {
+ try {
return this.client.connect();
+ } catch (RemoteException ex) {
+ Logger.getLogger(HumanTaskServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
+ return false;
}
- public void disconnect(){
+ }
+
+ public void disconnect() {
+ try {
this.client.disconnect();
+ } catch (RemoteException ex) {
+ Logger.getLogger(HumanTaskServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
}
+ }
- public void addTask(Task task, ContentData content, AddTaskMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( task );
- args.add( content );
- Command cmd = new Command( counter.getAndIncrement(), CommandName.AddTaskRequest, args );
+ public void addTask(Task task, ContentData content, AddTaskMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(task);
+ args.add(content);
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.AddTaskRequest, args);
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public Task getTask(long taskId, GetTaskMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 1 );
- args.add( taskId );
- Command cmd = new Command( counter.getAndIncrement(), CommandName.GetTaskRequest, args );
+ public Task getTask(long taskId, GetTaskMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(1);
+ args.add(taskId);
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.GetTaskRequest, args);
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
- client.write(msg, responseHandler);
- return null;
- }
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
+ client.write(msg, responseHandler);
+ return null;
+ }
- public void addComment(long taskId, Comment comment, AddCommentMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( taskId );
- args.add( comment );
+ public void addComment(long taskId, Comment comment, AddCommentMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(taskId);
+ args.add(comment);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.AddCommentRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.AddCommentRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void deleteComment(long taskId, long commentId, DeleteCommentMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( taskId );
- args.add( commentId );
+ public void deleteComment(long taskId, long commentId, DeleteCommentMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(taskId);
+ args.add(commentId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.DeleteCommentRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.DeleteCommentRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void addAttachment(long taskId, Attachment attachment, Content content, AddAttachmentMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 3 );
- args.add( taskId );
- args.add( attachment );
- args.add( content );
+ public void addAttachment(long taskId, Attachment attachment, Content content, AddAttachmentMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(3);
+ args.add(taskId);
+ args.add(attachment);
+ args.add(content);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.AddAttachmentRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.AddAttachmentRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void deleteAttachment(long taskId, long attachmentId, long contentId, DeleteAttachmentMessageResponseHandler responseHandler ) {
- List<Object> args = new ArrayList<Object>( 3 );
- args.add( taskId );
- args.add( attachmentId );
- args.add( contentId );
+ public void deleteAttachment(long taskId, long attachmentId, long contentId, DeleteAttachmentMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(3);
+ args.add(taskId);
+ args.add(attachmentId);
+ args.add(contentId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.DeleteAttachmentRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.DeleteAttachmentRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void setDocumentContent(long taskId, Content content, SetDocumentMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( taskId );
- args.add( content );
+ public void setDocumentContent(long taskId, Content content, SetDocumentMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(taskId);
+ args.add(content);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.SetDocumentContentRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.SetDocumentContentRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void getContent(long contentId, GetContentMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 1 );
- args.add( contentId );
+ public void getContent(long contentId, GetContentMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(1);
+ args.add(contentId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.GetContentRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.GetContentRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void claim(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 3 );
- args.add( Operation.Claim );
- args.add( taskId );
- args.add( userId );
+ public void claim(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(3);
+ args.add(Operation.Claim);
+ args.add(taskId);
+ args.add(userId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void start(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 3 );
- args.add( Operation.Start );
- args.add( taskId );
- args.add( userId );
+ public void start(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(3);
+ args.add(Operation.Start);
+ args.add(taskId);
+ args.add(userId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void stop(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 3 );
- args.add( Operation.Stop );
- args.add( taskId );
- args.add( userId );
+ public void stop(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(3);
+ args.add(Operation.Stop);
+ args.add(taskId);
+ args.add(userId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void release(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 3 );
- args.add( Operation.Release );
- args.add( taskId );
- args.add( userId );
+ public void release(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(3);
+ args.add(Operation.Release);
+ args.add(taskId);
+ args.add(userId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void suspend(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 3 );
- args.add( Operation.Suspend );
- args.add( taskId );
- args.add( userId );
+ public void suspend(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(3);
+ args.add(Operation.Suspend);
+ args.add(taskId);
+ args.add(userId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void resume(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 3 );
- args.add( Operation.Resume );
- args.add( taskId );
- args.add( userId );
+ public void resume(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(3);
+ args.add(Operation.Resume);
+ args.add(taskId);
+ args.add(userId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void skip(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 3 );
- args.add( Operation.Skip );
- args.add( taskId );
- args.add( userId );
+ public void skip(long taskId, String userId, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(3);
+ args.add(Operation.Skip);
+ args.add(taskId);
+ args.add(userId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void delegate(long taskId, String userId, String targetUserId, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 4 );
- args.add( Operation.Delegate );
- args.add( taskId );
- args.add( userId );
- args.add( targetUserId );
+ public void delegate(long taskId, String userId, String targetUserId, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(4);
+ args.add(Operation.Delegate);
+ args.add(taskId);
+ args.add(userId);
+ args.add(targetUserId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void forward(long taskId, String userId, String targetEntityId, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 4 );
- args.add( Operation.Forward );
- args.add( taskId );
- args.add( userId );
- args.add( targetEntityId );
+ public void forward(long taskId, String userId, String targetEntityId, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(4);
+ args.add(Operation.Forward);
+ args.add(taskId);
+ args.add(userId);
+ args.add(targetEntityId);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void complete(long taskId, String userId, ContentData outputData, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 5 );
- args.add( Operation.Complete );
- args.add( taskId );
- args.add( userId );
- args.add( null );
- args.add( outputData );
+ public void complete(long taskId, String userId, ContentData outputData, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(5);
+ args.add(Operation.Complete);
+ args.add(taskId);
+ args.add(userId);
+ args.add(null);
+ args.add(outputData);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void fail(long taskId, String userId, FaultData faultData, TaskOperationMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 5 );
- args.add( Operation.Fail );
- args.add( taskId );
- args.add( userId );
- args.add( null );
- args.add( faultData );
+ public void fail(long taskId, String userId, FaultData faultData, TaskOperationMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(5);
+ args.add(Operation.Fail);
+ args.add(taskId);
+ args.add(userId);
+ args.add(null);
+ args.add(faultData);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.OperationRequest, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.OperationRequest, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void getTasksOwned(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( userId );
- args.add( language );
+ public void getTasksOwned(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(userId);
+ args.add(language);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.QueryTasksOwned, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.QueryTasksOwned, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void getTasksAssignedAsBusinessAdministrator(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( userId );
- args.add( language );
+ public void getTasksAssignedAsBusinessAdministrator(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(userId);
+ args.add(language);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.QueryTasksAssignedAsBusinessAdministrator, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.QueryTasksAssignedAsBusinessAdministrator, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void getTasksAssignedAsExcludedOwner(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( userId );
- args.add( language );
+ public void getTasksAssignedAsExcludedOwner(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(userId);
+ args.add(language);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.QueryTasksAssignedAsExcludedOwner, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.QueryTasksAssignedAsExcludedOwner, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void getTasksAssignedAsPotentialOwner(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( userId );
- args.add( language );
+ public void getTasksAssignedAsPotentialOwner(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(userId);
+ args.add(language);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.QueryTasksAssignedAsPotentialOwner, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.QueryTasksAssignedAsPotentialOwner, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
- public void getTasksAssignedAsPotentialOwner(String userId, List<String> groupIds, String language, TaskSummaryMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( userId );
- args.add( groupIds );
- args.add( language );
+ client.write(msg, responseHandler);
+ }
- Command cmd = new Command( counter.getAndIncrement(), CommandName.QueryTasksAssignedAsPotentialOwnerWithGroup, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ public void getTasksAssignedAsPotentialOwner(String userId, List<String> groupIds, String language, TaskSummaryMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(userId);
+ args.add(groupIds);
+ args.add(language);
- client.write(msg, responseHandler);
- }
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.QueryTasksAssignedAsPotentialOwnerWithGroup, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- public void getSubTasksAssignedAsPotentialOwner(long parentId, String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( parentId );
- args.add( userId );
- args.add( language );
+ client.write(msg, responseHandler);
+ }
- Command cmd = new Command( counter.getAndIncrement(), CommandName.QuerySubTasksAssignedAsPotentialOwner, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ public void getSubTasksAssignedAsPotentialOwner(long parentId, String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(parentId);
+ args.add(userId);
+ args.add(language);
- client.write(msg, responseHandler);
- }
- public void getSubTasksByParent(long parentId, TaskSummaryMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( parentId );
- //@TODO: un hard code this
- args.add( "en-UK" );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.QuerySubTasksAssignedAsPotentialOwner, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.QueryGetSubTasksByParentTaskId, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ client.write(msg, responseHandler);
+ }
- client.write(msg, responseHandler);
- }
- public void getTasksAssignedAsRecipient(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( userId );
- args.add( language );
+ public void getSubTasksByParent(long parentId, TaskSummaryMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(parentId);
+ //@TODO: un hard code this
+ args.add("en-UK");
- Command cmd = new Command( counter.getAndIncrement(), CommandName.QueryTasksAssignedAsRecipient, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.QueryGetSubTasksByParentTaskId, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void getTasksAssignedAsTaskInitiator(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( userId );
- args.add( language );
+ public void getTasksAssignedAsRecipient(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(userId);
+ args.add(language);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.QueryTasksAssignedAsTaskInitiator, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.QueryTasksAssignedAsRecipient, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void getTasksAssignedAsTaskStakeholder(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
- List<Object> args = new ArrayList<Object>( 2 );
- args.add( userId );
- args.add( language );
+ public void getTasksAssignedAsTaskInitiator(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(userId);
+ args.add(language);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.QueryTasksAssignedAsTaskStakeholder, args );
- Message msg = new Message( sessionId, counter.incrementAndGet(), false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.QueryTasksAssignedAsTaskInitiator, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
- public void registerForEvent(EventKey key, boolean remove, EventMessageResponseHandler responseHandler) { //@TODO: look for the event stuff
- List<Object> args = new ArrayList<Object>( 3 );
- args.add( key );
- args.add( remove );
- args.add( clientName );
+ public void getTasksAssignedAsTaskStakeholder(String userId, String language, TaskSummaryMessageResponseHandler responseHandler) {
+ List<Object> args = new ArrayList<Object>(2);
+ args.add(userId);
+ args.add(language);
- Command cmd = new Command( counter.getAndIncrement(), CommandName.RegisterForEventRequest, args );
- int responseId = counter.incrementAndGet();
- Message msg = new Message( sessionId, responseId, false, cmd );
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.QueryTasksAssignedAsTaskStakeholder, args);
+ Message msg = new Message(sessionId, counter.incrementAndGet(), false, cmd);
- client.write(msg, responseHandler);
- }
+ client.write(msg, responseHandler);
+ }
+ public void registerForEvent(EventKey key, boolean remove, EventMessageResponseHandler responseHandler) { //@TODO: look for the event stuff
+ List<Object> args = new ArrayList<Object>(3);
+ args.add(key);
+ args.add(remove);
+ args.add(clientName);
+
+ Command cmd = new Command(counter.getAndIncrement(), CommandName.RegisterForEventRequest, args);
+ int responseId = counter.incrementAndGet();
+ Message msg = new Message(sessionId, responseId, false, cmd);
+
+ client.write(msg, responseHandler);
+ }
}
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/test/java/org/drools/services/task/BaseTaskServiceTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/test/java/org/drools/services/task/BaseTaskServiceTest.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/test/java/org/drools/services/task/BaseTaskServiceTest.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -15,6 +15,7 @@
import org.drools.process.instance.WorkItemManager;
import org.drools.process.instance.impl.WorkItemImpl;
import org.drools.services.ExecutionNode;
+import org.drools.services.RemoteConnection;
import org.drools.services.task.responseHandlers.BlockingGetContentMessageResponseHandler;
import org.drools.services.task.responseHandlers.BlockingGetTaskMessageResponseHandler;
import org.drools.services.task.responseHandlers.BlockingTaskOperationMessageResponseHandler;
@@ -42,8 +43,8 @@
protected Map<String, User> users;
protected Map<String, Group> groups;
protected ExecutionNode node;
+ protected RemoteConnection connection = new RemoteConnection();
-
@Test
public void testTask() throws Exception {
TestWorkItemManager manager = new TestWorkItemManager();
Modified: labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/test/java/org/drools/services/task/CommandBasedServicesWSHumanTaskHandlerTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/test/java/org/drools/services/task/CommandBasedServicesWSHumanTaskHandlerTest.java 2010-04-01 17:59:48 UTC (rev 32357)
+++ labs/jbossrules/branches/salaboy_ServiceAPIs/drools-services-task/src/test/java/org/drools/services/task/CommandBasedServicesWSHumanTaskHandlerTest.java 2010-04-01 18:16:56 UTC (rev 32358)
@@ -5,9 +5,8 @@
import java.io.Reader;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
-import java.util.ArrayList;
import java.util.Date;
-import java.util.List;
+import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import javax.persistence.EntityManagerFactory;
@@ -23,13 +22,13 @@
import org.drools.io.impl.ClassPathResource;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.services.NodeConnector;
-import org.drools.services.RemoteNodeConnector;
import org.drools.services.generic.NodeData;
import org.drools.services.generic.GenericServiceConnector;
import org.drools.services.generic.GenericMessageHandlerImpl;
import org.drools.services.remote.mina.MinaAcceptor;
import org.drools.services.remote.mina.MinaServiceConnector;
import org.drools.services.remote.mina.MinaIoHandler;
+import org.drools.services.strategies.ReturnAlwaysTheFirstSelectionStrategy;
import org.drools.task.Group;
import org.drools.task.User;
import org.drools.task.service.SendIcal;
@@ -47,7 +46,7 @@
private MinaAcceptor server;
private MinaAcceptor humanTaskServer;
- private NodeConnector nodeConnection;
+ //private NodeConnector nodeConnection;
protected EntityManagerFactory emf;
@@ -148,8 +147,11 @@
SystemEventListenerFactory.getSystemEventListener());
- this.nodeConnection = new RemoteNodeConnector("client Execution Node", minaClient); //new ServiceManagerRemoteClient("client SM", minaClient, services);
- node = this.nodeConnection.connect();
+
+ connection.addService(minaClient);
+
+ node = connection.getExecutionNode(new ReturnAlwaysTheFirstSelectionStrategy(connection));
+ //nodeConnection.connect();
@@ -171,7 +173,11 @@
@After
public void tearDown() throws Exception {
this.humanTaskClient.disconnect();
- this.nodeConnection.disconnect();
+ Iterator<GenericServiceConnector> iterator = connection.getServices().iterator();
+ while(iterator.hasNext()){
+ iterator.next().disconnect();
+ }
+ //this.nodeConnection.disconnect();
this.handler.dispose();
this.server.stop();
this.humanTaskServer.stop();
More information about the jboss-svn-commits
mailing list