[jboss-svn-commits] JBL Code SVN: r33822 - labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Jul 10 19:08:34 EDT 2010


Author: diegoll
Date: 2010-07-10 19:08:34 -0400 (Sat, 10 Jul 2010)
New Revision: 33822

Modified:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/KnowledgeBaseProviderLocalClient.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnectionNode.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java
Log:
added local implementation of knowledgeBase grid factory

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/KnowledgeBaseProviderLocalClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/KnowledgeBaseProviderLocalClient.java	2010-07-10 10:53:38 UTC (rev 33821)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/KnowledgeBaseProviderLocalClient.java	2010-07-10 23:08:34 UTC (rev 33822)
@@ -6,6 +6,9 @@
 import org.drools.KnowledgeBaseConfiguration;
 import org.drools.KnowledgeBaseFactory;
 import org.drools.KnowledgeBaseFactoryService;
+import org.drools.grid.DirectoryNodeService;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.impl.KnowledgeBaseFactoryServiceImpl;
 import org.drools.runtime.Environment;
 import org.drools.runtime.KnowledgeSessionConfiguration;
 
@@ -13,6 +16,13 @@
     implements
     KnowledgeBaseFactoryService {
 
+    private GenericNodeConnector nodeConnector;
+    private KnowledgeBaseFactoryService decoratee = new KnowledgeBaseFactoryServiceImpl();
+    
+    public KnowledgeBaseProviderLocalClient(GenericNodeConnector connector) {
+        this.nodeConnector = connector;
+    }
+    
     public Environment newEnvironment() {
         return KnowledgeBaseFactory.newEnvironment();
     }
@@ -46,8 +56,14 @@
     }
 
     public KnowledgeBase newKnowledgeBase(String kbaseId) {
-        // TODO Auto-generated method stub
-        return null;
+        try{
+            DirectoryNodeService directory = nodeConnector.getConnection().getDirectoryNode();
+            directory.registerKBase(kbaseId, nodeConnector.getId());
+            directory.dispose();
+        } catch (Exception e){
+            throw new IllegalStateException("Unable to register kbase " + kbaseId + " in directory", e);
+        }
+        return decoratee.newKnowledgeBase(kbaseId);
     }
 
     public KnowledgeBase newKnowledgeBase(String kbaseId,

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnectionNode.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnectionNode.java	2010-07-10 10:53:38 UTC (rev 33821)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalConnectionNode.java	2010-07-10 23:08:34 UTC (rev 33822)
@@ -17,23 +17,17 @@
 
 package org.drools.grid.local;
 
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
+
 import org.drools.KnowledgeBaseFactoryService;
 import org.drools.builder.DirectoryLookupFactoryService;
 import org.drools.builder.KnowledgeBuilderFactoryService;
 import org.drools.grid.ConnectorType;
 import org.drools.grid.GenericConnection;
-import org.drools.grid.GenericConnection;
 import org.drools.grid.GenericNodeConnector;
-import org.drools.grid.GenericNodeConnector;
 import org.drools.grid.NodeConnectionType;
-import org.drools.grid.NodeConnectionType;
-import org.drools.grid.local.DirectoryLookupProviderLocalClient;
-import org.drools.grid.local.KnowledgeBaseProviderLocalClient;
-import org.drools.grid.local.KnowledgeBuilderProviderLocalClient;
 
 /**
  *
@@ -42,9 +36,9 @@
 public class LocalConnectionNode implements NodeConnectionType {
     private final Map<Class<?>, Object> services = new ConcurrentHashMap<Class<?>, Object>();
     
-    public LocalConnectionNode() {
+    public LocalConnectionNode(GenericNodeConnector nodeConnector) {
         services.put(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderLocalClient());
-        services.put(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderLocalClient());
+        services.put(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderLocalClient(nodeConnector));
         services.put(DirectoryLookupFactoryService.class, new DirectoryLookupProviderLocalClient());
     }
 

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java	2010-07-10 10:53:38 UTC (rev 33821)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-local/src/main/java/org/drools/grid/local/LocalNodeConnector.java	2010-07-10 23:08:34 UTC (rev 33822)
@@ -17,7 +17,6 @@
 
 package org.drools.grid.local;
 
-import java.rmi.RemoteException;
 import org.drools.grid.ConnectorException;
 import org.drools.grid.ConnectorType;
 import org.drools.grid.GenericConnection;
@@ -63,7 +62,7 @@
     }
 
    public NodeConnectionType getNodeConnectionType() throws ConnectorException {
-        return new LocalConnectionNode();
+        return new LocalConnectionNode(this);
     }
 
     public ConnectorType getConnectorType() {



More information about the jboss-svn-commits mailing list