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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Sep 24 14:26:01 EDT 2010


Author: salaboy21
Date: 2010-09-24 14:25:58 -0400 (Fri, 24 Sep 2010)
New Revision: 35279

Modified:
   labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java
   labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java
   labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/KnowledgeBaseClientFactory.java
   labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/KnowledgeBaseProviderGridClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/StatefulKnowledgeSessionGridClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-services/pom.xml
   labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
   labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/GridTopologyFactory.java
   labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java
Log:
JBRULES-2618:  Drools Grid Services - Improve and clean tests
	- implementing more clients and adding find kbase per location

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeLocalImpl.java	2010-09-24 18:25:58 UTC (rev 35279)
@@ -87,7 +87,7 @@
         if ( resourceId.equals( "local" ) ) {
             return this.kbasesInstancesMap.get( kbaseId );
         }
-
+        
         return KnowledgeBaseClientFactory.newKnowledgeBaseClient( resourceId );
 
     }
@@ -129,4 +129,8 @@
         return ServiceType.LOCAL;
     }
 
+    public String lookupKBaseLocationId(String kbaseId) throws ConnectorException, RemoteException {
+        return this.kbasesMap.get( kbaseId );
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/DirectoryNodeService.java	2010-09-24 18:25:58 UTC (rev 35279)
@@ -50,6 +50,9 @@
 
     public KnowledgeBase lookupKBase(String kbaseId) throws ConnectorException,
                                                     RemoteException;
+    
+    public String lookupKBaseLocationId(String kbaseId) throws ConnectorException,
+                                                    RemoteException;
 
     public Map<String, String> getExecutorsMap() throws ConnectorException,
                                                 RemoteException;

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/KnowledgeBaseClientFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/KnowledgeBaseClientFactory.java	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-api/src/main/java/org/drools/grid/KnowledgeBaseClientFactory.java	2010-09-24 18:25:58 UTC (rev 35279)
@@ -25,16 +25,25 @@
  */
 public class KnowledgeBaseClientFactory {
     public static KnowledgeBase newKnowledgeBaseClient(String connectorString) {
-
+        KnowledgeBase client =  null;
         String[] connectorDetails = connectorString.split( ":" );
         String connectorType = connectorDetails[0];
 
         if ( connectorType.equals( "Remote" ) ) {
-            // I need to use reflection to create this remote client, that contain a node conector that can be create using
-            //the node connector factorynew KnowledgeBaseRemoteClient();
-
+            String provider = connectorDetails[1];
+            if(provider.equals("Mina")){
+                //@TODO use reflection to create a KnowledgeBaseRemoteClient
+            }
         }
-        return null;
+        if ( connectorType.equals( "Distributed" ) ) {
+            String provider = connectorDetails[1];
+            if(provider.equals("Rio")){
+                //@TODO use reflection to create a KnowledgeBaseGridClient
+            }
+        }
+        
+        
+        return client;
 
     }
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/KnowledgeBaseProviderGridClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/KnowledgeBaseProviderGridClient.java	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/KnowledgeBaseProviderGridClient.java	2010-09-24 18:25:58 UTC (rev 35279)
@@ -127,8 +127,32 @@
 
     public KnowledgeBase newKnowledgeBase(String kbaseId,
                                           KnowledgeBaseConfiguration conf) {
-        // TODO Auto-generated method stub
-        return null;
+        
+             this.localId = kbaseId;
+        
+
+        Message msg = new Message( this.messageSession.getSessionId(),
+                                   this.messageSession.counter.incrementAndGet(),
+                                   false,
+                                   new SetVariableCommand( "__TEMP__",
+                                                           this.localId,
+                                                           new NewKnowledgeBaseCommand( conf ) ) );
+        try {
+            Object object = this.connector.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 );
+        }
+
+        return new KnowledgeBaseGridClient( this.localId,
+                                            this.connector,
+                                            this.messageSession,
+                                            this.connection );
     }
 
     public String getLocalId() {

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/StatefulKnowledgeSessionGridClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/StatefulKnowledgeSessionGridClient.java	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-distributed-api/src/main/java/org/drools/grid/distributed/StatefulKnowledgeSessionGridClient.java	2010-09-24 18:25:58 UTC (rev 35279)
@@ -200,7 +200,7 @@
 
     public void setGlobal(String identifier,
                           Object object) {
-        String commandId = "ksession.execute" + this.messageSession.getNextId();
+        String commandId = "ksession.setGlobal" + this.messageSession.getNextId();
         String kresultsId = "kresults_" + this.messageSession.getSessionId();
 
         Message msg = new Message( this.messageSession.getSessionId(),
@@ -214,14 +214,10 @@
                                                                                   kresultsId ) );
 
         try {
-            Object result = this.connector.write( msg ).getPayload();
-            if ( result == null ) {
-                throw new RuntimeException( "Response was not correctly received = null" );
-            }
+            this.connector.write( msg ).getPayload();
+           
 
-            //            if ( !(result instanceof FinishedCommand)) {
-            //                throw new RuntimeException( "Response was not correctly received" );
-            //            }
+            
 
         } catch ( Exception e ) {
             throw new RuntimeException( "Unable to execute message",

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java	2010-09-24 18:25:58 UTC (rev 35279)
@@ -205,7 +205,7 @@
 
     public void setGlobal(String identifier,
                           Object object) {
-        String commandId = "ksession.execute" + this.messageSession.getNextId();
+        String commandId = "ksession.setGlobal" + this.messageSession.getNextId();
         String kresultsId = "kresults_" + this.messageSession.getSessionId();
 
         Message msg = new Message( this.messageSession.getSessionId(),

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java	2010-09-24 18:25:58 UTC (rev 35279)
@@ -277,4 +277,23 @@
                                        RemoteException {
         return ServiceType.REMOTE;
     }
+
+    public String lookupKBaseLocationId(String kbaseId) throws ConnectorException, RemoteException {
+        this.connector.connect();
+        List<Object> args = new ArrayList<Object>( 1 );
+        args.add( kbaseId );
+        SimpleCommand cmd = new SimpleCommand( this.connector.getCounter().getAndIncrement(),
+                                               SimpleCommandName.RequestKBaseId,
+                                               args );
+        Message msg = new Message( this.connector.getSessionId(),
+                                   this.connector.getCounter().incrementAndGet(),
+                                   false,
+                                   cmd );
+        BlockingMessageDirectoryMapRequestResponseHandler handler = new BlockingMessageDirectoryMapRequestResponseHandler();
+        write( msg,
+               handler );
+        SimpleCommand resultcmd = (SimpleCommand) handler.getMessage().getPayload();
+        String connectorString = (String) resultcmd.getArguments().get( 0 );
+        return connectorString;
+    }
 }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-services/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-services/pom.xml	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-services/pom.xml	2010-09-24 18:25:58 UTC (rev 35279)
@@ -71,6 +71,14 @@
             <type>jar</type>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.drools</groupId>
+            <artifactId>drools-grid-distributed-rio</artifactId>
+            <version>5.2.0.SNAPSHOT</version>
+            <type>jar</type>
+            <scope>test</scope>
+        </dependency>
+       
          <!-- RIO Test framework -->
         <!--dependency>
             <groupId>org.rioproject</groupId>

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java	2010-09-24 18:25:58 UTC (rev 35279)
@@ -143,7 +143,7 @@
      *
      */
     public void unregisterExecutionEnvironment(String name) {
-
+        
         ExecutionEnvironment ee = this.executionEnvironments.get( name );
         try {
 
@@ -470,15 +470,15 @@
      */
     public void dispose() throws ConnectorException,
                          RemoteException {
-
+        System.out.println("I'm Disposing the topology!!!");
         for ( String key : this.executionEnvironments.keySet() ) {
-            unregisterExecutionEnvironment( key );
+           // unregisterExecutionEnvironment( key );
         }
         for ( String key : this.directoryInstances.keySet() ) {
-            unregisterDirectoryInstance( key );
+           // unregisterDirectoryInstance( key );
         }
         for ( String key : this.taskServerInstances.keySet() ) {
-            unregisterTaskServerInstance( key );
+           // unregisterTaskServerInstance( key );
         }
     }
 

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/GridTopologyFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/GridTopologyFactory.java	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/factory/GridTopologyFactory.java	2010-09-24 18:25:58 UTC (rev 35279)
@@ -10,13 +10,13 @@
 
     public static GridTopology build(GridTopologyConfiguration gridConfiguration) {
         GridTopology topology = new GridTopology( gridConfiguration.getName() );
-        for ( DirectoryInstanceConfiguration directoryInstanceView : gridConfiguration.getDirectoryInstances() ) {
-            topology.registerDirectoryInstance( directoryInstanceView.getName(),
-                                                directoryInstanceView.getProvider() );
+        for ( DirectoryInstanceConfiguration directoryInstanceConfiguration : gridConfiguration.getDirectoryInstances() ) {
+            topology.registerDirectoryInstance( directoryInstanceConfiguration.getName(),
+                                                directoryInstanceConfiguration.getProvider() );
         }
-        for ( ExecutionEnvironmentConfiguration executionEnvironmentView : gridConfiguration.getExecutionEnvironments() ) {
-            topology.registerExecutionEnvironment( executionEnvironmentView.getName(),
-                                                   executionEnvironmentView.getProvider() );
+        for ( ExecutionEnvironmentConfiguration executionEnvironmentConfiguration : gridConfiguration.getExecutionEnvironments() ) {
+            topology.registerExecutionEnvironment( executionEnvironmentConfiguration.getName(),
+                                                   executionEnvironmentConfiguration.getProvider() );
         }
         for ( TaskServerInstanceConfiguration taskServerInstanceView : gridConfiguration.getTaskServers() ) {
             topology.registerTaskServerInstance( taskServerInstanceView.getName(),

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java	2010-09-24 18:05:09 UTC (rev 35278)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/strategies/ExecutionEnvByPrioritySelectionStrategy.java	2010-09-24 18:25:58 UTC (rev 35279)
@@ -63,7 +63,7 @@
     }
 
     public void setExecutionEnvironments(Map<String, ExecutionEnvironment> executionEnvironments) {
-
+        
         List<ExecutionEnvironment> eeList = new ArrayList<ExecutionEnvironment>();
         for ( ExecutionEnvironment ee : executionEnvironments.values() ) {
             eeList.add( ee );



More information about the jboss-svn-commits mailing list