[jboss-svn-commits] JBL Code SVN: r34269 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation: drools-api/src/main/java/org/drools/command/impl and 13 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jul 28 17:11:43 EDT 2010
Author: salaboy21
Date: 2010-07-28 17:11:40 -0400 (Wed, 28 Jul 2010)
New Revision: 34269
Added:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/UnRegisterCommand.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/WorkingMemoryEntryPointRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/GetWorkingMemoryEntryPointRemoteCommand.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/assembly/
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/assembly/distro.xml
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaDirectoryRunner.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/start.sh
Modified:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/command/Context.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/command/impl/ContextImpl.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-core/src/main/java/org/drools/command/impl/KnowledgeCommandContext.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-core/src/main/java/org/drools/command/runtime/rule/InsertObjectCommand.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GridConnection.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/ExecutionNodeContext.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/SimpleCommandName.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/pom.xml
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryServerMessageHandlerImpl.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeRunner.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java
Log:
adding details in remote implementation to work with globals, entrypoints and inserts
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/command/Context.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/command/Context.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/command/Context.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -9,5 +9,7 @@
Object get(String identifier);
void set(String identifier,
- Object value);
+ Object value);
+
+ void remove(String name);
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/command/impl/ContextImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/command/impl/ContextImpl.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-api/src/main/java/org/drools/command/impl/ContextImpl.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -59,6 +59,10 @@
context.put( name,
object );
}
+
+ public void remove(String name){
+ context.remove(name);
+ }
public int getDepth() {
return this.depth;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-core/src/main/java/org/drools/command/impl/KnowledgeCommandContext.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-core/src/main/java/org/drools/command/impl/KnowledgeCommandContext.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-core/src/main/java/org/drools/command/impl/KnowledgeCommandContext.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -87,4 +87,8 @@
value );
}
+ public void remove(String name) {
+ context.remove(name);
+ }
+
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-core/src/main/java/org/drools/command/runtime/rule/InsertObjectCommand.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-core/src/main/java/org/drools/command/runtime/rule/InsertObjectCommand.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-core/src/main/java/org/drools/command/runtime/rule/InsertObjectCommand.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -11,6 +11,7 @@
import org.drools.impl.StatefulKnowledgeSessionImpl;
import org.drools.reteoo.ReteooWorkingMemory;
import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.impl.ExecutionResultImpl;
import org.drools.runtime.rule.FactHandle;
@XmlAccessorType(XmlAccessType.NONE)
@@ -47,14 +48,21 @@
FactHandle factHandle = ksession.insert( object );
ReteooWorkingMemory session = ((StatefulKnowledgeSessionImpl)ksession).session;
-
+
if ( outIdentifier != null ) {
if ( this.returnObject ) {
- session.getExecutionResult().getResults().put( this.outIdentifier,
- object );
+ //TODO: My Hack consult with markp
+
+ //session.getExecutionResult().getResults().put( this.outIdentifier,
+ // object );
+
+ ((ExecutionResultImpl)((KnowledgeCommandContext) context ).getExecutionResults()).getResults().put( this.outIdentifier, object );
+
}
- session.getExecutionResult().getFactHandles().put( this.outIdentifier,
- factHandle );
+ //session.getExecutionResult().getFactHandles().put( this.outIdentifier,
+ // factHandle );
+ ((ExecutionResultImpl)((KnowledgeCommandContext) context ).getExecutionResults()).getFactHandles().put( this.outIdentifier, factHandle.toExternalForm() );
+
}
return factHandle;
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GridConnection.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GridConnection.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/GridConnection.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -74,7 +74,7 @@
NodeConnectionType type;
try {
type = connector.getNodeConnectionType();
-
+ System.out.println("!!!!!!!!!!!!!>>>>>>>>>>>>>>>>>>>Connector = "+connector + " -> Type = "+type + "Connecting!!!!!");
connector.connect();
type.setConnector(connector);
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/ExecutionNodeContext.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/ExecutionNodeContext.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/ExecutionNodeContext.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -37,4 +37,8 @@
value );
}
+ public void remove(String name) {
+ context.remove(name);
+ }
+
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/SimpleCommandName.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/SimpleCommandName.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/SimpleCommandName.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -80,6 +80,7 @@
RegisterExecutor,
UnRegisterExecutor,
RegisterKBase,
+ RequestKBaseId,
UnRegisterKBase,
RequestExecutorsMap,
RequestKBasesMap,
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/UnRegisterCommand.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/UnRegisterCommand.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-api/src/main/java/org/drools/grid/internal/commands/UnRegisterCommand.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -0,0 +1,27 @@
+package org.drools.grid.internal.commands;
+
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.grid.internal.NodeData;
+
+public class UnRegisterCommand
+ implements
+ GenericCommand<Void> {
+
+ private String identifier;
+
+
+ public UnRegisterCommand(String identifier) {
+ this.identifier = identifier;
+
+ }
+
+ public Void execute(Context context) {
+ NodeData data = (NodeData) context.get( NodeData.NODE_DATA );
+
+ data.getRoot().remove( identifier );
+
+ return null;
+ }
+
+}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/DirectoryLookupProviderRemoteClient.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -35,6 +35,7 @@
import org.drools.grid.GenericNodeConnector;
import org.drools.grid.internal.Message;
import org.drools.grid.internal.MessageSession;
+import org.drools.grid.internal.commands.UnRegisterCommand;
/**
*
@@ -176,7 +177,45 @@
throw new UnsupportedOperationException("Not supported yet.");
}
- public void unregister(String key) {
- throw new UnsupportedOperationException("Not supported yet.");
+ public void unregister(String identifier) {
+ try {
+ String commandId = "client.lookup" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+
+ DirectoryNodeService directoryNode = connection.getDirectoryNode().get(DirectoryNodeService.class);
+ try {
+
+ directoryNode.unregister(identifier);
+ } catch (RemoteException ex) {
+ Logger.getLogger(DirectoryLookupProviderRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
+ }
+
+
+ Message msg = new Message(messageSession.getSessionId(),
+ messageSession.getCounter().incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand(
+ new UnRegisterCommand(identifier),
+ null, null, null, null));
+
+
+ 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);
+ }
+ try {
+ directoryNode.dispose();
+ } catch (RemoteException ex) {
+ Logger.getLogger(DirectoryLookupProviderRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
+ }
+
+ } catch (ConnectorException ex) {
+ Logger.getLogger(DirectoryLookupProviderRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
+ }
}
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseProviderRemoteClient.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -8,6 +8,7 @@
import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseConfiguration;
+import org.drools.KnowledgeBaseFactory;
import org.drools.KnowledgeBaseFactoryService;
import org.drools.command.FinishedCommand;
import org.drools.command.NewKnowledgeBaseCommand;
@@ -50,7 +51,7 @@
false,
new SetVariableCommand( "__TEMP__",
localId,
- new NewKnowledgeBaseCommand( null ) ) );
+ new NewKnowledgeBaseCommand( conf ) ) );
try {
Object object = client.write( msg ).getPayload();
@@ -69,8 +70,7 @@
}
public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration() {
- // TODO Auto-generated method stub
- return null;
+ return KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
}
public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration(Properties properties,
@@ -91,7 +91,8 @@
public KnowledgeBase newKnowledgeBase(String kbaseId) {
//TODO: I need to replace this random id with the kbase ID and test it
- String localId = UUID.randomUUID().toString();
+ //String localId = UUID.randomUUID().toString();
+ String localId = kbaseId;
Message msg = new Message( messageSession.getSessionId(),
messageSession.counter.incrementAndGet(),
@@ -133,8 +134,8 @@
public KnowledgeBase newKnowledgeBase(String kbaseId,
KnowledgeBaseConfiguration conf) {
//TODO: I need to replace this random id with the kbase ID and test it
- String localId = UUID.randomUUID().toString();
-
+ //String localId = UUID.randomUUID().toString();
+ String localId = kbaseId;
Message msg = new Message( messageSession.getSessionId(),
messageSession.counter.incrementAndGet(),
false,
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/KnowledgeBaseRemoteClient.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -108,7 +108,7 @@
false,
new SetVariableCommand( "__TEMP__",
localId,
- new KnowledgeContextResolveFromContextCommand( new NewStatefulKnowledgeSessionCommand( null ),
+ new KnowledgeContextResolveFromContextCommand( new NewStatefulKnowledgeSessionCommand( conf ),
null,
instanceId,
null,
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/StatefulKnowledgeSessionRemoteClient.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -6,8 +6,13 @@
import org.drools.KnowledgeBase;
import org.drools.command.Command;
import org.drools.command.ExecuteCommand;
+import org.drools.command.FinishedCommand;
import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.runtime.GetGlobalCommand;
+import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.rule.FireAllRulesCommand;
+import org.drools.command.runtime.rule.InsertObjectCommand;
+import org.drools.common.DisconnectedFactHandle;
import org.drools.grid.internal.commands.RegisterRemoteWorkItemHandlerCommand;
import org.drools.event.process.ProcessEventListener;
import org.drools.event.rule.AgendaEventListener;
@@ -31,6 +36,7 @@
import org.drools.grid.internal.Message;
import org.drools.grid.internal.MessageSession;
import org.drools.grid.remote.internal.commands.GetWorkItemManagerCommand;
+import org.drools.grid.remote.internal.commands.GetWorkingMemoryEntryPointRemoteCommand;
import org.drools.grid.remote.internal.commands.StartProcessRemoteCommand;
@@ -147,8 +153,31 @@
}
public Object getGlobal(String identifier) {
- // TODO Auto-generated method stub
- return null;
+ String commandId = "ksession.execute" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new GetGlobalCommand( identifier ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+
+ try {
+ Object result = client.write( msg ).getPayload();
+ if ( result == null ) {
+ throw new RuntimeException( "Response was not correctly received = null" );
+ }
+
+ return result;
+
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
}
public Globals getGlobals() {
@@ -174,8 +203,35 @@
public void setGlobal(String identifier,
Object object) {
- // TODO Auto-generated method stub
+ String commandId = "ksession.execute" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new SetGlobalCommand( identifier,
+ object ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+
+ try {
+ Object result = client.write( msg ).getPayload();
+ if ( result == null ) {
+ throw new RuntimeException( "Response was not correctly received = null" );
+ }
+
+ if ( !(result instanceof FinishedCommand)) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
}
public void unregisterExitPoint(String name) {
@@ -200,8 +256,31 @@
}
public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name) {
- // TODO Auto-generated method stub
- return null;
+ String commandId = "ksession.getWorkingMemoryEntryPoint" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new GetWorkingMemoryEntryPointRemoteCommand( name ),
+ null,
+ null,
+ instanceId,
+ name,
+ kresultsId ) );
+
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return new WorkingMemoryEntryPointRemoteClient(name, client, messageSession);
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
}
public Collection< ? extends WorkingMemoryEntryPoint> getWorkingMemoryEntryPoints() {
@@ -245,8 +324,31 @@
}
public FactHandle insert(Object object) {
- // TODO Auto-generated method stub
- return null;
+ String commandId = "ksession.insert" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+
+
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new InsertObjectCommand(object, String.valueOf(object.hashCode()) ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+
+ try {
+ Object result = client.write( msg ).getPayload();
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+ FactHandle handle = new DisconnectedFactHandle(((ExecutionResults) result).getFactHandle( String.valueOf(object.hashCode()) ).toString()) ;
+
+ return handle;
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
}
public void retract(FactHandle handle) {
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/WorkingMemoryEntryPointRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/WorkingMemoryEntryPointRemoteClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/WorkingMemoryEntryPointRemoteClient.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -0,0 +1,126 @@
+/*
+ * 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.remote;
+
+import java.util.Collection;
+import org.drools.FactException;
+import org.drools.FactHandle;
+import org.drools.WorkingMemoryEntryPoint;
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.runtime.rule.InsertObjectInEntryPointCommand;
+import org.drools.common.DisconnectedFactHandle;
+import org.drools.grid.GenericNodeConnector;
+import org.drools.grid.internal.Message;
+import org.drools.grid.internal.MessageSession;
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.ObjectFilter;
+
+/**
+ *
+ * @author salaboy
+ */
+public class WorkingMemoryEntryPointRemoteClient implements WorkingMemoryEntryPoint{
+
+ private GenericNodeConnector client;
+ private MessageSession messageSession;
+ private String instanceId;
+
+ public WorkingMemoryEntryPointRemoteClient(String instanceId, GenericNodeConnector client, MessageSession messageSession) {
+ this.client = client;
+ this.messageSession = messageSession;
+ this.instanceId = instanceId;
+ }
+
+
+
+ public FactHandle insert(Object object) throws FactException {
+ String commandId = "ksession.insert" + messageSession.getNextId();
+ String kresultsId = "kresults_" + messageSession.getSessionId();
+ Message msg = new Message( messageSession.getSessionId(),
+ messageSession.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new InsertObjectInEntryPointCommand(object, String.valueOf(object.hashCode()) ),
+ null,
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+
+ try {
+ Object result = client.write( msg ).getPayload();
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+ FactHandle handle = new DisconnectedFactHandle(((ExecutionResults) result).getFactHandle( String.valueOf(object.hashCode()) ).toString()) ;
+
+ return handle;
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+ }
+
+ public FactHandle insert(Object object, boolean dynamic) throws FactException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public void retract(org.drools.runtime.rule.FactHandle handle) throws FactException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public void update(org.drools.runtime.rule.FactHandle handle, Object object) throws FactException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public String getEntryPointId() {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public org.drools.runtime.rule.FactHandle getFactHandle(Object object) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public Object getObject(org.drools.runtime.rule.FactHandle factHandle) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public Collection<Object> getObjects() {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public Collection<Object> getObjects(ObjectFilter filter) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public <T extends org.drools.runtime.rule.FactHandle> Collection<T> getFactHandles() {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public <T extends org.drools.runtime.rule.FactHandle> Collection<T> getFactHandles(ObjectFilter filter) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public long getFactCount() {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/GetWorkingMemoryEntryPointRemoteCommand.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/GetWorkingMemoryEntryPointRemoteCommand.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-api/src/main/java/org/drools/grid/remote/internal/commands/GetWorkingMemoryEntryPointRemoteCommand.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -0,0 +1,52 @@
+/*
+ * 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.remote.internal.commands;
+
+/**
+ *
+ * @author salaboy
+ */
+
+
+import org.drools.command.Context;
+import org.drools.command.impl.GenericCommand;
+import org.drools.command.impl.KnowledgeCommandContext;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
+
+public class GetWorkingMemoryEntryPointRemoteCommand
+ implements
+ GenericCommand<WorkingMemoryEntryPoint> {
+
+ private String name;
+
+ public GetWorkingMemoryEntryPointRemoteCommand(String name) {
+ this.name = name;
+ }
+
+ public WorkingMemoryEntryPoint execute(Context context) {
+ StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
+ WorkingMemoryEntryPoint ep = ksession.getWorkingMemoryEntryPoint( name );
+ context.getContextManager().getDefaultContext().set(name, ep);
+ return ep;
+ }
+
+ public String toString() {
+ return "session.getWorkingMemoryEntryPoint( " + name + " );";
+ }
+}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/pom.xml 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/pom.xml 2010-07-28 21:11:40 UTC (rev 34269)
@@ -52,4 +52,28 @@
<type>jar</type>
</dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <inherited>true</inherited>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ <optimize>true</optimize>
+ <debug>true</debug>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/distro.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/assembly/distro.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/assembly/distro.xml (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/assembly/distro.xml 2010-07-28 21:11:40 UTC (rev 34269)
@@ -0,0 +1,25 @@
+<assembly>
+ <id>distro</id>
+ <formats>
+ <format>tar.gz</format>
+ </formats>
+ <baseDirectory>${project.artifactId}-distro</baseDirectory>
+ <files>
+ <file>
+ <source>target/${project.artifactId}-${project.version}.jar</source>
+ <destName>libs/${project.artifactId}-${project.version}.jar</destName>
+ <fileMode>0644</fileMode>
+ </file>
+ <file>
+ <source>src/main/start.sh</source>
+ <destName>start.sh</destName>
+ <fileMode>0555</fileMode>
+ </file>
+ </files>
+ <dependencySets>
+ <dependencySet>
+ <outputDirectory>libs/</outputDirectory>
+ <scope>runtime</scope>
+ </dependencySet>
+ </dependencySets>
+</assembly>
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryNodeRemoteClient.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -38,6 +38,8 @@
import org.drools.grid.internal.responsehandlers.BlockingMessageDirectoryMapRequestResponseHandler;
import org.drools.grid.internal.responsehandlers.BlockingMessageResponseHandler;
import org.drools.grid.GenericConnectorFactory;
+import org.drools.grid.internal.MessageSession;
+import org.drools.grid.remote.KnowledgeBaseRemoteClient;
import org.drools.grid.remote.mina.MinaIoHandler;
/**
@@ -67,7 +69,7 @@
}
public GenericNodeConnector lookup(String resourceId) throws ConnectorException {
- System.out.println(">>>>>>>>>>>>>>>>Looking for resource = "+resourceId);
+
List<Object> args = new ArrayList<Object>(1);
args.add(resourceId);
SimpleCommand cmd = new SimpleCommand(connector.getCounter().getAndIncrement(), SimpleCommandName.RequestLookupSessionId, args);
@@ -89,7 +91,23 @@
}
public KnowledgeBase lookupKBase(String kbaseId) throws ConnectorException {
- throw new UnsupportedOperationException("Not supported yet.");
+ List<Object> args = new ArrayList<Object>(1);
+ args.add(kbaseId);
+ SimpleCommand cmd = new SimpleCommand(connector.getCounter().getAndIncrement(), SimpleCommandName.RequestKBaseId, args);
+ Message msg = new Message(connector.getSessionId(), 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);
+ System.out.println("Creating connecgor for: "+connectorString);
+ GenericNodeConnector connector = GenericConnectorFactory.newNodeConnector(connectorString);
+ try {
+ connector.connect();
+ } catch (RemoteException ex) {
+ Logger.getLogger(DirectoryNodeRemoteClient.class.getName()).log(Level.SEVERE, null, ex);
+ }
+
+ return new KnowledgeBaseRemoteClient(kbaseId, connector, new MessageSession() );
}
public void addService(GenericNodeConnector service) {
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryServerMessageHandlerImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryServerMessageHandlerImpl.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/DirectoryServerMessageHandlerImpl.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -114,6 +114,20 @@
resultsCmnd ), null);
break;
}
+ case RequestKBaseId: {
+
+ String kbaseId = (String) cmd.getArguments().get(0);
+
+ String kbaseConnectorId = directory.getKBasesMap().get(kbaseId);
+ List<Object> results = new ArrayList<Object>(1);
+ results.add(kbaseConnectorId);
+ SimpleCommand resultsCmnd = new SimpleCommand(cmd.getId(), SimpleCommandName.OperationResponse, results);
+ session.write(new Message( msg.getSessionId(),
+ msg.getResponseId(),
+ msg.isAsync(),
+ resultsCmnd ), null);
+ break;
+ }
case RequestLookupSessionId: {
String executorId = (String) cmd.getArguments().get(0);
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaDirectoryRunner.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaDirectoryRunner.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/java/org/drools/grid/remote/directory/MinaDirectoryRunner.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -0,0 +1,66 @@
+package org.drools.grid.remote.directory;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+
+import joptsimple.OptionParser;
+import joptsimple.OptionSet;
+import joptsimple.OptionSpec;
+
+import org.apache.mina.transport.socket.SocketAcceptor;
+import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
+import org.drools.SystemEventListenerFactory;
+import org.drools.grid.internal.NodeData;
+import org.drools.grid.remote.mina.MinaAcceptor;
+import org.drools.grid.remote.mina.MinaIoHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MinaDirectoryRunner {
+
+ private static Logger logger = LoggerFactory.getLogger(MinaDirectoryRunner.class);
+
+ public static void main(String[] args) throws IOException {
+ OptionParser parser = new OptionParser();
+ OptionSpec<String> addressOpt = parser.accepts("address", "the address to bind the node").withRequiredArg().ofType(String.class);
+ OptionSpec<Integer> portOpt = parser.accepts("port", "the port to listen in the given address").withRequiredArg().ofType(Integer.class);
+ OptionSet options = parser.parse(args);
+
+ String address = options.valueOf(addressOpt);
+ int port = options.valueOf(portOpt);
+ logger.info("starting server");
+ SocketAddress socket = new InetSocketAddress(address, port);
+ NodeData nodeData = new NodeData();
+ // setup Server
+ SocketAcceptor acceptor = new NioSocketAcceptor();
+ acceptor.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener(),
+ new DirectoryServerMessageHandlerImpl(
+ SystemEventListenerFactory.getSystemEventListener())));
+
+ final MinaAcceptor minaAcceptor = new MinaAcceptor(acceptor, socket);
+ Runtime.getRuntime().addShutdownHook(new Thread() {
+ public void run() {
+ logger.info("stoping directory server...");
+ minaAcceptor.stop();
+ logger.info("server directory stoped...");
+ }
+ });
+ minaAcceptor.start();
+ logger.info("directory server started at "+ socket.toString() +" ... (ctrl-c to stop it)");
+ new Thread(
+ new Runnable() {
+
+ public void run() {
+ while(true){
+ try {
+ Thread.sleep(10 * 1000);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ System.out.println("Accessor clients = " + minaAcceptor.getCurrentSessions());
+ }
+ }
+ }).start();
+ }
+}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/start.sh
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/start.sh (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-dir-mina/src/main/start.sh 2010-07-28 21:11:40 UTC (rev 34269)
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# build the classpath
+SERVER_CLASSPATH=
+for i in `ls ./libs/*.jar`
+do
+ SERVER_CLASSPATH=${SERVER_CLASSPATH}:${i}
+done
+
+# execute the server
+java -cp ".:${SERVER_CLASSPATH}" org.drools.grid.remote.directory.MinaDirectoryRunner --address 127.0.0.1 --port 9124
\ No newline at end of file
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeRunner.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeRunner.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeRunner.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -3,6 +3,7 @@
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
+import java.util.Date;
import joptsimple.OptionParser;
import joptsimple.OptionSet;
@@ -18,34 +19,49 @@
public class MinaNodeRunner {
- private static Logger logger = LoggerFactory.getLogger(MinaNodeRunner.class);
-
- public static void main(String[] args) throws IOException {
+ private static Logger logger = LoggerFactory.getLogger(MinaNodeRunner.class);
+
+ public static void main(String[] args) throws IOException {
OptionParser parser = new OptionParser();
OptionSpec<String> addressOpt = parser.accepts("address", "the address to bind the node").withRequiredArg().ofType(String.class);
OptionSpec<Integer> portOpt = parser.accepts("port", "the port to listen in the given address").withRequiredArg().ofType(Integer.class);
OptionSet options = parser.parse(args);
- String address = options.valueOf(addressOpt);
- int port = options.valueOf(portOpt);
- logger.info("starting server");
- SocketAddress socket = new InetSocketAddress(address, port);
- NodeData nodeData = new NodeData();
- // setup Server
- SocketAcceptor acceptor = new NioSocketAcceptor();
- acceptor.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener(),
- new GenericMessageHandlerImpl(nodeData,
- SystemEventListenerFactory.getSystemEventListener())));
-
- final MinaAcceptor minaAcceptor = new MinaAcceptor(acceptor, socket);
- Runtime.getRuntime().addShutdownHook(new Thread() {
- public void run() {
- logger.info("stoping server...");
- minaAcceptor.stop();
- logger.info("server stoped...");
- }
+ String address = options.valueOf(addressOpt);
+ int port = options.valueOf(portOpt);
+ logger.info("starting server");
+ SocketAddress socket = new InetSocketAddress(address, port);
+ NodeData nodeData = new NodeData();
+ // setup Server
+ SocketAcceptor acceptor = new NioSocketAcceptor();
+ acceptor.setHandler(new MinaIoHandler(SystemEventListenerFactory.getSystemEventListener(),
+ new GenericMessageHandlerImpl(nodeData,
+ SystemEventListenerFactory.getSystemEventListener())));
+
+ final MinaAcceptor minaAcceptor = new MinaAcceptor(acceptor, socket);
+ Runtime.getRuntime().addShutdownHook(new Thread() {
+
+ public void run() {
+ logger.info("stoping server...");
+ minaAcceptor.stop();
+ logger.info("server stoped...");
+ }
});
- minaAcceptor.start();
- logger.info("server started at "+ socket.toString() +" ... (ctrl-c to stop it)");
- }
+ minaAcceptor.start();
+ logger.info("server started at " + socket.toString() + " ... (ctrl-c to stop it)");
+ new Thread(
+ new Runnable() {
+
+ public void run() {
+ while(true){
+ try {
+ Thread.sleep(10 * 1000);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ System.out.println("Accessor clients = " + minaAcceptor.getCurrentSessions());
+ }
+ }
+ }).start();
+ }
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/RemoteMinaNodeConnector.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -56,6 +56,7 @@
public void connect() throws ConnectorException {
if (session != null && session.isConnected()) {
+
throw new IllegalStateException("Already connected. Disconnect first.");
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/ExecutionEnvironment.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -42,6 +42,7 @@
}
public ExecutionNode getExecutionNode() throws ConnectorException {
+ System.out.println("Getting an EXECUTION NODE!!");
GenericConnection connection = getConnector().getConnection();
return connection.getExecutionNode(new ReturnAlwaysTheFirstSelectionStrategy());
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/main/java/org/drools/grid/services/GridTopology.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -200,7 +200,8 @@
- public void disconectAllClients() throws ConnectorException, RemoteException {
+ public void dispose() throws ConnectorException, RemoteException {
+ System.out.println("Dispose all connections!");
for (String key : executionEnvironments.keySet()) {
executionEnvironments.get(key).getConnector().disconnect();
executionEnvironments.get(key).getConnector().getConnection().dispose();
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/BasicAPITestWithMina.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -78,7 +78,7 @@
@After
public void stop() throws ConnectorException, RemoteException {
- grid.disconectAllClients();
+ grid.dispose();
Assert.assertEquals(0, server1.getCurrentSessions());
server1.stop();
System.out.println("Server 1 Stopped!");
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterDirectoryTest.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -88,7 +88,7 @@
Assert.assertEquals(2, dir.getExecutorsMap().size());
- grid.disconectAllClients();
+ grid.dispose();
}
@Test
@@ -129,7 +129,7 @@
System.out.println("dir2 exec map"+dir2.getExecutorsMap());
Assert.assertTrue( (dir2.getExecutorsMap().size() + dir.getExecutorsMap().size()) > 4 );
- grid.disconectAllClients();
+ grid.dispose();
}
@@ -193,7 +193,7 @@
kbase = dirService.lookupKBase("DoctorsKBase");
Assert.assertNotNull(kbase);
- grid.disconectAllClients();
+ grid.dispose();
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterMinaDirectoryTest.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -115,7 +115,7 @@
@After
public void tearDown() throws InterruptedException, ConnectorException, RemoteException {
- grid.disconectAllClients();
+ grid.dispose();
Assert.assertEquals(0, serverDir.getCurrentSessions());
serverDir.stop();
@@ -295,7 +295,7 @@
directoryInstance.getConnector().disconnect();
- grid.disconectAllClients();
+ grid.dispose();
//System.out.println("Connector -->"+connector.getId());
node = grid.getExecutionEnvironment(connector).getExecutionNode();
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/RegisterTaskTest.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -182,7 +182,7 @@
public void tearDown() throws InterruptedException, ConnectorException, RemoteException {
client.disconnect();
- grid.disconectAllClients();
+ grid.dispose();
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java 2010-07-28 20:34:34 UTC (rev 34268)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-services/src/test/java/org/drools/services/ServiceAPITest.java 2010-07-28 21:11:40 UTC (rev 34269)
@@ -91,7 +91,7 @@
@After
public void tearDown() throws ConnectorException, RemoteException {
System.out.println("Disconecting all clients");
- grid.disconectAllClients();
+ grid.dispose();
System.out.println("Stoping Server 1!");
Assert.assertEquals(0, server1.getCurrentSessions());
server1.stop();
More information about the jboss-svn-commits
mailing list