[jboss-svn-commits] JBL Code SVN: r31136 - in labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm: grid and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jan 19 09:22:57 EST 2010
Author: salaboy21
Date: 2010-01-19 09:22:56 -0500 (Tue, 19 Jan 2010)
New Revision: 31136
Added:
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/HumanTaskServiceGridProviderImpl.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseGridClient.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseProviderGridClient.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBuilderGridClient.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBuilderProviderGridClient.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/RegistryService.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/ServiceManagerGridClient.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/SessionService.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/StatefulKnowledgeSessionGridClient.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/WorkItemManagerGridClient.java
Modified:
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/GenericConnector.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/mina/MinaConnector.java
labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderProviderRemoteClient.java
Log:
grid providers, need to refactor this and move it to the grid-rio project if needed
Modified: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/GenericConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/GenericConnector.java 2010-01-19 14:19:02 UTC (rev 31135)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/GenericConnector.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -9,5 +9,8 @@
Message write(Message msg);
//void write(Message msg);
+ String getId();
+ void setSession(Object object);
+
}
\ No newline at end of file
Added: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/HumanTaskServiceGridProviderImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/HumanTaskServiceGridProviderImpl.java (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/HumanTaskServiceGridProviderImpl.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -0,0 +1,35 @@
+package org.drools.vsm.grid;
+
+import org.drools.vsm.remote.*;
+import org.drools.task.service.HumanTaskServiceImpl;
+import org.drools.vsm.GenericConnector;
+import org.drools.vsm.HumanTaskService;
+import org.drools.vsm.HumanTaskServiceProvider;
+
+/**
+ *
+ * @author Lucas Amador
+ *
+ */
+public class HumanTaskServiceGridProviderImpl implements HumanTaskServiceProvider {
+
+ private final ServiceManagerGridClient serviceManager;
+
+ public HumanTaskServiceGridProviderImpl(ServiceManagerGridClient serviceManager) {
+ this.serviceManager = serviceManager;
+ }
+
+ public HumanTaskService newHumanTaskServiceClient() {
+ // TOOD: implemente a best way to identify the human task services of the other ones inexistents
+ if (serviceManager.getServices()==null)
+ return null;
+ GenericConnector humanTaskServiceConnector = serviceManager.getServices().get(0);
+ if (humanTaskServiceConnector==null)
+ return null;
+ return new HumanTaskServiceImpl( humanTaskServiceConnector,
+ serviceManager.counter,
+ serviceManager.getName(),
+ serviceManager.getSessionId());
+ }
+
+}
Added: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseGridClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseGridClient.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -0,0 +1,174 @@
+package org.drools.vsm.grid;
+
+import org.drools.vsm.remote.*;
+import java.util.Collection;
+import java.util.UUID;
+
+import org.drools.KnowledgeBase;
+import org.drools.command.FinishedCommand;
+import org.drools.command.KnowledgeBaseAddKnowledgePackagesCommand;
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.NewStatefulKnowledgeSessionCommand;
+import org.drools.command.SetVariableCommand;
+import org.drools.definition.KnowledgePackage;
+import org.drools.definition.process.Process;
+import org.drools.definition.rule.Rule;
+import org.drools.definition.type.FactType;
+import org.drools.event.knowledgebase.KnowledgeBaseEventListener;
+import org.drools.runtime.Environment;
+import org.drools.runtime.KnowledgeSessionConfiguration;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.StatelessKnowledgeSession;
+import org.drools.vsm.CollectionClient;
+import org.drools.vsm.Message;
+
+public class KnowledgeBaseGridClient
+ implements
+ KnowledgeBase {
+
+ private ServiceManagerGridClient serviceManager;
+ private String instanceId;
+
+ public KnowledgeBaseGridClient(String instanceId,
+ ServiceManagerGridClient serviceManager) {
+ this.instanceId = instanceId;
+ this.serviceManager = serviceManager;
+ }
+
+ public void addKnowledgePackages(Collection<KnowledgePackage> kpackages) {
+ String kresultsId = "kresults_" + serviceManager.getSessionId();
+
+ String kuilderInstanceId = ((CollectionClient<KnowledgePackage>) kpackages).getParentInstanceId();
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new KnowledgeBaseAddKnowledgePackagesCommand(),
+ kuilderInstanceId,
+ instanceId,
+ null,
+ kresultsId ) );
+
+ try {
+ Object object = serviceManager.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 );
+ }
+ }
+
+ public FactType getFactType(String packageName,
+ String typeName) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgePackage getKnowledgePackage(String packageName) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<KnowledgePackage> getKnowledgePackages() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Process getProcess(String processId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Rule getRule(String packageName,
+ String ruleName) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public StatefulKnowledgeSession newStatefulKnowledgeSession() {
+ return newStatefulKnowledgeSession( null,
+ null );
+ }
+
+ public StatefulKnowledgeSession newStatefulKnowledgeSession(KnowledgeSessionConfiguration conf,
+ Environment environment) {
+ String kresultsId = "kresults_" + serviceManager.getSessionId();
+
+ String localId = UUID.randomUUID().toString();
+
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ false,
+ new SetVariableCommand( "__TEMP__",
+ localId,
+ new KnowledgeContextResolveFromContextCommand( new NewStatefulKnowledgeSessionCommand( null ),
+ null,
+ instanceId,
+ null,
+ kresultsId ) ) );
+
+ try {
+ Object object = serviceManager.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 );
+ }
+
+ return new StatefulKnowledgeSessionGridClient( localId,
+ serviceManager );
+ }
+
+ public StatelessKnowledgeSession newStatelessKnowledgeSession(KnowledgeSessionConfiguration conf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public StatelessKnowledgeSession newStatelessKnowledgeSession() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeKnowledgePackage(String packageName) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeProcess(String processId) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeRule(String packageName,
+ String ruleName) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addEventListener(KnowledgeBaseEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Collection<KnowledgeBaseEventListener> getKnowledgeBaseEventListeners() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeEventListener(KnowledgeBaseEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeFunction(String packageName, String ruleName) {
+ // TODO Auto-generated method stub
+ }
+
+}
Added: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseProviderGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseProviderGridClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseProviderGridClient.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -0,0 +1,95 @@
+package org.drools.vsm.grid;
+
+import org.drools.vsm.remote.*;
+import java.util.Properties;
+import java.util.UUID;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseConfiguration;
+import org.drools.KnowledgeBaseProvider;
+import org.drools.command.FinishedCommand;
+import org.drools.command.NewKnowledgeBaseCommand;
+import org.drools.command.SetVariableCommand;
+import org.drools.runtime.Environment;
+import org.drools.runtime.KnowledgeSessionConfiguration;
+import org.drools.vsm.Message;
+
+public class KnowledgeBaseProviderGridClient
+ implements
+ KnowledgeBaseProvider {
+ private ServiceManagerGridClient serviceManager;
+
+ public KnowledgeBaseProviderGridClient(ServiceManagerGridClient serviceManager) {
+ this.serviceManager = serviceManager;
+ }
+
+ public Environment newEnvironment() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBase newKnowledgeBase() {
+ return newKnowledgeBase( ( KnowledgeBaseConfiguration ) null );
+ }
+
+ public KnowledgeBase newKnowledgeBase(KnowledgeBaseConfiguration conf) {
+ //return new NewKnowledgeBaseCommand(null);
+
+ String localId = UUID.randomUUID().toString();
+
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ false,
+ new SetVariableCommand( "__TEMP__",
+ localId,
+ new NewKnowledgeBaseCommand( null ) ) );
+ try {
+ Object object = serviceManager.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 );
+ }
+
+ return new KnowledgeBaseGridClient( localId,
+ serviceManager );
+
+ }
+
+ public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBaseConfiguration newKnowledgeBaseConfiguration(Properties properties,
+ ClassLoader classLoader) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeSessionConfiguration newKnowledgeSessionConfiguration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeSessionConfiguration newKnowledgeSessionConfiguration(Properties properties) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBase newKnowledgeBase(String kbaseId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBase newKnowledgeBase(String kbaseId,
+ KnowledgeBaseConfiguration conf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Added: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBuilderGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBuilderGridClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBuilderGridClient.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -0,0 +1,132 @@
+package org.drools.vsm.grid;
+
+import org.drools.vsm.remote.*;
+import java.util.Collection;
+
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderErrors;
+import org.drools.builder.ResourceConfiguration;
+import org.drools.builder.ResourceType;
+import org.drools.command.FinishedCommand;
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.builder.KnowledgeBuilderAddCommand;
+import org.drools.command.builder.KnowledgeBuilderGetErrorsCommand;
+import org.drools.command.builder.KnowledgeBuilderHasErrorsCommand;
+import org.drools.definition.KnowledgePackage;
+import org.drools.io.Resource;
+import org.drools.runtime.ExecutionResults;
+import org.drools.vsm.CollectionClient;
+import org.drools.vsm.Message;
+
+public class KnowledgeBuilderGridClient
+ implements
+ KnowledgeBuilder {
+ private ServiceManagerGridClient serviceManager;
+ private String instanceId;
+
+ public KnowledgeBuilderGridClient(String instanceId,
+ ServiceManagerGridClient serviceManager) {
+ this.instanceId = instanceId;
+ this.serviceManager = serviceManager;
+ }
+
+ public void add(Resource resource,
+ ResourceType resourceType) {
+ add( resource,
+ resourceType,
+ null );
+ }
+
+ public void add(Resource resource,
+ ResourceType resourceType,
+ ResourceConfiguration configuration) {
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderAddCommand( resource,
+ resourceType,
+ configuration ),
+ instanceId,
+ null,
+ null,
+ null ) );
+
+ try {
+ Object object = serviceManager.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 );
+ }
+
+ }
+
+ public KnowledgeBuilderErrors getErrors() {
+ String commandId = "kbuilder.getErrors_" + serviceManager.getNextId();
+ String kresultsId = "kresults_" + serviceManager.getSessionId();
+
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderGetErrorsCommand( commandId ),
+ instanceId,
+ null,
+ null,
+ kresultsId ) );
+
+ try {
+ Object object = serviceManager.client.write( msg ).getPayload();
+
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return (KnowledgeBuilderErrors) ((ExecutionResults) object).getValue( commandId );
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+ }
+
+ public Collection<KnowledgePackage> getKnowledgePackages() {
+ return new CollectionClient<KnowledgePackage>( this.instanceId );
+ }
+
+ public boolean hasErrors() {
+ String commandId = "kbuilder.hasErrors_" + serviceManager.getNextId();
+ String kresultsId = "kresults_" + serviceManager.getSessionId();
+
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.getNextId(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new KnowledgeBuilderHasErrorsCommand( commandId ),
+ instanceId,
+ null,
+ null,
+ kresultsId ) );
+
+ try {
+ Object object = serviceManager.client.write( msg ).getPayload();
+
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return (Boolean) ((ExecutionResults) object).getValue( commandId );
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+
+
+ }
+
+}
Added: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBuilderProviderGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBuilderProviderGridClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBuilderProviderGridClient.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -0,0 +1,87 @@
+/**
+ *
+ */
+package org.drools.vsm.grid;
+
+import org.drools.vsm.remote.*;
+import java.util.Properties;
+import java.util.UUID;
+
+import org.drools.KnowledgeBase;
+import org.drools.builder.DecisionTableConfiguration;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderConfiguration;
+import org.drools.builder.KnowledgeBuilderProvider;
+import org.drools.command.FinishedCommand;
+import org.drools.command.SetVariableCommand;
+import org.drools.command.builder.NewKnowledgeBuilderCommand;
+import org.drools.vsm.Message;
+
+public class KnowledgeBuilderProviderGridClient
+ implements
+ KnowledgeBuilderProvider {
+ private ServiceManagerGridClient serviceManager;
+
+ public KnowledgeBuilderProviderGridClient(ServiceManagerGridClient serviceManager) {
+ this.serviceManager = serviceManager;
+ }
+
+ public DecisionTableConfiguration newDecisionTableConfiguration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder() {
+ String localId = UUID.randomUUID().toString();
+
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ false,
+ new SetVariableCommand( "__TEMP__",
+ localId,
+ new NewKnowledgeBuilderCommand( null ) ) );
+
+ try {
+ Object object = serviceManager.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 );
+ }
+
+ return new KnowledgeBuilderGridClient( localId,
+ serviceManager );
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase,
+ KnowledgeBuilderConfiguration conf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties,
+ ClassLoader classLoader) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
\ No newline at end of file
Added: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/RegistryService.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/RegistryService.java (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/RegistryService.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -0,0 +1,19 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.drools.vsm.grid;
+
+import java.rmi.RemoteException;
+
+
+/**
+ *
+ * @author salaboy
+ */
+
+public interface RegistryService {
+ public void register(String executorId, String sessionServiceId) throws RemoteException;
+ public SessionService lookup(String executorId) throws RemoteException;
+}
Added: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/ServiceManagerGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/ServiceManagerGridClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/ServiceManagerGridClient.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -0,0 +1,321 @@
+package org.drools.vsm.grid;
+
+import java.rmi.RemoteException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Properties;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseProvider;
+import org.drools.agent.KnowledgeAgentProvider;
+import org.drools.builder.DecisionTableConfiguration;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderConfiguration;
+import org.drools.builder.KnowledgeBuilderProvider;
+import org.drools.command.Command;
+import org.drools.command.FinishedCommand;
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.vsm.LookupCommand;
+import org.drools.command.vsm.RegisterCommand;
+import org.drools.persistence.jpa.JPAKnowledgeServiceProvider;
+import org.drools.runtime.CommandExecutor;
+import org.drools.runtime.Environment;
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.vsm.GenericConnector;
+import org.drools.vsm.HumanTaskServiceProvider;
+import org.drools.vsm.Message;
+import org.drools.vsm.ServiceManager;
+import org.drools.vsm.command.ServiceManagerClientConnectCommand;
+
+public class ServiceManagerGridClient
+ implements
+ ServiceManager {
+ private String name;
+
+ public GenericConnector client;
+
+ private List<GenericConnector> services;
+
+ public AtomicInteger counter;
+
+ private int sessionId = -1;
+
+ //@TODO: i need to refactor this to a service in the list of services???
+ private RegistryService registryService;
+
+ public ServiceManagerGridClient(String name, GenericConnector client) {
+ this.name = name;
+ this.client = client;
+ this.counter = new AtomicInteger();
+ this.services = null;
+ }
+
+ public ServiceManagerGridClient(String name, GenericConnector client, List<GenericConnector> services) {
+ this(name, client);
+ this.services = services;
+ }
+
+ public boolean connect() {
+ boolean connected = this.client.connect();
+
+ if ( connected ) {
+ String commandId = "serviceManager.connected" + getNextId();
+ String kresultsId = "kresults_" + getSessionId();
+
+ Message msg = new Message( -1,
+ counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new ServiceManagerClientConnectCommand( commandId ),
+ null,
+ null,
+ null,
+ kresultsId ) );
+
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ sessionId = (Integer) ((ExecutionResults) object).getValue( commandId );
+
+ connected = true;
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+ }
+ // Connecting with services
+ if (this.services != null) {
+ for (GenericConnector connector : services){
+ boolean serviceConnected = connector.connect();
+ if ( serviceConnected ){
+ System.out.println("Service Connected");
+ }
+ }
+ }
+
+ return connected;
+ }
+
+ public void disconnect() {
+ this.client.disconnect();
+ if (this.services != null){
+ for (GenericConnector connector : this.services){
+ connector.disconnect();
+ }
+ }
+ }
+
+ public KnowledgeBuilderProvider getKnowledgeBuilderFactory() {
+ return new KnowledgeBuilderProviderGridClient( this );
+ }
+
+ public KnowledgeBaseProvider getKnowledgeBaseFactory() {
+ return new KnowledgeBaseProviderGridClient( this );
+ }
+
+ public KnowledgeAgentProvider getKnowledgeAgentFactory() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public JPAKnowledgeServiceProvider JPAKnowledgeService() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Environment getEnvironment() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<String> list() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void register(String identifier,
+ CommandExecutor executor) {
+ String commandId = "client.lookup" + getNextId();
+ String kresultsId = "kresults_" + getSessionId();
+
+ int type;
+ if ( executor instanceof StatefulKnowledgeSession ) {
+ type = 0;
+ } else {
+ throw new IllegalArgumentException( "Type is not supported for registration" );
+ }
+
+ Message msg = new Message( getSessionId(),
+ counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new RegisterCommand( identifier,
+ ((StatefulKnowledgeSessionGridClient) executor).getInstanceId(),
+ type ),
+ null,
+ null,
+ null,
+ null ) );
+ System.out.println("Registering "+identifier + " - - "+client.getId());
+ try {
+
+ registryService.register(identifier, client.getId());
+ } catch (RemoteException ex) {
+ Logger.getLogger(ServiceManagerGridClient.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ try {
+
+
+ Object object = client.write( msg ).getPayload();
+ //Here I will use the registry Service
+
+
+ if ( !(object instanceof FinishedCommand) ) {
+ throw new RuntimeException( "Response was not correctly ended" );
+ }
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+ }
+
+ public CommandExecutor lookup(String identifier) {
+ String commandId = "client.lookup" + getNextId();
+ String kresultsId = "kresults_" + getSessionId();
+
+ Message msg = new Message( getSessionId(),
+ counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new LookupCommand( identifier,
+ commandId ),
+ null,
+ null,
+ null,
+ kresultsId ) );
+ System.out.println("Looking up the session with identifier = "+identifier);
+ try {
+ //First I need to get the correct client SessionService with the identifier
+
+ client.setSession(registryService.lookup(identifier));
+ } catch (RemoteException ex) {
+ Logger.getLogger(ServiceManagerGridClient.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ try {
+ Object object = client.write( msg ).getPayload();
+
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+ String value = (String) ((ExecutionResults) object).getValue( commandId );
+ String type = String.valueOf( value.charAt( 0 ) );
+ String instanceId = value.substring( 2 );
+
+ CommandExecutor executor = null;
+ switch ( Integer.parseInt( type ) ) {
+ case 0 : {
+ executor = new StatefulKnowledgeSessionGridClient( instanceId,
+ this );
+ break;
+ }
+ default : {
+
+ }
+
+ }
+
+ return executor;
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+ }
+
+ public void release(Object object) {
+ // TODO Auto-generated method stub
+ }
+
+ public void release(String identifier) {
+ // TODO Auto-generated method stub
+ }
+
+ public HumanTaskServiceProvider getHumanTaskService() {
+ return new HumanTaskServiceGridProviderImpl(this);
+ }
+
+ public static class RemoveKnowledgeBuilderProvider implements KnowledgeBuilderProvider {
+
+ public DecisionTableConfiguration newDecisionTableConfiguration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBuilderConfiguration conf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilder newKnowledgeBuilder(KnowledgeBase kbase,
+ KnowledgeBuilderConfiguration conf) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration(Properties properties,
+ ClassLoader classLoader) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+ }
+
+ public int getSessionId() {
+ return sessionId;
+ }
+
+ public int getNextId() {
+ return this.counter.incrementAndGet();
+ }
+
+ public ExecutionResults execute(Command command) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List<GenericConnector> getServices() {
+ return services;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public RegistryService getRegistryService() {
+ return registryService;
+ }
+
+ public void setRegistryService(RegistryService registryService) {
+ this.registryService = registryService;
+ }
+
+
+}
Copied: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/SessionService.java (from rev 31068, labs/jbossrules/branches/salaboy_grid-rio/drools-grid-rio/src/main/java/org/drools/vsm/rio/SessionService.java)
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/SessionService.java (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/SessionService.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -0,0 +1,20 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.drools.vsm.grid;
+
+import java.rmi.RemoteException;
+
+import org.drools.vsm.GenericIoWriter;
+import org.drools.vsm.Message;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface SessionService extends GenericIoWriter {
+ public String getId() throws RemoteException;
+ public Message write(Message msg) throws RemoteException;
+
+}
Added: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/StatefulKnowledgeSessionGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/StatefulKnowledgeSessionGridClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/StatefulKnowledgeSessionGridClient.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -0,0 +1,419 @@
+package org.drools.vsm.grid;
+
+import org.drools.vsm.remote.*;
+import java.util.Collection;
+import java.util.Map;
+
+import org.drools.KnowledgeBase;
+import org.drools.command.Command;
+import org.drools.command.ExecuteCommand;
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.runtime.rule.FireAllRulesCommand;
+import org.drools.command.vsm.GetWorkItemManagerCommand;
+import org.drools.command.vsm.RegisterRemoteWorkItemHandlerCommand;
+import org.drools.command.vsm.StartProcessRemoteCommand;
+import org.drools.event.process.ProcessEventListener;
+import org.drools.event.rule.AgendaEventListener;
+import org.drools.event.rule.WorkingMemoryEventListener;
+import org.drools.runtime.Calendars;
+import org.drools.runtime.Environment;
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.ExitPoint;
+import org.drools.runtime.Globals;
+import org.drools.runtime.ObjectFilter;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.ProcessInstance;
+import org.drools.runtime.process.WorkItemManager;
+import org.drools.runtime.rule.Agenda;
+import org.drools.runtime.rule.AgendaFilter;
+import org.drools.runtime.rule.FactHandle;
+import org.drools.runtime.rule.QueryResults;
+import org.drools.runtime.rule.WorkingMemoryEntryPoint;
+import org.drools.time.SessionClock;
+import org.drools.vsm.Message;
+
+public class StatefulKnowledgeSessionGridClient
+ implements
+ StatefulKnowledgeSession {
+
+ private ServiceManagerGridClient serviceManager;
+ private String instanceId;
+
+ public StatefulKnowledgeSessionGridClient(String instanceId,
+ ServiceManagerGridClient serviceManager) {
+ this.instanceId = instanceId;
+ this.serviceManager = serviceManager;
+ }
+
+ public String getInstanceId() {
+ return this.instanceId;
+ }
+
+ public void dispose() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public int getId() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public int fireAllRules() {
+ String commandId = "ksession.fireAllRules" + serviceManager.getNextId();
+ String kresultsId = "kresults_" + serviceManager.getSessionId();
+
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new FireAllRulesCommand( commandId ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+ try {
+ Object object = serviceManager.client.write( msg ).getPayload();
+
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return (Integer) ((ExecutionResults) object).getValue( commandId );
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+ }
+
+ public int fireAllRules(int max) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public int fireAllRules(AgendaFilter agendaFilter) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public void fireUntilHalt() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void fireUntilHalt(AgendaFilter agendaFilter) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public ExecutionResults execute(Command command) {
+ String commandId = "ksession.execute" + serviceManager.getNextId();
+ String kresultsId = "kresults_" + serviceManager.getSessionId();
+
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new ExecuteCommand( commandId,
+ command ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+
+ try {
+ Object object = serviceManager.client.write( msg ).getPayload();if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return (ExecutionResults) ((ExecutionResults) object).getValue( commandId );
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+ }
+
+ public Environment getEnvironment() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object getGlobal(String identifier) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Globals getGlobals() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public KnowledgeBase getKnowledgeBase() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T extends SessionClock> T getSessionClock() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void registerExitPoint(String name,
+ ExitPoint exitPoint) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setGlobal(String identifier,
+ Object object) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void unregisterExitPoint(String name) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Agenda getAgenda() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public QueryResults getQueryResults(String query) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public QueryResults getQueryResults(String query,
+ Object[] arguments) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection< ? extends WorkingMemoryEntryPoint> getWorkingMemoryEntryPoints() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void halt() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public FactHandle getFactHandle(Object object) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T extends FactHandle> Collection<T> getFactHandles() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <T extends FactHandle> Collection<T> getFactHandles(ObjectFilter filter) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object getObject(FactHandle factHandle) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<Object> getObjects() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<Object> getObjects(ObjectFilter filter) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public FactHandle insert(Object object) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void retract(FactHandle handle) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void update(FactHandle handle,
+ Object object) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void abortProcessInstance(long id) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public ProcessInstance getProcessInstance(long id) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<ProcessInstance> getProcessInstances() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public WorkItemManager getWorkItemManager() {
+ String kresultsId = "kresults_" + serviceManager.getSessionId();
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ true,
+ new KnowledgeContextResolveFromContextCommand( new GetWorkItemManagerCommand(),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+ try {
+ Object payload = serviceManager.client.write( msg ).getPayload();
+ WorkItemManager workItemManager = (WorkItemManager) ((ExecutionResults) payload).getValue( "workItemManager" );
+ ((WorkItemManagerGridClient)workItemManager).setServiceManager(serviceManager);
+ ((WorkItemManagerGridClient)workItemManager).setInstanceId(instanceId);
+ return workItemManager;
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message", e );
+ }
+ }
+
+ public void registerWorkItemHandler(String name, String workItemHandler){
+
+ String kresultsId = "kresults_" + serviceManager.getSessionId();
+
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new RegisterRemoteWorkItemHandlerCommand(name, workItemHandler ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+
+ try {
+ serviceManager.client.write( msg );
+
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+
+ }
+
+ public void signalEvent(String type,
+ Object event) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public ProcessInstance startProcess(String processId) {
+ String commandId = "ksession.execute" + serviceManager.getNextId();
+ String kresultsId = "kresults_" + serviceManager.getSessionId();
+
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ false,
+ new KnowledgeContextResolveFromContextCommand( new StartProcessRemoteCommand( processId ),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+
+ try {
+ Object object = serviceManager.client.write( msg ).getPayload();
+ if ( object == null ) {
+ throw new RuntimeException( "Response was not correctly received" );
+ }
+
+ return (ProcessInstance) ((ExecutionResults) object).getValue( processId );
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message",
+ e );
+ }
+
+ }
+
+ public ProcessInstance startProcess(String processId,
+ Map<String, Object> parameters) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void addEventListener(WorkingMemoryEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addEventListener(AgendaEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Collection<AgendaEventListener> getAgendaEventListeners() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<WorkingMemoryEventListener> getWorkingMemoryEventListeners() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeEventListener(WorkingMemoryEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removeEventListener(AgendaEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addEventListener(ProcessEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Collection<ProcessEventListener> getProcessEventListeners() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeEventListener(ProcessEventListener listener) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public String getEntryPointId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public long getFactCount() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public void signalEvent(String type,
+ Object event,
+ long processInstanceId) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Calendars getCalendars() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Added: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/WorkItemManagerGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/WorkItemManagerGridClient.java (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/WorkItemManagerGridClient.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -0,0 +1,59 @@
+package org.drools.vsm.grid;
+
+import org.drools.vsm.remote.*;
+import java.io.Serializable;
+import java.util.Map;
+
+import org.drools.command.KnowledgeContextResolveFromContextCommand;
+import org.drools.command.runtime.process.CompleteWorkItemCommand;
+import org.drools.command.vsm.GetWorkItemManagerCommand;
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.process.WorkItemHandler;
+import org.drools.runtime.process.WorkItemManager;
+import org.drools.vsm.Message;
+
+/**
+ *
+ * @author Lucas Amador
+ */
+public class WorkItemManagerGridClient implements WorkItemManager, Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private ServiceManagerGridClient serviceManager;
+ private String instanceId;
+
+ public void abortWorkItem(long id) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public void completeWorkItem(long id, Map<String, Object> results) {
+ String kresultsId = "kresults_" + serviceManager.getSessionId();
+ Message msg = new Message( serviceManager.getSessionId(),
+ serviceManager.counter.incrementAndGet(),
+ true,
+ new KnowledgeContextResolveFromContextCommand( new CompleteWorkItemCommand(id, results),
+ null,
+ null,
+ instanceId,
+ kresultsId ) );
+ try {
+ serviceManager.client.write( msg );
+ } catch ( Exception e ) {
+ throw new RuntimeException( "Unable to execute message", e );
+ }
+ }
+
+ public void registerWorkItemHandler(String workItemName, WorkItemHandler handler) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public void setServiceManager(ServiceManagerGridClient serviceManager) {
+ this.serviceManager = serviceManager;
+ }
+
+ public void setInstanceId(String instanceId) {
+ this.instanceId = instanceId;
+ }
+
+}
Modified: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/mina/MinaConnector.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/mina/MinaConnector.java 2010-01-19 14:19:02 UTC (rev 31135)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/mina/MinaConnector.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -109,4 +109,12 @@
return returnMessage;
}
+
+ public String getId() {
+ return String.valueOf(session.getId());
+ }
+
+ public void setSession(Object object) {
+ this.session = (IoSession) object;
+ }
}
Modified: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderProviderRemoteClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderProviderRemoteClient.java 2010-01-19 14:19:02 UTC (rev 31135)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderProviderRemoteClient.java 2010-01-19 14:22:56 UTC (rev 31136)
@@ -27,7 +27,7 @@
public DecisionTableConfiguration newDecisionTableConfiguration() {
// TODO Auto-generated method stub
- return null;
+ return null;
}
public KnowledgeBuilder newKnowledgeBuilder() {
More information about the jboss-svn-commits
mailing list