[jboss-svn-commits] JBL Code SVN: r35940 - in labs/jbossrules/trunk/drools-grid/drools-grid-impl/src: test/java/org/drools/grid and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Nov 10 15:45:03 EST 2010


Author: salaboy21
Date: 2010-11-10 15:45:03 -0500 (Wed, 10 Nov 2010)
New Revision: 35940

Modified:
   labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/GridNodeRemoteClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java
   labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/test/java/org/drools/grid/NodeTests.java
Log:
JBRULES-2772: Drools Grid Impl2 remoting features (socket)
	- Adding more remoting implementations

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/GridNodeRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/GridNodeRemoteClient.java	2010-11-10 17:35:29 UTC (rev 35939)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/GridNodeRemoteClient.java	2010-11-10 20:45:03 UTC (rev 35940)
@@ -69,7 +69,7 @@
     }
 
     public String getId() {
-        throw new UnsupportedOperationException( "Not supported yet." );
+        return gsd.getId();
     }
 
     public void init(Object context) {

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java	2010-11-10 17:35:29 UTC (rev 35939)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java	2010-11-10 20:45:03 UTC (rev 35940)
@@ -17,7 +17,6 @@
 
 package org.drools.grid.remote;
 
-import java.io.Serializable;
 import java.net.InetSocketAddress;
 import java.util.Arrays;
 import java.util.Properties;
@@ -29,8 +28,6 @@
 import org.drools.command.SetVariableCommand;
 import org.drools.grid.GridNode;
 import org.drools.grid.GridServiceDescription;
-import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
-import org.drools.grid.io.Conversation;
 import org.drools.grid.io.ConversationManager;
 import org.drools.grid.io.impl.CommandImpl;
 import org.drools.runtime.Environment;
@@ -71,12 +68,32 @@
     }
 
     public KnowledgeBase newKnowledgeBase() {
-        String localId = UUID.randomUUID().toString();
+        return newKnowledgeBase("", null);
 
+    }
+
+    public KnowledgeBase newKnowledgeBase(String kbaseId) {
+       return newKnowledgeBase(kbaseId, null);
+    }
+
+    public KnowledgeBase newKnowledgeBase(KnowledgeBaseConfiguration conf) {
+        return newKnowledgeBase(null, conf);
+    }
+
+    public KnowledgeBase newKnowledgeBase(String kbaseId,
+                                          KnowledgeBaseConfiguration conf) {
+        String localId = "";
+        if(kbaseId == null || kbaseId.equals("")){
+            localId = UUID.randomUUID().toString();
+        }
+        else{
+            localId = kbaseId;
+        }
+
         CommandImpl cmd = new CommandImpl( "execute",
                                            Arrays.asList( new Object[]{ new SetVariableCommand( "__TEMP__",
                                                                                                 localId,
-                                                                                                new NewKnowledgeBaseCommand( null ) ) } ) );
+                                                                                                new NewKnowledgeBaseCommand( conf ) ) } ) );
 
         ConversationUtil.sendMessage( this.cm,
                      (InetSocketAddress) this.gsd.getAddresses().get( "socket" ).getObject(),
@@ -86,22 +103,8 @@
         return new KnowledgeBaseRemoteClient( localId,
                                               this.gsd,
                                               this.cm );
-
     }
 
-    public KnowledgeBase newKnowledgeBase(String kbaseId) {
-        throw new UnsupportedOperationException( "Not supported yet." );
-    }
-
-    public KnowledgeBase newKnowledgeBase(KnowledgeBaseConfiguration conf) {
-        throw new UnsupportedOperationException( "Not supported yet." );
-    }
-
-    public KnowledgeBase newKnowledgeBase(String kbaseId,
-                                          KnowledgeBaseConfiguration conf) {
-        throw new UnsupportedOperationException( "Not supported yet." );
-    }
-
     public Environment newEnvironment() {
         throw new UnsupportedOperationException( "Not supported yet." );
     }

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java	2010-11-10 17:35:29 UTC (rev 35939)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java	2010-11-10 20:45:03 UTC (rev 35940)
@@ -17,7 +17,6 @@
 
 package org.drools.grid.remote;
 
-import java.io.Serializable;
 import java.net.InetSocketAddress;
 import java.util.Arrays;
 import java.util.Collection;
@@ -35,8 +34,6 @@
 import org.drools.event.knowledgebase.KnowledgeBaseEventListener;
 import org.drools.grid.GridNode;
 import org.drools.grid.GridServiceDescription;
-import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
-import org.drools.grid.io.Conversation;
 import org.drools.grid.io.ConversationManager;
 import org.drools.grid.io.impl.CollectionClient;
 import org.drools.grid.io.impl.CommandImpl;

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java	2010-11-10 17:35:29 UTC (rev 35939)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/KnowledgeBuilderProviderRemoteClient.java	2010-11-10 20:45:03 UTC (rev 35940)
@@ -65,13 +65,27 @@
     }
 
     public KnowledgeBuilder newKnowledgeBuilder() {
+        return newKnowledgeBuilder(null, null);
+       
 
-        String localId = UUID.randomUUID().toString();
+    }
 
+    public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
+        return newKnowledgeBuilder(null, conf);
+    }
+
+    public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase) {
+        return newKnowledgeBuilder(kbase, null);
+    }
+
+    public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase,
+                                                KnowledgeBuilderConfiguration conf) {
+         String localId = UUID.randomUUID().toString();
+
         CommandImpl cmd = new CommandImpl( "execute",
                                            Arrays.asList( new Object[]{ new SetVariableCommand( "__TEMP__",
                                                                                                 localId,
-                                                                                                new NewKnowledgeBuilderCommand( null ) ) } ) );
+                                                                                                new NewKnowledgeBuilderCommand( conf ) ) } ) );
 
         ConversationUtil.sendMessage( this.cm,
                      (InetSocketAddress) this.gsd.getAddresses().get( "socket" ).getObject(),
@@ -81,22 +95,8 @@
         return new KnowledgeBuilderRemoteClient( localId,
                                                  this.gsd,
                                                  this.cm );
-
     }
 
-    public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
-        throw new UnsupportedOperationException( "Not supported yet." );
-    }
-
-    public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase) {
-        throw new UnsupportedOperationException( "Not supported yet." );
-    }
-
-    public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase,
-                                                KnowledgeBuilderConfiguration conf) {
-        throw new UnsupportedOperationException( "Not supported yet." );
-    }
-
     public JaxbConfiguration newJaxbConfiguration(Options xjcOpts,
                                                   String systemId) {
         throw new UnsupportedOperationException( "Not supported yet." );

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java	2010-11-10 17:35:29 UTC (rev 35939)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java	2010-11-10 20:45:03 UTC (rev 35940)
@@ -24,10 +24,22 @@
 import org.drools.KnowledgeBase;
 import org.drools.command.Command;
 import org.drools.command.CommandFactory;
+import org.drools.command.GetSessionClockCommand;
 import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.runtime.DisposeCommand;
+import org.drools.command.runtime.GetGlobalsCommand;
+import org.drools.command.runtime.process.AbortProcessInstanceCommand;
+import org.drools.command.runtime.process.GetProcessInstanceCommand;
+import org.drools.command.runtime.process.GetProcessInstancesCommand;
 import org.drools.command.runtime.process.SignalEventCommand;
 import org.drools.command.runtime.process.StartProcessCommand;
+import org.drools.command.runtime.rule.FireAllRulesCommand;
+import org.drools.command.runtime.rule.FireUntilHaltCommand;
 import org.drools.command.runtime.rule.GetFactHandleCommand;
+import org.drools.command.runtime.rule.GetFactHandlesCommand;
+import org.drools.command.runtime.rule.GetObjectCommand;
+import org.drools.command.runtime.rule.GetObjectsCommand;
+import org.drools.command.runtime.rule.HaltCommand;
 import org.drools.command.runtime.rule.InsertObjectCommand;
 import org.drools.command.runtime.rule.UpdateCommand;
 import org.drools.event.process.ProcessEventListener;
@@ -81,42 +93,77 @@
     }
 
     public void dispose() {
-        throw new UnsupportedOperationException( "Not supported yet." );
-    }
-
-    public int fireAllRules() {
         String kresultsId = "kresults_" + this.gsd.getId();
         CommandImpl cmd = new CommandImpl( "execute",
-                                           Arrays.asList( new Object[]{ new KnowledgeContextResolveFromContextCommand( CommandFactory.newFireAllRules(),
+                                           Arrays.asList( new Object[]{ new KnowledgeContextResolveFromContextCommand( new DisposeCommand(),
                                                                                                                        null,
                                                                                                                        null,
                                                                                                                        this.instanceId,
                                                                                                                        kresultsId ) } ) );
 
-        Object result = ConversationUtil.sendMessage( this.cm,
+        ConversationUtil.sendMessage( this.cm,
                                      (InetSocketAddress) this.gsd.getAddresses().get( "socket" ).getObject(),
                                      this.gsd.getId(),
                                      cmd );
+    }
 
-        return (Integer) result;
+    public int fireAllRules() {
+        return fireAllRules(-1);
 
        
     }
 
     public int fireAllRules(int max) {
-        throw new UnsupportedOperationException( "Not supported yet." );
+         String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl( "execute",
+                                           Arrays.asList( new Object[]{ new KnowledgeContextResolveFromContextCommand( CommandFactory.newFireAllRules(max),
+                                                                                                                       null,
+                                                                                                                       null,
+                                                                                                                       this.instanceId,
+                                                                                                                       kresultsId ) } ) );
+
+        Object result = ConversationUtil.sendMessage( this.cm,
+                                     (InetSocketAddress) this.gsd.getAddresses().get( "socket" ).getObject(),
+                                     this.gsd.getId(),
+                                     cmd );
+
+        return (Integer) result;
     }
 
     public int fireAllRules(AgendaFilter agendaFilter) {
-        throw new UnsupportedOperationException( "Not supported yet." );
+         String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl( "execute",
+                                           Arrays.asList( new Object[]{ new KnowledgeContextResolveFromContextCommand( new FireAllRulesCommand(agendaFilter),
+                                                                                                                       null,
+                                                                                                                       null,
+                                                                                                                       this.instanceId,
+                                                                                                                       kresultsId ) } ) );
+
+        Object result = ConversationUtil.sendMessage( this.cm,
+                                     (InetSocketAddress) this.gsd.getAddresses().get( "socket" ).getObject(),
+                                     this.gsd.getId(),
+                                     cmd );
+
+        return (Integer) result;
     }
 
     public void fireUntilHalt() {
-        throw new UnsupportedOperationException( "Not supported yet." );
+       fireUntilHalt(null); 
     }
 
     public void fireUntilHalt(AgendaFilter agendaFilter) {
-        throw new UnsupportedOperationException( "Not supported yet." );
+        String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl("execute",
+                Arrays.asList(new Object[]{ new KnowledgeContextResolveFromContextCommand( new FireUntilHaltCommand( agendaFilter ),
+                                                                                  null,
+                                                                                  null,
+                                                                                  this.instanceId,
+                                                                                  kresultsId )}));
+        
+        ConversationUtil.sendMessage(this.cm,
+                (InetSocketAddress) this.gsd.getAddresses().get("socket").getObject(),
+                this.gsd.getId(),
+                cmd);
     }
 
     public <T> T execute(Command<T> command) {
@@ -126,8 +173,21 @@
     }
 
     public <T extends SessionClock> T getSessionClock() {
-        throw new UnsupportedOperationException( "Not supported yet." );
+            String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl("execute",
+                Arrays.asList(new Object[]{ new KnowledgeContextResolveFromContextCommand( new GetSessionClockCommand(),
+                                                                                  null,
+                                                                                  null,
+                                                                                  this.instanceId,
+                                                                                  kresultsId )}));
+        
+        Object result = ConversationUtil.sendMessage(this.cm,
+                (InetSocketAddress) this.gsd.getAddresses().get("socket").getObject(),
+                this.gsd.getId(),
+                cmd);
+        return (T) result;
     }
+    
 
     public void setGlobal(String identifier,
                           Object object) {
@@ -166,7 +226,22 @@
     }
 
     public Globals getGlobals() {
-        throw new UnsupportedOperationException( "Not supported yet." );
+        String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl("execute",
+                Arrays.asList(new Object[]{ new KnowledgeContextResolveFromContextCommand( new GetGlobalsCommand(),
+                                                                                  null,
+                                                                                  null,
+                                                                                  this.instanceId,
+                                                                                  kresultsId )})); 
+        
+        Object result = ConversationUtil.sendMessage(this.cm,
+                (InetSocketAddress) this.gsd.getAddresses().get("socket").getObject(),
+                this.gsd.getId(),
+                cmd);
+        
+        
+        
+        return (Globals)result;
     }
 
     public Calendars getCalendars() {
@@ -208,7 +283,18 @@
     }
 
     public void halt() {
-        throw new UnsupportedOperationException( "Not supported yet." );
+         String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl("execute",
+                Arrays.asList(new Object[]{ new KnowledgeContextResolveFromContextCommand( new HaltCommand(),
+                                                                                  null,
+                                                                                  null,
+                                                                                  this.instanceId,
+                                                                                  kresultsId )}));
+        
+        ConversationUtil.sendMessage(this.cm,
+                (InetSocketAddress) this.gsd.getAddresses().get("socket").getObject(),
+                this.gsd.getId(),
+                cmd);
     }
 
     public Agenda getAgenda() {
@@ -325,23 +411,62 @@
     }
 
     public Object getObject(FactHandle factHandle) {
-        throw new UnsupportedOperationException( "Not supported yet." );
+        String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl("execute",
+                Arrays.asList(new Object[]{ new KnowledgeContextResolveFromContextCommand( new GetObjectCommand(factHandle ),
+                                                                                  null,
+                                                                                  null,
+                                                                                  this.instanceId,
+                                                                                  kresultsId )}));
+        
+        Object result = ConversationUtil.sendMessage(this.cm,
+                (InetSocketAddress) this.gsd.getAddresses().get("socket").getObject(),
+                this.gsd.getId(),
+                cmd);
+        
+        return result;
     }
 
     public Collection<Object> getObjects() {
-        throw new UnsupportedOperationException( "Not supported yet." );
+        return getObjects(null);
     }
 
     public Collection<Object> getObjects(ObjectFilter filter) {
-        throw new UnsupportedOperationException( "Not supported yet." );
+        String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl("execute",
+                Arrays.asList(new Object[]{ new KnowledgeContextResolveFromContextCommand( new GetObjectsCommand( filter ),
+                                                                                  null,
+                                                                                  null,
+                                                                                  this.instanceId,
+                                                                                  kresultsId )}));
+        
+        Object result = ConversationUtil.sendMessage(this.cm,
+                (InetSocketAddress) this.gsd.getAddresses().get("socket").getObject(),
+                this.gsd.getId(),
+                cmd);
+        
+        return (Collection<Object>)result;
     }
 
     public <T extends FactHandle> Collection<T> getFactHandles() {
-        throw new UnsupportedOperationException( "Not supported yet." );
+        return getFactHandles(null);
     }
 
     public <T extends FactHandle> Collection<T> getFactHandles(ObjectFilter filter) {
-        throw new UnsupportedOperationException( "Not supported yet." );
+       String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl("execute",
+                Arrays.asList(new Object[]{ new KnowledgeContextResolveFromContextCommand( new GetFactHandlesCommand( filter ),
+                                                                                  null,
+                                                                                  null,
+                                                                                  this.instanceId,
+                                                                                  kresultsId )}));
+        
+        Object result = ConversationUtil.sendMessage(this.cm,
+                (InetSocketAddress) this.gsd.getAddresses().get("socket").getObject(),
+                this.gsd.getId(),
+                cmd);
+        
+        return (Collection<T>)result; 
     }
 
     public long getFactCount() {
@@ -406,15 +531,57 @@
     }
 
     public Collection<ProcessInstance> getProcessInstances() {
-        throw new UnsupportedOperationException( "Not supported yet." );
+        String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl("execute",
+                Arrays.asList(new Object[]{ new KnowledgeContextResolveFromContextCommand( new GetProcessInstancesCommand(  ),
+                                                                                  null,
+                                                                                  null,
+                                                                                  this.instanceId,
+                                                                                  kresultsId )}));
+        
+        Object result = ConversationUtil.sendMessage(this.cm,
+                (InetSocketAddress) this.gsd.getAddresses().get("socket").getObject(),
+                this.gsd.getId(),
+                cmd);
+        
+        return (Collection<ProcessInstance>)result;
     }
 
     public ProcessInstance getProcessInstance(long processInstanceId) {
-        throw new UnsupportedOperationException( "Not supported yet." );
+        String kresultsId = "kresults_" + this.gsd.getId();
+        CommandImpl cmd = new CommandImpl("execute",
+                Arrays.asList(new Object[]{ new KnowledgeContextResolveFromContextCommand( new GetProcessInstanceCommand( processInstanceId ),
+                                                                                  null,
+                                                                                  null,
+                                                                                  this.instanceId,
+                                                                                  kresultsId )}));
+        
+        Object result = ConversationUtil.sendMessage(this.cm,
+                (InetSocketAddress) this.gsd.getAddresses().get("socket").getObject(),
+                this.gsd.getId(),
+                cmd);
+        
+        return (ProcessInstance)result;
     }
 
     public void abortProcessInstance(long processInstanceId) {
-        throw new UnsupportedOperationException( "Not supported yet." );
+        
+        String kresultsId = "kresults_" + this.gsd.getId();
+        AbortProcessInstanceCommand cmdAbort = new AbortProcessInstanceCommand();
+        cmdAbort.setProcessInstanceId(processInstanceId);
+        CommandImpl cmd = new CommandImpl("execute",
+                Arrays.asList(new Object[]{ new KnowledgeContextResolveFromContextCommand(cmdAbort,
+                                                                                  null,
+                                                                                  null,
+                                                                                  this.instanceId,
+                                                                                  kresultsId )}));
+        
+        ConversationUtil.sendMessage(this.cm,
+                (InetSocketAddress) this.gsd.getAddresses().get("socket").getObject(),
+                this.gsd.getId(),
+                cmd);
+        
+        
     }
 
     public WorkItemManager getWorkItemManager() {

Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/test/java/org/drools/grid/NodeTests.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/test/java/org/drools/grid/NodeTests.java	2010-11-10 17:35:29 UTC (rev 35939)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl/src/test/java/org/drools/grid/NodeTests.java	2010-11-10 20:45:03 UTC (rev 35940)
@@ -255,7 +255,7 @@
          grid1.get(SocketService.class).close();
 
     }
-
+     
     private void configureGrid1(Grid grid,
                                 int port,
                                 WhitePages wp) {



More information about the jboss-svn-commits mailing list