[jboss-svn-commits] JBL Code SVN: r32571 - in labs/jbossrules/trunk/drools-grid: drools-grid-core/src/main/java/org/drools/grid/local and 6 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 14 16:34:14 EDT 2010


Author: salaboy21
Date: 2010-04-14 16:34:12 -0400 (Wed, 14 Apr 2010)
New Revision: 32571

Added:
   labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/strategies/
   labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/strategies/GetMinimalKsessionNodes.java
Modified:
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/DirectoryNodeService.java
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/DirectoryLookupProviderLocalClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java
   labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/DirectoryLookupProviderGridClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java
   labs/jbossrules/trunk/drools-grid/drools-grid-task/pom.xml
   labs/jbossrules/trunk/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java
Log:
JBRULES-2446: Drools Services API
	- drools-grid-rio improving DirectoryService, adding a strategy to use with gnostic

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/DirectoryNodeService.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/DirectoryNodeService.java	2010-04-14 19:15:17 UTC (rev 32570)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/DirectoryNodeService.java	2010-04-14 20:34:12 UTC (rev 32571)
@@ -6,6 +6,7 @@
 package org.drools.grid;
 
 import java.rmi.RemoteException;
+import java.util.Map;
 import org.drools.KnowledgeBase;
 import org.drools.grid.generic.GenericNodeConnector;
 
@@ -16,9 +17,11 @@
  */
 
 public interface DirectoryNodeService {
-    public void register(String executorId, String sessionServiceId) throws RemoteException;
+    public void register(String executorId, String nodeServiceId) throws RemoteException;
     public GenericNodeConnector lookup(String executorId) throws RemoteException;
-    public void registerKBase(String kbaseId, String sessionServiceId) throws RemoteException;
+    public void registerKBase(String kbaseId, String nodeServiceId) throws RemoteException;
     public KnowledgeBase lookupKBase(String kbaseId) throws RemoteException;
     public void addService(GenericNodeConnector service);
+    public Map<String, String> getDirectoryMap() throws RemoteException;
+    public String getId() throws RemoteException;
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/DirectoryLookupProviderLocalClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/DirectoryLookupProviderLocalClient.java	2010-04-14 19:15:17 UTC (rev 32570)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/DirectoryLookupProviderLocalClient.java	2010-04-14 20:34:12 UTC (rev 32571)
@@ -17,15 +17,10 @@
 
 package org.drools.grid.local;
 
-import java.rmi.RemoteException;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.concurrent.ConcurrentMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import org.drools.builder.DirectoryLookupFactoryService;
 import org.drools.runtime.CommandExecutor;
-import org.drools.grid.DirectoryNodeService;
 
 /**
  *
@@ -49,4 +44,8 @@
             return  services.get(key);
     }
 
+    public Map<String, Map<String, String>> getDirectoryMap() {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java	2010-04-14 19:15:17 UTC (rev 32570)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/DirectoryNodeLocalImpl.java	2010-04-14 20:34:12 UTC (rev 32571)
@@ -22,6 +22,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 import org.drools.KnowledgeBase;
 import org.drools.grid.DirectoryNodeService;
 import org.drools.grid.generic.GenericNodeConnector;
@@ -31,9 +32,19 @@
  * @author salaboy
  */
 public class DirectoryNodeLocalImpl implements DirectoryNodeService {
+    private String id;
     private Map<String, String> directoryMap = new HashMap<String, String>();
     private List<GenericNodeConnector> services = new ArrayList<GenericNodeConnector>();
 
+    public DirectoryNodeLocalImpl() {
+        this.id = UUID.randomUUID().toString();
+    }
+
+
+     public String getId() throws RemoteException {
+        return this.id;
+    }
+
     public void register(String executorId, String sessionServiceId) throws RemoteException {
         System.out.println("Registering: "+  executorId + " -- "+sessionServiceId);
         directoryMap.put(executorId, sessionServiceId);
@@ -65,4 +76,10 @@
         services.add(service);
     }
 
+    public Map<String, String> getDirectoryMap() {
+        return directoryMap;
+    }
+
+
+
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java	2010-04-14 19:15:17 UTC (rev 32570)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java	2010-04-14 20:34:12 UTC (rev 32571)
@@ -17,7 +17,6 @@
 package org.drools.grid.remote;
 
 import java.rmi.RemoteException;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -70,7 +69,7 @@
             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 + " - - " + client.getId());
+            //System.out.println("Registering " + identifier + " - - " + client.getId());
             connection.getDirectoryNode(null).register(identifier, client.getId());
             try {
                 Object object = client.write(msg).getPayload();
@@ -92,7 +91,7 @@
             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);
+            //System.out.println("Looking up the session with identifier = " + identifier);
             client = connection.getDirectoryNode(null).lookup(identifier);
             try {
                 Object object = client.write(msg).getPayload();
@@ -122,6 +121,10 @@
         }
         return null;
     }
+
+    public Map<String, Map<String, String>> getDirectoryMap() {
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
    
 
    

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/DirectoryLookupProviderGridClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/DirectoryLookupProviderGridClient.java	2010-04-14 19:15:17 UTC (rev 32570)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/DirectoryLookupProviderGridClient.java	2010-04-14 20:34:12 UTC (rev 32571)
@@ -14,12 +14,13 @@
  *  limitations under the License.
  *  under the License.
  */
-
 package org.drools.grid.distributed;
 
 import org.drools.grid.DirectoryNodeService;
 import org.drools.grid.ExecutionNodeService;
 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;
@@ -44,8 +45,6 @@
     private GenericNodeConnector currentService;
     private MessageSession messageSession;
 
-  
-
     public DirectoryLookupProviderGridClient(GenericNodeConnector currentService, GridConnection gridClient) {
         this.currentService = currentService;
         this.gridClient = gridClient;
@@ -53,96 +52,106 @@
     }
 
     public void register(String identifier,
-                         CommandExecutor executor) {
+            CommandExecutor executor) {
+
+        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, ((StatefulKnowledgeSessionGridClient) executor).getInstanceId(), type), null, null, null, null));
+        //System.out.println("Registering " + identifier + " - - " + currentService.getId());
         try {
-            String commandId = "client.lookup" + messageSession.getNextId();
-            String kresultsId = "kresults_" + messageSession.getSessionId();
-            int type;
 
+            for (DirectoryNodeService directory : gridClient.getDirectories()) {
 
-            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, ((StatefulKnowledgeSessionGridClient) executor).getInstanceId(), type), null, null, null, null));
-            System.out.println("Registering " + identifier + " - - " + currentService.getId());
-            try {
-               // DirectoryNodeService directory = (DirectoryNodeService) gridClient.getDirectories().iterator().next();
-                for(DirectoryNodeService directory : gridClient.getDirectories() ){
+                directory.register(identifier, currentService.getId());
 
-                        directory.register(identifier, currentService.getId());
-                    
-                }
-            } catch (RemoteException ex) {
-                Logger.getLogger(DirectoryLookupProviderGridClient.class.getName()).log(Level.SEVERE, null, ex);
             }
-            try {
-                Object object = currentService.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 ( RemoteException ex ) {
+        } catch (RemoteException ex) {
             Logger.getLogger(DirectoryLookupProviderGridClient.class.getName()).log(Level.SEVERE, null, ex);
         }
+        try {
+            Object object = currentService.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);
+        }
+
     }
 
     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 {
+        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 {
             //First I need to get the correct client ExecutionNodeService with the identifier
             //Look in all the DirectoryNodes
             //DirectoryNodeService directory = (DirectoryNodeService) gridClient.getDirectories().iterator().next();
-            
-             for(DirectoryNodeService directory : gridClient.getDirectories() )  {
+
+            for (DirectoryNodeService directory : gridClient.getDirectories()) {
                 currentService = directory.lookup(identifier);
-             }
-            
+            }
+
         } catch (RemoteException ex) {
             Logger.getLogger(DirectoryLookupProviderGridClient.class.getName()).log(Level.SEVERE, null, ex);
         }
         try {
-            Object object = currentService.write( msg ).getPayload();
+            Object object = currentService.write(msg).getPayload();
 
-            if ( object == null ) {
-                throw new RuntimeException( "Response was not correctly received" );
+            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 );
+            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 StatefulKnowledgeSessionGridClient( instanceId, currentService, messageSession );
+            switch (Integer.parseInt(type)) {
+                case 0: {
+                    executor = new StatefulKnowledgeSessionGridClient(instanceId, currentService, messageSession);
                     break;
                 }
-                default : {
-
+                default: {
                 }
 
             }
 
             return executor;
-        } catch ( Exception e ) {
-            throw new RuntimeException( "Unable to execute message",
-                                        e );
+        } catch (Exception e) {
+            throw new RuntimeException("Unable to execute message",
+                    e);
         }
     }
+    public Map<String, Map<String, String>> getDirectoryMap(){
+        Map<String, Map<String, String>> directoryMap = new HashMap<String,Map<String, String>>();
+        for (DirectoryNodeService directory : gridClient.getDirectories()) {
+            try {
+                directoryMap.put(directory.getId(), directory.getDirectoryMap());
+            } catch (RemoteException ex) {
+                Logger.getLogger(DirectoryLookupProviderGridClient.class.getName()).log(Level.SEVERE, null, ex);
+            }
 
+
+        }
+        return directoryMap;
+
+    }
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java	2010-04-14 19:15:17 UTC (rev 32570)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/impl/DirectoryNodeServiceImpl.java	2010-04-14 20:34:12 UTC (rev 32571)
@@ -10,6 +10,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 import org.drools.KnowledgeBase;
 import org.drools.command.KnowledgeContextResolveFromContextCommand;
 import org.drools.command.runtime.GetKnowledgeBaseCommand;
@@ -25,7 +26,7 @@
  */
 public class DirectoryNodeServiceImpl implements DirectoryNodeService{
 
-    
+    private String id;
 
     private Map<String, String> directoryMap = new HashMap<String, String>();
 
@@ -35,16 +36,20 @@
 
     public DirectoryNodeServiceImpl() {
         nodeServices = new ArrayList<ExecutionNodeService>();
+        this.id = UUID.randomUUID().toString();
     }
 
+    @Override
+    public String getId() throws RemoteException {
+        return id;
+    }
     
-    
     @Override
-    public void register(String sessionId, String sessionServiceId) throws RemoteException {
-        System.out.println("Registering: "+  sessionId + " -- "+sessionServiceId);
-        directoryMap.put(sessionId, sessionServiceId);
+    public void register(String sessionId, String nodeServiceId) throws RemoteException {
+        //System.out.println("Registering: "+  sessionId + " -- "+nodeServiceId);
+        directoryMap.put(sessionId, nodeServiceId);
         for(ExecutionNodeService node : nodeServices){
-            if(node.getId().equals(sessionServiceId)){
+            if(node.getId().equals(nodeServiceId)){
                 node.incrementKsessionCounter();
             }
         }
@@ -52,18 +57,18 @@
 
     @Override
     public GenericNodeConnector lookup(String sessionId) throws RemoteException {
-        ExecutionNodeService sessionService = null;
+        ExecutionNodeService nodeService = null;
         String sessionServiceId = (String)directoryMap.get(sessionId);
-        System.out.println("Registry = "+ directoryMap.toString());
-        System.out.println("Nodes Services = "+nodeServices);
+        //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);
+            //System.out.println("Session Service id = "+ss.getId() + "needs to match with ="+sessionServiceId);
             if(ss.getId().equals(sessionServiceId)){
-                sessionService = ss;
+                nodeService = ss;
             }
         }     
 
-        return sessionService;
+        return nodeService;
     }
 
 
@@ -73,7 +78,7 @@
 
     @Override
     public void registerKBase(String kbaseId, String nodeServiceId) throws RemoteException {
-        System.out.println("Registering KnowledgeBase = "+kbaseId +" -in NS=" +nodeServiceId);
+        //System.out.println("Registering KnowledgeBase = "+kbaseId +" -in NS=" +nodeServiceId);
         kbaseDirectoryMap.put(kbaseId, nodeServiceId);
     }
 
@@ -81,21 +86,22 @@
     public KnowledgeBase lookupKBase(String kbaseId) throws RemoteException{
         ExecutionNodeService nodeService = null;
         String nodeServiceId = (String)kbaseDirectoryMap.get(kbaseId);
-        System.out.println("Kbase Registry = "+ kbaseDirectoryMap.toString());
-        System.out.println("Session Services = "+nodeService);
+        //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);
+            //System.out.println("Node Service id = "+ns.getId() + "needs to match with ="+nodeServiceId);
             if(ns.getId().equals(nodeServiceId)){
                 nodeService = ns;
             }
         }
-        System.out.println("Node Service = "+nodeService);
+        //System.out.println("Node Service = "+nodeService);
         
         try {
+            //@TODO: This is a bad hack.. I need to improve this a lot
             Message msg = nodeService.write(new Message(999,1000,false, new KnowledgeContextResolveFromContextCommand( new GetKnowledgeBaseCommand(), null, kbaseId, null, null)));
-            System.out.println("MSG returned by nodeService = "+msg);
+            //System.out.println("MSG returned by nodeService = "+msg);
             if (msg.getPayload() instanceof KnowledgeBase) {
-                System.out.println("Kbase in the payload: "+(KnowledgeBase)msg.getPayload());
+                //System.out.println("Kbase in the payload: "+(KnowledgeBase)msg.getPayload());
                 return (KnowledgeBase)msg.getPayload();
             }
             return null;
@@ -109,4 +115,11 @@
     public void addService(GenericNodeConnector service) {
         ((List)nodeServices).add(service);
     }
+
+    @Override
+    public Map<String, String> getDirectoryMap()  throws RemoteException{
+        return directoryMap;
+    }
+
+
 }

Added: labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/strategies/GetMinimalKsessionNodes.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/strategies/GetMinimalKsessionNodes.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-rio/src/main/java/org/drools/grid/distributed/strategies/GetMinimalKsessionNodes.java	2010-04-14 20:34:12 UTC (rev 32571)
@@ -0,0 +1,82 @@
+/*
+ *  Copyright 2010 salaboy.
+ * 
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ * 
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *  under the License.
+ */
+package org.drools.grid.distributed.strategies;
+
+import java.rmi.RemoteException;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.drools.grid.ExecutionNodeService;
+import org.drools.grid.NodeSelectionStrategy;
+import org.drools.grid.generic.GenericConnection;
+import org.drools.grid.generic.GenericNodeConnector;
+
+/**
+ *
+ * @author salaboy
+ */
+public class GetMinimalKsessionNodes implements NodeSelectionStrategy {
+
+    private GenericConnection connection;
+
+    public GetMinimalKsessionNodes() {
+    }
+
+    @Override
+    public GenericNodeConnector getBestNode() {
+        List<GenericNodeConnector> nodeConnectors = this.connection.getNodeConnectors();
+        Double min = null;
+        GenericNodeConnector resultConnector = null;
+        for (GenericNodeConnector nodeConnector : nodeConnectors) {
+            try {
+            System.out.println("Node Connector = " + nodeConnector.getId() + " - With Counter = "+ ((ExecutionNodeService) nodeConnector).getKsessionCounter());
+        } catch (RemoteException ex) {
+            Logger.getLogger(GetMinimalKsessionNodes.class.getName()).log(Level.SEVERE, null, ex);
+        }
+            Double currentCounter = null;
+            try {
+                currentCounter = ((ExecutionNodeService) nodeConnector).getKsessionCounter();
+
+            } catch (RemoteException ex) {
+                Logger.getLogger(GetMinimalKsessionNodes.class.getName()).log(Level.SEVERE, null, ex);
+            }
+            if (min == null) {
+
+                min = currentCounter;
+                resultConnector = nodeConnector;
+
+            }
+            if (min > currentCounter) {
+                min = currentCounter;
+                resultConnector = nodeConnector;
+            }
+
+        }
+        try {
+            System.out.println("Result Connector = " + resultConnector.getId() + " - With Counter = "+ ((ExecutionNodeService) resultConnector).getKsessionCounter());
+        } catch (RemoteException ex) {
+            Logger.getLogger(GetMinimalKsessionNodes.class.getName()).log(Level.SEVERE, null, ex);
+        }
+        return resultConnector;
+    }
+
+    public void setConnection(GenericConnection connection) {
+        this.connection = connection;
+    }
+}

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-task/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-task/pom.xml	2010-04-14 19:15:17 UTC (rev 32570)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-task/pom.xml	2010-04-14 20:34:12 UTC (rev 32571)
@@ -41,12 +41,14 @@
             <artifactId>mina-core</artifactId>
             <version>2.0.0-M6</version>
         </dependency>
-        
+         
         <dependency>
             <groupId>org.drools</groupId>
             <artifactId>drools-process-task</artifactId>
             <version>5.1.0.SNAPSHOT</version>
         </dependency>
+
+
         <dependency>
             <groupId>org.drools</groupId>
             <artifactId>drools-grid-core</artifactId>
@@ -55,6 +57,27 @@
         </dependency>
 
 
+        <dependency>
+            <groupId>javax.persistence</groupId>
+            <artifactId>persistence-api</artifactId>
+            <version>1.0</version>
+            <scope>test</scope>
+        </dependency>
+
+         <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.2.1</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+         <groupId>org.subethamail</groupId>
+         <artifactId>subethasmtp-wiser</artifactId>
+         <version>1.2</version>
+         <scope>test</scope>
+      </dependency>
+
          <!-- DB H2 -->
         <dependency>
             <groupId>com.h2database</groupId>

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java	2010-04-14 19:15:17 UTC (rev 32570)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-task/src/test/java/org/drools/grid/task/CommandBasedServicesWSHumanTaskHandlerTest.java	2010-04-14 20:34:12 UTC (rev 32571)
@@ -1,9 +1,5 @@
 package org.drools.grid.task;
 
-import org.drools.grid.task.CommandBasedServicesWSHumanTaskHandler;
-import org.drools.grid.task.HumanTaskServiceProviderRemoteClient;
-import org.drools.grid.task.HumanTaskFactoryService;
-import org.drools.grid.task.TaskServerMessageHandlerImpl;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.Reader;



More information about the jboss-svn-commits mailing list