[jboss-svn-commits] JBL Code SVN: r32471 - in labs/jbossrules/trunk: drools-container/drools-spring and 19 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 7 16:35:33 EDT 2010


Author: lucazamador
Date: 2010-04-07 16:35:31 -0400 (Wed, 07 Apr 2010)
New Revision: 32471

Added:
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ConnectionBeanFactory.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ExecutionNodeBeanFactory.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ConnectionDefinitionParser.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ExecutionNodeDefinitionParser.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecutionNodePipelineContextImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecutionNodePipelineImpl.java
   labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlGridTransformer.java
   labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlGridTransformer.java
Removed:
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ServiceManagerDefinitionParser.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/AssignResultProcessor.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/BatchExecutorProcessor.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelServiceManagerPipelineImpl.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelXStreamFromXmlVsmTransformer.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelXStreamToXmlVsmTransformer.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/DroolsContextInitProcessor.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/ExecuteResultProcessor.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/ToXmlNodeTransformer.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/pipeline/camel/CamelPipelineTest.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/resources/applicationContext.xml
   labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlVsmTransformer.java
   labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlVsmTransformer.java
Modified:
   labs/jbossrules/trunk/drools-container/drools-spring/pom.xml
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/AbstractKnowledgeSessionBeanFactory.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeBaseBeanFactory.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceBeanFactory.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/JPAKnowledgeServiceBean.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeBaseDefinitionParser.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceDefinitionParser.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeSessionDefinitionParser.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsHandler.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-service-spring.xsd
   labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring.xsd
   labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/SpringDroolsTest.java
   labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/beans.xml
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/KnowledgeCommandContext.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/pom.xml
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsComponent.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsEndpoint.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsProducer.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsProxyEndpoint.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsXStreamDataFormat.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/DroolsCamelContextInit.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java
   labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/DroolsCamelTestSupport.java
   labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/pom.xml
   labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamBatchExecutionTest.java
   labs/jbossrules/trunk/drools-server/drools-server-app/pom.xml
   labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/services-test.xml
   labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/sessions-test.xml
   labs/jbossrules/trunk/pom.xml
Log:
drools-camel, transformer-xstream, drools-server migrated to drools-grid. drools-vsm build disabled. drools-vsm isn't used anymore on any project. added drools-grid spring configuration

Modified: labs/jbossrules/trunk/drools-container/drools-spring/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/pom.xml	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/pom.xml	2010-04-07 20:35:31 UTC (rev 32471)
@@ -35,11 +35,6 @@
     	
     	<dependency>
     		<groupId>org.drools</groupId>
-    		<artifactId>drools-vsm</artifactId>
-    	</dependency>    	
-    	
-    	<dependency>
-    		<groupId>org.drools</groupId>
     		<artifactId>drools-server-spring</artifactId>
     		<version>${project.version}</version>
     	</dependency>

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/AbstractKnowledgeSessionBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/AbstractKnowledgeSessionBeanFactory.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/AbstractKnowledgeSessionBeanFactory.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,8 +1,9 @@
 package org.drools.container.spring.beans;
 
 import org.drools.KnowledgeBase;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.grid.ExecutionNode;
 import org.drools.runtime.CommandExecutor;
-import org.drools.vsm.ServiceManager;
 import org.springframework.beans.factory.BeanNameAware;
 import org.springframework.beans.factory.FactoryBean;
 import org.springframework.beans.factory.InitializingBean;
@@ -11,7 +12,7 @@
 public abstract class AbstractKnowledgeSessionBeanFactory implements FactoryBean,
 		InitializingBean, BeanNameAware, NamedBean {
 
-	private ServiceManager serviceManager;
+	private ExecutionNode node;
 	private KnowledgeBase kbase;
 	private String beanName;
 	private String name;
@@ -52,8 +53,8 @@
 			name = beanName;
 		}
 		internalAfterPropertiesSet();
-		if (serviceManager != null) {
-			serviceManager.register(name, getCommandExecutor());
+		if (node != null) {
+			node.get(DirectoryLookupFactoryService.class).register(name, getCommandExecutor());
 		}
 	}
 
@@ -61,12 +62,12 @@
 
 	protected abstract void internalAfterPropertiesSet();
 
-	public ServiceManager getServiceManager() {
-		return serviceManager;
+	public ExecutionNode getNode() {
+		return node;
 	}
 
-	public void setServiceManager(ServiceManager serviceManager) {
-		this.serviceManager = serviceManager;
+	public void setNode(ExecutionNode node) {
+		this.node = node;
 	}
 
 	public void setBeanName(String name) {

Added: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ConnectionBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ConnectionBeanFactory.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ConnectionBeanFactory.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -0,0 +1,59 @@
+package org.drools.container.spring.beans;
+
+import org.drools.grid.generic.GenericConnection;
+import org.drools.grid.local.LocalConnection;
+import org.springframework.beans.factory.FactoryBean;
+import org.springframework.beans.factory.InitializingBean;
+
+/**
+ * 
+ * @author Lucas Amador
+ *
+ */
+public class ConnectionBeanFactory implements FactoryBean, InitializingBean {
+
+	private String id;
+	private String type;
+	private Object connection;
+
+	public Object getObject() throws Exception {
+		return connection;
+	}
+
+	public Class<GenericConnection> getObjectType() {
+		return GenericConnection.class;
+	}
+
+	public boolean isSingleton() {
+		return true;
+	}
+
+	public void afterPropertiesSet() throws Exception {
+		if ("local".equals(type)) {
+			connection = new LocalConnection();
+		}
+		else if ("remote".equals(type)) {
+			throw new UnsupportedOperationException("not implemented yet");
+		}
+		else {
+			throw new IllegalArgumentException("invalid connection type: local/remote");
+		}
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getId() {
+		return id;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+}


Property changes on: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ConnectionBeanFactory.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ExecutionNodeBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ExecutionNodeBeanFactory.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ExecutionNodeBeanFactory.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -0,0 +1,51 @@
+package org.drools.container.spring.beans;
+
+import org.drools.grid.ExecutionNode;
+import org.drools.grid.generic.GenericConnection;
+import org.springframework.beans.factory.FactoryBean;
+import org.springframework.beans.factory.InitializingBean;
+
+/**
+ * 
+ * @author Lucas Amador
+ *
+ */
+public class ExecutionNodeBeanFactory  implements FactoryBean, InitializingBean {
+
+	private String id;
+	private GenericConnection connection;
+	private ExecutionNode node;
+
+	public Object getObject() throws Exception {
+		return node;
+	}
+
+	public Class<? extends ExecutionNode> getObjectType() {
+		return ExecutionNode.class;
+	}
+
+	public boolean isSingleton() {
+		return true;
+	}
+
+	public void afterPropertiesSet() throws Exception {
+		node = connection.getExecutionNode(null);
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getId() {
+		return id;
+	}
+
+	public void setConnection(GenericConnection connection) {
+		this.connection = connection;
+	}
+
+	public GenericConnection getConnection() {
+		return connection;
+	}
+
+}


Property changes on: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/ExecutionNodeBeanFactory.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeBaseBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeBaseBeanFactory.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeBaseBeanFactory.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -5,11 +5,13 @@
 import java.util.List;
 
 import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactoryService;
 import org.drools.builder.KnowledgeBuilder;
 import org.drools.builder.KnowledgeBuilderErrors;
+import org.drools.builder.KnowledgeBuilderFactoryService;
 import org.drools.builder.help.KnowledgeBuilderHelper;
-import org.drools.vsm.ServiceManager;
-import org.drools.vsm.local.ServiceManagerLocalClient;
+import org.drools.grid.ExecutionNode;
+import org.drools.grid.local.LocalConnection;
 import org.springframework.beans.factory.FactoryBean;
 import org.springframework.beans.factory.InitializingBean;
 
@@ -19,10 +21,7 @@
 public class KnowledgeBaseBeanFactory implements FactoryBean, InitializingBean {
 
 	private KnowledgeBase kbase;
-	private ServiceManager serviceManager;
-	//XXX currently the SessionManager only has one kbase.
-//	private String name;
-//	private String beanName;
+	private ExecutionNode node;
 	private List<DroolsResourceAdapter> resources = Collections.emptyList();
 	private List<DroolsResourceAdapter> models = Collections.emptyList();
 
@@ -39,17 +38,13 @@
 	}
 
 	public void afterPropertiesSet() throws Exception {
-//		if (name == null) {
-//			setName(getBeanName());
-//		}
-		if (serviceManager == null) {
-			System.out.println("creating NEW SERVICE MANAGER LOCAL CLIENT");
-			serviceManager = new ServiceManagerLocalClient();
+		if (node == null) {
+			LocalConnection connection = new LocalConnection();
+			node = connection.getExecutionNode(null);
 		}
+		KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+		kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
 
-		KnowledgeBuilder kbuilder = getServiceManager().getKnowledgeBuilderFactoryService().newKnowledgeBuilder();
-		kbase = getServiceManager().getKnowledgeBaseFactoryService().newKnowledgeBase();
-
 		if (models != null && models.size() > 0) {
 			for (DroolsResourceAdapter res: models) {
 				Options xjcOptions = new Options();
@@ -65,7 +60,7 @@
 				}
 			}
 		}
-		
+
 		for (DroolsResourceAdapter res: resources) {
 			if (res.getResourceConfiguration() == null) {
 				kbuilder.add(res.getDroolsResource(), res.getResourceType());
@@ -73,12 +68,12 @@
 				kbuilder.add(res.getDroolsResource(), res.getResourceType(), res.getResourceConfiguration());
 			}
 		}
-		
+
 		KnowledgeBuilderErrors errors = kbuilder.getErrors();
 		if (!errors.isEmpty() ) {
 			throw new RuntimeException(errors.toString());
 		}
-		
+
 		kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
 
 	}
@@ -91,26 +86,10 @@
 		this.kbase = kbase;
 	}
 
-//	public String getName() {
-//		return name;
-//	}
-//
-//	public void setName(String name) {
-//		this.name = name;
-//	}
-	
-	public ServiceManager getServiceManager() {
-		return serviceManager;
+	public ExecutionNode getNode() {
+		return node;
 	}
 
-//	public String getBeanName() {
-//		return beanName;
-//	}
-//
-//	public void setBeanName(String name) {
-//		beanName = name;
-//	}
-
 	public List<DroolsResourceAdapter> getResources() {
 		return resources;
 	}
@@ -119,8 +98,8 @@
 		this.resources = resources;
 	}
 
-	public void setServiceManager(ServiceManager serviceManager) {
-		this.serviceManager = serviceManager;
+	public void setNode(ExecutionNode executionNode) {
+		this.node = executionNode;
 	}
 
 	public void setModels(List<DroolsResourceAdapter> models) {

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceBeanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceBeanFactory.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/KnowledgeServiceBeanFactory.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -25,7 +25,7 @@
 	private PackageScanClassResolver packageClassLoaderResolver;
 	private KnowledgeService service;
 	private List<KnowledgeServiceConfiguration> configurations = Collections.emptyList();
-	private String smId;
+	private String nodeId;
 
 	public Object getObject() throws Exception {
 		return service;
@@ -44,7 +44,7 @@
 		for (KnowledgeServiceConfiguration cfg : configurations) {
 			configs.put(cfg.getSessionId(), cfg);
 		}
-		service = new KnowledgeServiceImpl(camelContext, configs, smId);
+		service = new KnowledgeServiceImpl(camelContext, configs, nodeId);
 	}
 
 	public void setId(String id) {
@@ -87,12 +87,12 @@
 		return packageClassLoaderResolver;
 	}
 
-	public void setSmId(String smId) {
-		this.smId = smId;
+	public void setNodeId(String nodeId) {
+		this.nodeId = nodeId;
 	}
 
-	public String getSmId() {
-		return smId;
+	public String getNodeId() {
+		return nodeId;
 	}
 
 }

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/JPAKnowledgeServiceBean.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/JPAKnowledgeServiceBean.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/beans/persistence/JPAKnowledgeServiceBean.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -7,17 +7,18 @@
 import javax.persistence.PersistenceException;
 
 import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactoryService;
 import org.drools.RuntimeDroolsException;
 import org.drools.base.MapGlobalResolver;
-import org.drools.persistence.jpa.JPAKnowledgeServiceProvider;
-import org.drools.persistence.jpa.impl.JPAKnowledgeServiceProviderImpl;
+import org.drools.builder.JPAKnowledgeFactoryService;
+import org.drools.grid.ExecutionNode;
+import org.drools.grid.local.LocalConnection;
+import org.drools.persistence.jpa.grid.JPAKnowledgeProviderLocalClient;
 import org.drools.persistence.processinstance.VariablePersistenceStrategyFactory;
 import org.drools.persistence.processinstance.persisters.VariablePersister;
 import org.drools.runtime.Environment;
 import org.drools.runtime.EnvironmentName;
 import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.vsm.ServiceManager;
-import org.drools.vsm.local.ServiceManagerLocalClient;
 import org.springframework.orm.jpa.JpaCallback;
 import org.springframework.orm.jpa.support.JpaDaoSupport;
 import org.springframework.transaction.TransactionStatus;
@@ -26,9 +27,10 @@
 import org.springframework.transaction.support.TransactionTemplate;
 
 public class JPAKnowledgeServiceBean extends JpaDaoSupport  {
-	private ServiceManager serviceManager;
+	
+	private ExecutionNode node;
 	private KnowledgeBase kbase;
-	private JPAKnowledgeServiceProvider jpaKnowledgeServiceProvider;
+	private JPAKnowledgeFactoryService jpaKnowledgeServiceProvider;
 	private Environment environment;
 	private AbstractPlatformTransactionManager transactionManager;
 	private Map<Class<?>, Class<? extends VariablePersister>> variablePersisters = Collections.emptyMap();
@@ -64,29 +66,31 @@
 		if (kbase == null) {
 			throw new IllegalArgumentException("property kbase is mandatory");
 		}
-		if (serviceManager == null) {
-			serviceManager = new ServiceManagerLocalClient();
+		if (node == null) {
+			LocalConnection connection = new LocalConnection();
+			node = connection.getExecutionNode(null);
 		}
 		if (environment == null) {
-			environment = serviceManager.getKnowledgeBaseFactoryService().newEnvironment();
+			environment = node.get(KnowledgeBaseFactoryService.class).newEnvironment();
 		}
-
 		if (environment.get(EnvironmentName.ENTITY_MANAGER_FACTORY) != null) {
 			logger.debug("overwriting environment key: " + EnvironmentName.ENTITY_MANAGER_FACTORY);
 		}
 		environment.set(EnvironmentName.ENTITY_MANAGER_FACTORY, getJpaTemplate().getEntityManagerFactory());
-		
 		if (environment.get(EnvironmentName.TRANSACTION_MANAGER) != null) {
 			logger.debug("overwriting environment key: " + EnvironmentName.TRANSACTION_MANAGER);
 		}
 		environment.set(EnvironmentName.TRANSACTION_MANAGER, getTransactionManager());
 		environment.set(EnvironmentName.GLOBALS, new MapGlobalResolver());
-		jpaKnowledgeServiceProvider = serviceManager.JPAKnowledgeService();
-		if (jpaKnowledgeServiceProvider instanceof JPAKnowledgeServiceProviderImpl) {
-			((JPAKnowledgeServiceProviderImpl) jpaKnowledgeServiceProvider).setCommandServiceClass(SpringSingleSessionCommandService.class);
-		} else {
-			throw new RuntimeDroolsException("JPAKnowledgeService is not instance of: " + JPAKnowledgeServiceProviderImpl.class.getName());
+		
+		jpaKnowledgeServiceProvider = node.get(JPAKnowledgeFactoryService.class);
+		if (jpaKnowledgeServiceProvider instanceof JPAKnowledgeProviderLocalClient) {
+			JPAKnowledgeProviderLocalClient local = (JPAKnowledgeProviderLocalClient) jpaKnowledgeServiceProvider;
+			local.setCommandServiceClass(SpringSingleSessionCommandService.class);
 		}
+		else {
+			throw new RuntimeDroolsException("JPAKnowledgeService is not instance of: " + JPAKnowledgeProviderLocalClient.class.getName());
+		}
 		
 		if (variablePersisters != null && !variablePersisters.isEmpty()) {
 			for (Map.Entry<Class<?>, Class<? extends VariablePersister>> entry : variablePersisters.entrySet()) {
@@ -107,12 +111,12 @@
 		this.kbase = kbase;
 	}
 	
-	public ServiceManager getServiceManager() {
-		return serviceManager;
+	public ExecutionNode getExecutionNode() {
+		return node;
 	}
 
-	public void setServiceManager(ServiceManager serviceManager) {
-		this.serviceManager = serviceManager;
+	public void setExecutionNode(ExecutionNode node) {
+		this.node = node;
 	}
 
 	public Environment getEnvironment() {

Added: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ConnectionDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ConnectionDefinitionParser.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ConnectionDefinitionParser.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -0,0 +1,37 @@
+package org.drools.container.spring.namespace;
+
+import org.drools.container.spring.beans.ConnectionBeanFactory;
+import org.springframework.beans.factory.support.AbstractBeanDefinition;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
+/**
+ * 
+ * @author Lucas Amador
+ *
+ */
+public class ConnectionDefinitionParser extends AbstractBeanDefinitionParser {
+
+	private static final String TYPE_ATTRIBUTE = "type";
+
+	protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
+
+		BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(ConnectionBeanFactory.class);
+
+		String type = element.getAttribute(TYPE_ATTRIBUTE);
+		emptyAttributeCheck(element.getLocalName(), TYPE_ATTRIBUTE, type);
+
+		factory.addPropertyValue("type", type);
+
+		return factory.getBeanDefinition();
+	}
+
+	public void emptyAttributeCheck(final String element, final String attributeName, final String attribute) {
+		if (attribute == null || attribute.trim().length() == 0) {
+			throw new IllegalArgumentException("<" + element + "> requires a '" + attributeName + "' attribute");
+		}
+	}
+
+}


Property changes on: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ConnectionDefinitionParser.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ExecutionNodeDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ExecutionNodeDefinitionParser.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ExecutionNodeDefinitionParser.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -0,0 +1,37 @@
+package org.drools.container.spring.namespace;
+
+import org.drools.container.spring.beans.ExecutionNodeBeanFactory;
+import org.springframework.beans.factory.support.AbstractBeanDefinition;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
+/**
+ * 
+ * @author Lucas Amador
+ *
+ */
+public class ExecutionNodeDefinitionParser extends AbstractBeanDefinitionParser {
+
+	private static final String CONNECTION_ATTRIBUTE = "connection";
+
+	@Override
+	protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
+
+		BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(ExecutionNodeBeanFactory.class);
+
+		String connectionRef = element.getAttribute(CONNECTION_ATTRIBUTE);
+		emptyAttributeCheck(element.getLocalName(), CONNECTION_ATTRIBUTE, connectionRef);
+		factory.addPropertyReference("connection", connectionRef);
+
+		return factory.getBeanDefinition();
+	}
+
+	public void emptyAttributeCheck(final String element, final String attributeName, final String attribute) {
+		if (attribute == null || attribute.trim().length() == 0) {
+			throw new IllegalArgumentException("<" + element + "> requires a '" + attributeName + "' attribute");
+		}
+	}
+
+}


Property changes on: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ExecutionNodeDefinitionParser.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeBaseDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeBaseDefinitionParser.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeBaseDefinitionParser.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -14,15 +14,15 @@
 
 public class KnowledgeBaseDefinitionParser extends AbstractBeanDefinitionParser {
 	
-	private static final String SERVICE_MANAGER_ATTRIBUTE = "serviceManager";
+	private static final String EXECUTION_NODE_ATTRIBUTE = "node";
 
 	@SuppressWarnings("unchecked")
 	@Override
 	protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
 		BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(KnowledgeBaseBeanFactory.class);
 
-		String smRef = element.getAttribute(SERVICE_MANAGER_ATTRIBUTE);
-		factory.addPropertyReference(SERVICE_MANAGER_ATTRIBUTE, smRef);
+		String nodeRef = element.getAttribute(EXECUTION_NODE_ATTRIBUTE);
+		factory.addPropertyReference(EXECUTION_NODE_ATTRIBUTE, nodeRef);
 		List<Element> childElements = DomUtils.getChildElementsByTagName(element, "resource");
 		
 		ManagedList resources = null;

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceDefinitionParser.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeServiceDefinitionParser.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -19,9 +19,8 @@
  */
 public class KnowledgeServiceDefinitionParser extends AbstractBeanDefinitionParser {
 
-	private static final String ID_ATTRIBUTE = "id";
 	private static final String CAMEL_CONTEXT_ATTRIBUTE = "camelContext";
-	private static final String SM_ID_ATTRIBUTE = "smId";
+	private static final String EXECUTION_NODE_ID_ATTRIBUTE = "node";
 	private static final String CONFIGURATION_ELEMENT = "configuration";
 	private static final String CONFIGURATION_REF_ELEMENT = "configuration-ref";
 
@@ -29,17 +28,12 @@
 	@Override
 	protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
 
-		String id = element.getAttribute(ID_ATTRIBUTE);
-		emptyAttributeCheck(element.getLocalName(), ID_ATTRIBUTE, id);
-		
 		BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(KnowledgeServiceBeanFactory.class);
 
-		factory.addPropertyValue("id", id);
-		
-		String smId = element.getAttribute(SM_ID_ATTRIBUTE);
-		emptyAttributeCheck(element.getLocalName(), SM_ID_ATTRIBUTE, smId);
+		String nodeId = element.getAttribute(EXECUTION_NODE_ID_ATTRIBUTE);
+		emptyAttributeCheck(element.getLocalName(), EXECUTION_NODE_ID_ATTRIBUTE, nodeId);
 
-		factory.addPropertyValue("smId", smId);
+		factory.addPropertyValue("nodeId", nodeId);
 		
 		String camelContextId = element.getAttribute(CAMEL_CONTEXT_ATTRIBUTE);
 		emptyAttributeCheck(element.getLocalName(), CAMEL_CONTEXT_ATTRIBUTE, camelContextId);

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeSessionDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeSessionDefinitionParser.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/KnowledgeSessionDefinitionParser.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -11,7 +11,7 @@
 public class KnowledgeSessionDefinitionParser extends AbstractBeanDefinitionParser {
 
 	private static final String NAME_ATTRIBUTE = "name";
-	private static final String SERVICE_MANAGER_ATTRIBUTE = "serviceManager";
+	private static final String EXECUTION_NODE_ATTRIBUTE = "node";
 	private static final String KBASE_ATTRIBUTE = "kbase";
 	private static final String TYPE_ATTRIBUTE = "type";
 
@@ -32,9 +32,9 @@
 
 		factory.addPropertyReference("kbase", kbase);
 
-		String smRef = element.getAttribute(SERVICE_MANAGER_ATTRIBUTE);
-		if (smRef != null && smRef.length() > 0) {
-			factory.addPropertyReference("serviceManager", smRef);
+		String node = element.getAttribute(EXECUTION_NODE_ATTRIBUTE);
+		if (node != null && node.length() > 0) {
+			factory.addPropertyReference("node", node);
 		}
 
 		String name = element.getAttribute(NAME_ATTRIBUTE);

Deleted: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ServiceManagerDefinitionParser.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ServiceManagerDefinitionParser.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/ServiceManagerDefinitionParser.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,81 +0,0 @@
-package org.drools.container.spring.namespace;
-
-import org.drools.vsm.ServiceManager;
-import org.drools.vsm.local.ServiceManagerLocalClient;
-import org.springframework.beans.factory.config.ConstructorArgumentValues;
-import org.springframework.beans.factory.config.RuntimeBeanReference;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.support.ManagedMap;
-import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class ServiceManagerDefinitionParser extends AbstractSingleBeanDefinitionParser  {
-    protected Class<?> getBeanClass(Element element) {
-        return ServiceManager.class;
-     }
-
-	@SuppressWarnings("unchecked")
-	protected void doParse(Element element, BeanDefinitionBuilder bean) {
-		bean.getRawBeanDefinition().setBeanClassName("org.drools.container.spring.SpringDroolsFactory");
-		bean.getRawBeanDefinition().setFactoryMethodName("buildServiceManager");
-
-		// List<Resource> resources = new ArrayList<Resource>();
-
-		// Collection<RegistryEntry> registryEntries = new ArrayList<RegistryEntry>();
-
-		ManagedMap map = new ManagedMap();
-		NodeList registryList = element.getChildNodes();
-		for (int i = 0, registryListLength = registryList.getLength(); i < registryListLength; i++) {
-			Node resourceNode = registryList.item(i);
-			if (resourceNode.getNodeType() == Node.ELEMENT_NODE) {
-				Element resourceElement = (Element) resourceNode;
-				String name = resourceElement.getAttribute("name");
-				String ref = resourceElement.getAttribute("ref");
-
-				emptyAttributeCheck("resource", "ref", ref);
-
-				if (name == null || name.trim().length() == 0) {
-					map.put(ref, new RuntimeBeanReference(ref));
-				} else {
-					map.put(name, new RuntimeBeanReference(ref));
-				}
-			}
-		}
-		String implementationName = element.getAttribute("class");
-		Class<? extends ServiceManager> clazz;
-		ConstructorArgumentValues values = new ConstructorArgumentValues();
-		if (implementationName == null || implementationName.length() == 0) {
-			clazz = ServiceManagerLocalClient.class;
-		} else {
-			try {
-				clazz = (Class<? extends ServiceManager>) Class.forName(implementationName);
-			} catch (ClassNotFoundException e) {
-				throw new IllegalStateException(e);
-			}
-		}
-
-		values.addGenericArgumentValue(clazz);
-		values.addGenericArgumentValue(map);
-
-		bean.getRawBeanDefinition().setConstructorArgumentValues(values);
-	}
-     
-     public void emptyAttributeCheck(final String element,
-                                     final String attributeName,
-                                     final String attribute) {
-         if ( attribute == null || attribute.trim().equals( "" ) ) {
-             throw new IllegalArgumentException( "<" + element + "> requires a '" + attributeName + "' attribute" );
-         }
-     }     
-
-//    protected AbstractBeanDefinition parseInternal(Element elm,
-//                                                   ParserContext ctx) {
-//        System.out.println( elm.getAttribute( "value" ) );
-//        
-//        
-//        return elm.getAttribute( "value" );
-//    }
-
-}

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsHandler.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/java/org/drools/container/spring/namespace/SpringDroolsHandler.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -5,7 +5,6 @@
 public class SpringDroolsHandler extends NamespaceHandlerSupport {
 
     public void init() {
-    	//registerBeanDefinitionParser("serviceManager", new ServiceManagerDefinitionParser());
     	
     	registerBeanDefinitionParser("resource", new ResourceDefinitionParser());
     	
@@ -17,12 +16,10 @@
         
         registerBeanDefinitionParser("ksession", new KnowledgeSessionDefinitionParser());
         
-        registerBeanDefinitionParser("service", new KnowledgeServiceDefinitionParser());
+        registerBeanDefinitionParser("connection", new ConnectionDefinitionParser());
         
-        registerBeanDefinitionParser("service-conf", new KnowledgeServiceConfigurationDefinitionParser());
+        registerBeanDefinitionParser("execution-node", new ExecutionNodeDefinitionParser());
         
-        registerBeanDefinitionParser("service-conf-ref", new KnowledgeServiceConfigurationRefDefinitionParser());
-
     }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-service-spring.xsd
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-service-spring.xsd	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-service-spring.xsd	2010-04-07 20:35:31 UTC (rev 32471)
@@ -42,7 +42,7 @@
 				<xsd:element name="configuration-ref" type="serviceConfRefType" minOccurs="0" maxOccurs="unbounded" />
 			</xsd:sequence>
 			<xsd:attribute name="id" use="required" type="xsd:ID"/>
-			<xsd:attribute name="smId" use="required" type="xsd:string"/>
+			<xsd:attribute name="node" use="required" type="xsd:string"/>
 			<xsd:attribute name="camelContext" use="required" type="xsd:string"/>
 		</xsd:complexType>
 	</xsd:element>

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring.xsd
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring.xsd	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring.xsd	2010-04-07 20:35:31 UTC (rev 32471)
@@ -5,6 +5,13 @@
 	elementFormDefault="qualified" 
 	attributeFormDefault="unqualified">
 
+	<xsd:simpleType name="connectionTypeEnum">
+		<xsd:restriction base="xsd:string">
+			<xsd:enumeration value="local" />
+			<xsd:enumeration value="remote" />
+		</xsd:restriction>
+	</xsd:simpleType>
+
 	<xsd:simpleType name="knowledgeSessionTypeEnum">
 		<xsd:restriction base="xsd:string">
 			<xsd:enumeration value="stateful" />
@@ -71,7 +78,7 @@
 				<xsd:element name="model" type="modelType" minOccurs="0" maxOccurs="unbounded"/>
 			</xsd:sequence>
 			<xsd:attribute name="id" use="optional" type="xsd:ID"/>
-			<xsd:attribute name="serviceManager" use="optional" type="xsd:string"/>
+			<xsd:attribute name="node" use="optional" type="xsd:string"/>
 		</xsd:complexType>
 	</xsd:element>
 
@@ -80,27 +87,23 @@
 			<xsd:attribute name="type" use="required" type="knowledgeSessionTypeEnum"/>
 			<xsd:attribute name="kbase" use="required" type="xsd:string"/>
 			<xsd:attribute name="id" use="optional" type="xsd:ID"/>
-			<xsd:attribute name="serviceManager" use="optional" type="xsd:string"/>
+			<xsd:attribute name="node" use="optional" type="xsd:string"/>
 			<xsd:attribute name="name" use="optional" type="xsd:string"/>
 		</xsd:complexType>
 	</xsd:element>
+	
+	<xsd:element name="connection">
+		<xsd:complexType>
+			<xsd:attribute name="id" use="optional" type="xsd:ID"/>
+			<xsd:attribute name="type" use="required" type="connectionTypeEnum"/>
+		</xsd:complexType>
+	</xsd:element>
 
-	<!-- 
-	<xsd:element name="serviceManager">
-		
+	<xsd:element name="execution-node">
 		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="register" maxOccurs="unbounded">
-					<xsd:complexType>				
-						<xsd:attribute name="name" use="optional" />
-						<xsd:attribute name="ref" use="required" />
-					</xsd:complexType>
-				</xsd:element>
-			</xsd:sequence>
-			<xsd:attribute name="id" use="required" />
-			<xsd:attribute name="class" default="org.drools.vsm.local.ServiceManagerLocalClient" use="optional" type="xsd:string"/>
+			<xsd:attribute name="id" use="optional" type="xsd:ID"/>
+			<xsd:attribute name="connection" use="required" type="xsd:string"/>
 		</xsd:complexType>
-	</xsd:element>	
-	 -->
-	 
+	</xsd:element>
+
 </xsd:schema>

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/SpringDroolsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/SpringDroolsTest.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/java/org/drools/container/spring/SpringDroolsTest.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -5,25 +5,26 @@
 
 import junit.framework.TestCase;
 
+import org.drools.KnowledgeBase;
 import org.drools.Person;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.grid.ExecutionNode;
 import org.drools.runtime.StatefulKnowledgeSession;
 import org.drools.runtime.StatelessKnowledgeSession;
 import org.drools.server.KnowledgeService;
 import org.drools.server.profile.KnowledgeServiceConfiguration;
-import org.drools.vsm.ServiceManager;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class SpringDroolsTest extends TestCase {
 	public void test1() throws Exception {		
 		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );
-		
+
 		List<String> list = new ArrayList<String>();
 		StatelessKnowledgeSession kstateless = (StatelessKnowledgeSession) context.getBean( "ksession1" );
 		kstateless.setGlobal( "list", list );
 		kstateless.execute( new Person( "Darth", "Cheddar", 50 ) );
 		assertEquals( 2, list.size() );
-		
-		
+
 		list = new ArrayList<String>();
 		StatefulKnowledgeSession kstateful = ((StatefulKnowledgeSession)context.getBean( "ksession2" ));
 		kstateful.setGlobal( "list", list );
@@ -31,30 +32,32 @@
 		kstateful.fireAllRules();	
 		assertEquals( 2, list.size() );
 	}
-	
+
 	public void test2() {
-        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );
-        
-        ServiceManager sm = (ServiceManager)context.getBean( "sm1" );
-        
-        List<String> list = new ArrayList<String>();
-        StatelessKnowledgeSession kstateless = (StatelessKnowledgeSession)sm.lookup( "stateless1" );
-        assertNotNull("can't obtain session named: stateless1" , kstateless);
-        kstateless.setGlobal( "list", list );
-        kstateless.execute( new Person( "Darth", "Cheddar", 50 ) );
-        assertEquals( 2, list.size() );
-        
-        
-        list = new ArrayList<String>();
-        StatefulKnowledgeSession kstateful = ( StatefulKnowledgeSession ) sm.lookup( "ksession2" );
-        kstateful.setGlobal( "list", list );
-        kstateful.insert( new Person( "Darth", "Cheddar", 50 ) );
-        kstateful.fireAllRules();   
-        assertEquals( 2, list.size() );	    
+		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );
+
+		ExecutionNode node = (ExecutionNode) context.getBean("node1");
+		List<String> list = new ArrayList<String>();
+		StatelessKnowledgeSession kstateless = (StatelessKnowledgeSession) node.get(DirectoryLookupFactoryService.class).lookup("stateless1");
+		assertNotNull("can't obtain session named: stateless1" , kstateless);
+		kstateless.setGlobal("list", list);
+		kstateless.execute(new Person("Darth", "Cheddar", 50));
+		assertEquals(2, list.size());
+
+		list = new ArrayList<String>();
+		StatefulKnowledgeSession kstateful = (StatefulKnowledgeSession) node.get(DirectoryLookupFactoryService.class).lookup("ksession2");
+		kstateful.setGlobal("list", list);
+		kstateful.insert(new Person("Darth", "Cheddar", 50));
+		kstateful.fireAllRules();   
+		assertEquals(2, list.size());
 	}
-	
+
 	public void test3() {
 		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );
+		assertNotNull(context.getBean("connection1"));
+		assertNotNull(context.getBean("node1"));
+		KnowledgeBase bean = (KnowledgeBase) context.getBean("kbase1");
+		assertNotNull(bean);
 		KnowledgeServiceConfiguration kserviceConf1 = (KnowledgeServiceConfiguration)context.getBean( "service-conf-1" );
 		assertNotNull(kserviceConf1);
 		assertEquals("XSTREAM", kserviceConf1.getMarshaller());

Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/beans.xml
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/beans.xml	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/beans.xml	2010-04-07 20:35:31 UTC (rev 32471)
@@ -9,14 +9,15 @@
                            http://drools.org/schema/drools-service-spring http://drools.org/schema/drools-service-spring.xsd
                            http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
 
-
 <camelContext id="executionContext" xmlns="http://camel.apache.org/schema/spring" />
 
-<bean id="sm1" class="org.drools.vsm.local.ServiceManagerLocalClient" />
+<drools:connection id="connection1" type="local" />
 
+<drools:execution-node id="node1" connection="connection1" />
+
 <drools:resource id="resource1" type="DRL" source="classpath:org/drools/container/spring/testSpring.drl"/>
 
-<drools:kbase id="kbase1" serviceManager="sm1">
+<drools:kbase id="kbase1" node="node1">
 	<drools:resource source="classpath:org/drools/container/spring/IntegrationExampleTest.xls" type="DTABLE">
 		<drools:decisiontable-conf input-type="XLS" worksheet-name="Tables_2" />
 	</drools:resource>
@@ -24,15 +25,15 @@
 	<drools:model source="classpath:org/drools/container/spring/model.xsd" />
 </drools:kbase>
 
-<drools:ksession id="ksession1" type="stateless" name="stateless1" kbase="kbase1" serviceManager="sm1"/>
+<drools:ksession id="ksession1" type="stateless" name="stateless1" kbase="kbase1" node="node1"/>
 
-<drools:ksession id="ksession2" type="stateful" kbase="kbase1" serviceManager="sm1"/>
+<drools:ksession id="ksession2" type="stateful" kbase="kbase1" node="node1"/>
 
 <drools-service:configuration id="service-conf-1" marshaller="XSTREAM" session="ksession1">
 	<drools-service:class>org.drools.model.Person</drools-service:class>
 </drools-service:configuration>
 
-<drools-service:definition id="service" smId="sm1" camelContext="executionContext">
+<drools-service:definition id="service" node="node1" camelContext="executionContext">
 	<drools-service:configuration marshaller="JAXB" session="ksession2" />
 	<drools-service:configuration-ref id="service-conf-1" />
 </drools-service:definition>

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/KnowledgeCommandContext.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/KnowledgeCommandContext.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/command/impl/KnowledgeCommandContext.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -6,10 +6,7 @@
 import org.drools.command.ContextManager;
 import org.drools.runtime.ExecutionResults;
 import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.impl.ExecutionResultImpl;
-import org.drools.runtime.pipeline.impl.ServiceManagerPipelineImpl;
 import org.drools.runtime.process.WorkItemManager;
-import org.drools.vsm.ServiceManager;
 
 public class KnowledgeCommandContext
     implements
@@ -52,11 +49,6 @@
         return this.kresults;
     }
     
-    public ServiceManager getServiceManager() {
-        return null;
-        // return this.context.get( ServiceManagerPipelineImpl )
-    }
-
     public ContextManager getContextManager() {
         return context.getContextManager();
     }

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecutionNodePipelineContextImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecutionNodePipelineContextImpl.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecutionNodePipelineContextImpl.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -0,0 +1,37 @@
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.grid.ExecutionNode;
+import org.drools.runtime.CommandExecutor;
+import org.drools.runtime.pipeline.ResultHandler;
+import org.drools.runtime.pipeline.impl.BasePipelineContext;
+
+public class ExecutionNodePipelineContextImpl extends BasePipelineContext {
+
+    private ExecutionNode node;
+    private CommandExecutor commandExecutor;
+
+    public ExecutionNodePipelineContextImpl(ExecutionNode node,
+                                             ClassLoader classLoader) {
+        this( node, classLoader, null );
+    }
+
+    public ExecutionNodePipelineContextImpl(ExecutionNode node,
+                                             ClassLoader classLoader,
+                                             ResultHandler resultHandler) {
+        super( classLoader, resultHandler );
+        this.node = node;
+    }
+
+    public ExecutionNode getExecutionNode() {
+        return this.node;
+    }
+
+    public CommandExecutor getCommandExecutor() {
+        return this.commandExecutor;
+    }
+
+    public void setCommandExecutor(CommandExecutor commandExecutor) {
+        this.commandExecutor = commandExecutor;
+    }
+
+}


Property changes on: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecutionNodePipelineContextImpl.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecutionNodePipelineImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecutionNodePipelineImpl.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecutionNodePipelineImpl.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -0,0 +1,18 @@
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.grid.ExecutionNode;
+import org.drools.runtime.pipeline.Pipeline;
+import org.drools.runtime.pipeline.ResultHandler;
+
+public class ExecutionNodePipelineImpl extends BaseEmitter implements Pipeline {
+	private ExecutionNode node;
+
+	public ExecutionNodePipelineImpl(ExecutionNode node) {
+		this.node = node;
+	}
+
+	public synchronized void insert(Object object, ResultHandler resultHandler) {
+		emit(object, new ExecutionNodePipelineContextImpl(this.node, null, resultHandler));
+	}
+
+}


Property changes on: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecutionNodePipelineImpl.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/pom.xml	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/pom.xml	2010-04-07 20:35:31 UTC (rev 32471)
@@ -19,7 +19,6 @@
             <id>camel</id>
             <name>camel</name>
             <url>https://repository.apache.org/content/repositories/snapshots/</url>
-            
         </repository>
     </repositories>
     <dependencies>
@@ -45,8 +44,8 @@
         </dependency>
         <dependency>
             <groupId>org.drools</groupId>
-            <artifactId>drools-vsm</artifactId>
-            <scope>test</scope>
+            <artifactId>drools-grid-core</artifactId>
+            <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.drools</groupId>
@@ -77,17 +76,6 @@
             <artifactId>xmlunit</artifactId>
             <version>1.2</version>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.5.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-jdk14</artifactId>
-            <version>1.5.2</version>
-        </dependency>
-
          <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-core</artifactId>

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsComponent.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsComponent.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsComponent.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -23,8 +23,7 @@
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.UuidGenerator;
-import org.drools.vsm.ServiceManager;
+import org.drools.grid.ExecutionNode;
 
 public class DroolsComponent extends DefaultComponent {
     // Property name *must* follow the Camel conventions (see org.apache.camel.Exchange)
@@ -37,8 +36,8 @@
     private static final AtomicInteger counter = new AtomicInteger();
     
     private CamelContext embeddedContext;
-    private ServiceManager serviceManager;
-    private String smId = "";
+    private ExecutionNode node;
+    private String nodeId = "";
 
     public DroolsComponent() {
     }
@@ -58,20 +57,20 @@
         embeddedContext = context;
     }
 
-    public String getServiceManagerId() {
-        return smId;
+    public String getExecutionNodeId() {
+        return nodeId;
     }
 
-    public void setServiceManagerId (String smId) {
-        this.smId = smId == null ? "" : smId;
+    public void setExecutionNodeId (String nodeId) {
+        this.nodeId = nodeId == null ? "" : nodeId;
     }
 
-    public ServiceManager getServiceManager() {
-        return serviceManager;
+    public ExecutionNode getExecutionNode() {
+        return node;
     }
 
-    public void setServiceManager(ServiceManager sm) {
-        serviceManager = sm;
+    public void setExecutionNode(ExecutionNode node) {
+        this.node = node;
     }
 
     /**

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsEndpoint.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsEndpoint.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsEndpoint.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -22,15 +22,17 @@
 import org.apache.camel.Producer;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.impl.DefaultEndpoint;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.grid.DirectoryNodeService;
+import org.drools.grid.ExecutionNode;
 import org.drools.runtime.CommandExecutor;
-import org.drools.vsm.ServiceManager;
 
 public class DroolsEndpoint extends DefaultEndpoint {
 
     private String ksession;
     private String pipeline;
     private CommandExecutor executor;
-    private ServiceManager serviceManager;
+    private ExecutionNode node;
 
     public DroolsEndpoint(String endpointUri, String remaining, DroolsComponent component) throws URISyntaxException {
         super(endpointUri, component);
@@ -42,7 +44,7 @@
     }
 
     public Producer createProducer() throws Exception {
-        return new DroolsProducer(this, serviceManager);
+        return new DroolsProducer(this, node);
     }
 
     public boolean isSingleton() {
@@ -69,8 +71,8 @@
         return executor;
     }
 
-    public ServiceManager getServiceManager() {
-        return serviceManager;
+    public ExecutionNode getExecutionNode() {
+        return node;
     }
 
     protected void configure(DroolsComponent component, String uri) {
@@ -79,28 +81,28 @@
 
         if (smId.length() > 0) {
             // initialize the component if needed
-            serviceManager = component.getServiceManager();
-            if (serviceManager == null) {
+            node = component.getExecutionNode();
+            if (node == null) {
                 // let's look it up
-                serviceManager = component.getCamelContext().getRegistry().lookup(smId, ServiceManager.class);
-                if (serviceManager == null) {
+                node = component.getCamelContext().getRegistry().lookup(smId, ExecutionNode.class);
+                if (node == null) {
                     throw new RuntimeCamelException("Could not find ServiceManager with id=\""
                         + smId + "\" in CamelContext. Check configuration.");
                 }
                 // use this ServiceManager
-                component.setServiceManagerId(smId);
-                component.setServiceManager(serviceManager);
-            } else if (!smId.equals(component.getServiceManagerId())) {
+                component.setExecutionNodeId(smId);
+                component.setExecutionNode(node);
+            } else if (!smId.equals(component.getExecutionNodeId())) {
                 // make sure we deal with the same ServiceManager.
                 // having multiple ServiceManagers instances in the same process is not supported
                 throw new RuntimeCamelException("ServiceManager already initialized from id=\""
-                    + component.getServiceManagerId() + "\" yet current endpoint requries id=\"" + smId + "\"");
+                    + component.getExecutionNodeId() + "\" yet current endpoint requries id=\"" + smId + "\"");
             }
             
             // if id is empty this endpoint is not attached to a CommandExecutor and will have to look it up at runtime.
             if (ksession.length() > 0) {
                 // lookup command executor
-                executor = serviceManager.lookup(ksession);
+                executor = node.get(DirectoryLookupFactoryService.class).lookup(ksession);
                 if (executor == null) {
                     throw new RuntimeCamelException("Failed to instantiate DroolsEndpoint. " 
                         + "Lookup of CommandExecutor with id=\"" + uri + "\" failed. Check configuration.");

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsProducer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsProducer.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsProducer.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -19,22 +19,22 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.impl.DefaultProducer;
+import org.drools.builder.DirectoryLookupFactoryService;
 import org.drools.command.Command;
+import org.drools.grid.ExecutionNode;
 import org.drools.runtime.CommandExecutor;
 import org.drools.runtime.ExecutionResults;
 import org.drools.runtime.pipeline.ResultHandler;
-import org.drools.vsm.ServiceManager;
 
 public class DroolsProducer extends DefaultProducer {
-    private ServiceManager serviceManager;
+    private ExecutionNode node;
     private CommandExecutor executor;
 
-    public DroolsProducer(Endpoint endpoint, ServiceManager serviceManager) {
+    public DroolsProducer(Endpoint endpoint, ExecutionNode node) {
         super(endpoint);
-        this.serviceManager = serviceManager;
-        
+        this.node = node;
         DroolsEndpoint de = (DroolsEndpoint) endpoint;
-        executor = serviceManager.lookup(de.getKsession());
+        executor = node.get(DirectoryLookupFactoryService.class).lookup(de.getKsession());
     }
 
     public void process(Exchange exchange) throws Exception {
@@ -42,8 +42,7 @@
         if (exec == null) {
             // need to look it up
             String ksession = exchange.getIn().getHeader(DroolsComponent.DROOLS_LOOKUP, String.class);
-            exec = serviceManager.lookup(ksession == null ? "" : ksession);
-            
+            exec = node.get(DirectoryLookupFactoryService.class).lookup(ksession == null ? "" : ksession);
             // cannot continue if executor is not available
             if (exec == null) {
                 throw new RuntimeCamelException("Null executor");

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsProxyEndpoint.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsProxyEndpoint.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsProxyEndpoint.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -23,10 +23,8 @@
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.model.RouteDefinition;
-import org.apache.camel.spi.DataFormat;
+import org.drools.grid.ExecutionNode;
 import org.drools.pipeline.camel.DroolsCamelContextInit;
-import org.drools.vsm.ServiceManager;
 
 public class DroolsProxyEndpoint extends DefaultEndpoint {
 
@@ -53,8 +51,8 @@
 
         if (builder == null) {
             String smId = DroolsComponent.getSessionManagerId(uri);
-            final ServiceManager sm = (ServiceManager)getCamelContext().getRegistry().lookup(smId);
-            if (sm == null) {
+            final ExecutionNode node = (ExecutionNode)getCamelContext().getRegistry().lookup(smId);
+            if (node == null) {
                 throw new RuntimeCamelException("Cannot find ServiceManager instance with id=\"" + 
                     smId + "\" in the CamelContext registry.");
             }
@@ -64,7 +62,7 @@
             builder = new RouteBuilder() {
                 public void configure() throws Exception {
                     // build the route step by step
-                    ProcessorDefinition<?> pipeline = from("direct:" + id).bean(new DroolsCamelContextInit(sm));
+                    ProcessorDefinition<?> pipeline = from("direct:" + id).bean(new DroolsCamelContextInit(node));
                     if (inFormat != null) {
                         pipeline = pipeline.unmarshal(inFormat);
                     }

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsXStreamDataFormat.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsXStreamDataFormat.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsXStreamDataFormat.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -22,15 +22,16 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.grid.ExecutionNode;
 import org.drools.impl.StatefulKnowledgeSessionImpl;
 import org.drools.impl.StatelessKnowledgeSessionImpl;
 import org.drools.reteoo.ReteooRuleBase;
 import org.drools.runtime.CommandExecutor;
 import org.drools.runtime.help.BatchExecutionHelper;
 import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.impl.ServiceManagerPipelineContextImpl;
+import org.drools.runtime.pipeline.impl.ExecutionNodePipelineContextImpl;
 import org.drools.runtime.pipeline.impl.XStreamResolverStrategy;
-import org.drools.vsm.ServiceManager;
 import org.w3c.dom.Document;
 
 import com.thoughtworks.xstream.XStream;
@@ -97,14 +98,13 @@
 			    throw new IllegalArgumentException(
 			            "Unable to lookup XStream parser using name '" + name + "'");
 			}
-			ServiceManagerPipelineContextImpl vsmContext = 
-			    (ServiceManagerPipelineContextImpl) exchange.getProperty("drools-context");
-			ServiceManager sm = vsmContext.getServiceManager();
-			CommandExecutor executor = sm.lookup(name);
+			ExecutionNodePipelineContextImpl executionNodeContext = (ExecutionNodePipelineContextImpl) exchange.getProperty("drools-context");
+			ExecutionNode node = executionNodeContext.getExecutionNode();
+			CommandExecutor executor = node.get(DirectoryLookupFactoryService.class).lookup(name);
 			if (executor == null) {
 			    throw new IllegalArgumentException("Unable to lookup CommandExecutor using name '" + name + "'");
 			}
-			vsmContext.setCommandExecutor(executor);
+			executionNodeContext.setCommandExecutor(executor);
 			ClassLoader cl = null;
 			if (executor instanceof StatefulKnowledgeSessionImpl) {
 			    cl = ((ReteooRuleBase) ((StatefulKnowledgeSessionImpl) executor).getRuleBase()).getRootClassLoader();
@@ -115,11 +115,11 @@
 			    throw new IllegalArgumentException("Unable to set ClassLoader on " + executor);
 			}
 			xstream.setClassLoader(cl);
-			vsmContext.setClassLoader(cl);
+			executionNodeContext.setClassLoader(cl);
 			Object payload = xstream.unmarshal(new DomReader(d));
 
-			context.getProperties().put("xstream-instance", xstream);
-			exchange.setProperty("drools-context", context);
+			executionNodeContext.getProperties().put("xstream-instance", xstream);
+			exchange.setProperty("drools-context", executionNodeContext);
 			return payload;
 		} catch (Exception e) {
 			e.printStackTrace();

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/AssignResultProcessor.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/AssignResultProcessor.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/AssignResultProcessor.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,36 +0,0 @@
-/*
- *  Copyright 2009 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.pipeline.camel;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.PipelineFactory;
-import org.drools.runtime.pipeline.impl.AssignObjectAsResult;
-
-/**
- *
- * @author salaboy
- */
-public class AssignResultProcessor implements Processor {
-
-    public void process(Exchange exchange) throws Exception {
-        AssignObjectAsResult assignResult = (AssignObjectAsResult) PipelineFactory.newAssignObjectAsResult();
-        assignResult.assignResult((PipelineContext) exchange.getProperty("drools-context"), exchange.getIn().getBody());
-
-    }
-}

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/BatchExecutorProcessor.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/BatchExecutorProcessor.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/BatchExecutorProcessor.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,41 +0,0 @@
-/*
- *  Copyright 2009 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.pipeline.camel;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.drools.runtime.ExecutionResults;
-import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.PipelineFactory;
-import org.drools.runtime.pipeline.impl.ExecutorStage;
-
-/**
- *
- * @author salaboy
- */
-public class BatchExecutorProcessor implements Processor{
-
-    public BatchExecutorProcessor() {
-    }
-
-    
-    public void process(Exchange exchange) {
-        ExecutorStage batchExecution = (ExecutorStage) PipelineFactory.newCommandExecutor();
-        ExecutionResults results = batchExecution.execute(exchange.getIn().getBody(), (PipelineContext) exchange.getProperty("drools-context"));
-        exchange.getIn().setBody(results);
-    }
-}

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelServiceManagerPipelineImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelServiceManagerPipelineImpl.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelServiceManagerPipelineImpl.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,77 +0,0 @@
-/*
- *  Copyright 2009 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.pipeline.camel;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.drools.runtime.pipeline.Pipeline;
-import org.drools.runtime.pipeline.Receiver;
-import org.drools.runtime.pipeline.ResultHandler;
-import org.drools.runtime.pipeline.StageExceptionHandler;
-import org.drools.runtime.pipeline.impl.ServiceManagerPipelineContextImpl;
-import org.drools.runtime.pipeline.impl.XStreamResolverStrategy;
-import org.drools.vsm.ServiceManager;
-
-/**
- *
- * @author salaboy
- */
-public class CamelServiceManagerPipelineImpl implements Pipeline {
-
-    private ServiceManager sm;
-    private CamelContext camelContext;
-    private ProducerTemplate template;
-    
-
-    public CamelServiceManagerPipelineImpl(ServiceManager sm, CamelContext context) {
-        this.sm = sm;
-        this.camelContext = context;
-        this.template = camelContext.createProducerTemplate();
-
-    }
-
-
-    public void startCamel() throws Exception{
-        this.camelContext.start();
-        this.template.start();
-    }
-
-    public void insert(Object object, ResultHandler resultHandler) {
-
-        template.sendBodyAndProperty("direct:start", (String)object,"drools-context",new ServiceManagerPipelineContextImpl(sm,null,resultHandler));
-    }
-
-    public void setStageExceptionHandler(StageExceptionHandler exceptionHandler) {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    public void setReceiver(Receiver receiver) {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    public Receiver getReceiver() {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    public CamelContext getCamelContext() {
-        return camelContext;
-    }
-    
-}

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelXStreamFromXmlVsmTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelXStreamFromXmlVsmTransformer.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelXStreamFromXmlVsmTransformer.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,44 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
-package org.drools.pipeline.camel;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.ResultHandler;
-import org.drools.runtime.pipeline.impl.XStreamFromXmlVsmTransformer;
-import org.drools.runtime.pipeline.impl.XStreamResolverStrategy;
-import org.drools.vsm.ServiceManager;
-
-/**
- *
- * @author salaboy
- */
-public class CamelXStreamFromXmlVsmTransformer implements Processor{
-    
-    private XStreamFromXmlVsmTransformer transformer;
-
-
-
-    public CamelXStreamFromXmlVsmTransformer(XStreamResolverStrategy xstreamStrategy) {
-
-        
-        this.transformer = new XStreamFromXmlVsmTransformer(xstreamStrategy);
-    }
-
-    public void process(Exchange exchange) throws Exception {
-        this.transformer.processPayload(exchange.getIn().getBody(), (PipelineContext)exchange.getProperty("drools-context"));
-        exchange.getIn().setBody(this.transformer.getPayload());
-        exchange.setProperty("drools-context",this.transformer.getContext() );
-    }
-
-   
-
-    
-
-    
-
-}

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelXStreamToXmlVsmTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelXStreamToXmlVsmTransformer.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/CamelXStreamToXmlVsmTransformer.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,31 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
-package org.drools.pipeline.camel;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.impl.XStreamToXmlVsmTransformer;
-
-/**
- *
- * @author salaboy
- */
-class CamelXStreamToXmlVsmTransformer implements Processor {
-    private XStreamToXmlVsmTransformer transformer;
-    
-    public CamelXStreamToXmlVsmTransformer() {
-        
-        this.transformer = new XStreamToXmlVsmTransformer();
-    }
-
-    public void process(Exchange exchange) throws Exception {
-        Object result = this.transformer.transform((PipelineContext)exchange.getProperty("drools-context"), exchange.getIn().getBody());
-        exchange.getIn().setBody(result);
-
-    }
-
-}

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/DroolsCamelContextInit.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/DroolsCamelContextInit.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/DroolsCamelContextInit.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -2,8 +2,8 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Handler;
-import org.drools.runtime.pipeline.impl.ServiceManagerPipelineContextImpl;
-import org.drools.vsm.ServiceManager;
+import org.drools.grid.ExecutionNode;
+import org.drools.runtime.pipeline.impl.ExecutionNodePipelineContextImpl;
 
 /**
  * Camel Processor to initialize the drools-camel context 
@@ -13,10 +13,10 @@
  */
 public class DroolsCamelContextInit {
 
-    private ServiceManagerPipelineContextImpl context;
+    private ExecutionNodePipelineContextImpl context;
 
-    public DroolsCamelContextInit(ServiceManager serviceManager) {
-        this.context = new ServiceManagerPipelineContextImpl(serviceManager, null);
+    public DroolsCamelContextInit(ExecutionNode node) {
+        this.context = new ExecutionNodePipelineContextImpl(node, null);
     }
 
     @Handler

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/DroolsContextInitProcessor.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/DroolsContextInitProcessor.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/DroolsContextInitProcessor.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,25 +0,0 @@
-package org.drools.pipeline.camel;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.drools.runtime.pipeline.impl.ServiceManagerPipelineContextImpl;
-
-/**
- * Camel Processor to initialize the drools-camel context 
- * 
- * @author Lucas Amador
- *
- */
-public class DroolsContextInitProcessor implements Processor {
-
-	private ServiceManagerPipelineContextImpl context;
-
-	public DroolsContextInitProcessor(ServiceManagerPipelineContextImpl context) {
-		this.context = context;
-	}
-
-	public void process(Exchange exchange) throws Exception {
-		exchange.setProperty("drools-context", context);
-	}
-
-}

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/ExecuteResultProcessor.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/ExecuteResultProcessor.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/ExecuteResultProcessor.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,36 +0,0 @@
-/*
- *  Copyright 2009 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.pipeline.camel;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.PipelineFactory;
-import org.drools.runtime.pipeline.impl.ExecuteResultHandler;
-
-/**
- *
- * @author salaboy
- */
-public class ExecuteResultProcessor implements Processor {
-
-    public void process(Exchange exchange) throws Exception {
-        ExecuteResultHandler executeResult = (ExecuteResultHandler) PipelineFactory.newExecuteResultHandler();
-        executeResult.handleResult((PipelineContext) exchange.getProperty("drools-context"), exchange.getIn().getBody());
-
-    }
-}

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/ToXmlNodeTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/ToXmlNodeTransformer.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/pipeline/camel/ToXmlNodeTransformer.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,62 +0,0 @@
-package org.drools.pipeline.camel;
-
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.StringReader;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.drools.io.Resource;
-import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.Transformer;
-import org.drools.runtime.pipeline.impl.BaseEmitter;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-
-public class ToXmlNodeTransformer extends BaseEmitter
-    implements
-    Transformer, Processor {
-
-    public void receive(Object object,
-                        PipelineContext context) {
-        Document d = processTranslate(object);
-
-        emit( d,
-              context );
-
-    }
-
-    public void process(Exchange exchange) throws Exception {
-        Document d = processTranslate(exchange.getIn().getBody());
-        exchange.getIn().setBody(d);
-    }
-
-    private Document processTranslate(Object object) {
-        // Create a DOM builder and parse the fragment
-        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-        Document d = null;
-        try {
-            d = factory.newDocumentBuilder().parse((InputSource) null);
-        } catch (Exception e) {
-        }
-        try {
-            if (object instanceof String) {
-                d = factory.newDocumentBuilder().parse(new InputSource(new StringReader((String) object)));
-            } else if (object instanceof Reader) {
-                d = factory.newDocumentBuilder().parse(new InputSource((Reader) object));
-            } else if (object instanceof InputStream) {
-                d = factory.newDocumentBuilder().parse((InputStream) object);
-            } else if (object instanceof Resource) {
-                d = factory.newDocumentBuilder().parse(new InputSource(((Resource) object).getReader()));
-            } else {
-                throw new IllegalArgumentException("signal object must be instance of InputStream or Resource");
-            }
-        } catch (Exception e) {
-            handleException(this, object, e);
-        }
-        return d;
-    }
-
-}

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -2,7 +2,6 @@
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
-import java.io.StringReader;
 import java.io.StringWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -22,7 +21,10 @@
 
 import org.apache.camel.builder.RouteBuilder;
 import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
 import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactoryService;
 import org.drools.builder.ResourceType;
 import org.drools.builder.help.KnowledgeBuilderHelper;
 import org.drools.command.runtime.BatchExecutionCommand;
@@ -221,7 +223,7 @@
 
 	@Override
 	protected StatefulKnowledgeSession registerKnowledgeRuntime(String identifier, String rule) {
-		KnowledgeBuilder kbuilder = serviceManager.getKnowledgeBuilderFactoryService().newKnowledgeBuilder();
+		KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
 
 		Options xjcOpts = new Options();
 		xjcOpts.setSchemaLanguage( Language.XMLSCHEMA );
@@ -335,7 +337,7 @@
 
 		assertFalse(kbuilder.hasErrors());
 
-		KnowledgeBase kbase = serviceManager.getKnowledgeBaseFactoryService().newKnowledgeBase();
+		KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
 		kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
 
 		// Add object model to classes array
@@ -352,7 +354,7 @@
 		}
 
 		StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
-		serviceManager.register(identifier, session);
+		node.get(DirectoryLookupFactoryService.class).register(identifier, session);
 		return session;
 	}
 

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -13,7 +13,10 @@
 
 import org.apache.camel.builder.RouteBuilder;
 import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
 import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactoryService;
 import org.drools.builder.ResourceType;
 import org.drools.builder.help.KnowledgeBuilderHelper;
 import org.drools.command.runtime.BatchExecutionCommand;
@@ -322,7 +325,7 @@
 
 	@Override
 	protected StatefulKnowledgeSession registerKnowledgeRuntime(String identifier, String rule) {
-		KnowledgeBuilder kbuilder = serviceManager.getKnowledgeBuilderFactoryService().newKnowledgeBuilder();
+		KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
 
 		Options xjcOpts = new Options();
 		xjcOpts.setSchemaLanguage( Language.XMLSCHEMA );
@@ -436,7 +439,7 @@
 
 		assertFalse(kbuilder.hasErrors());
 
-		KnowledgeBase kbase = serviceManager.getKnowledgeBaseFactoryService().newKnowledgeBase();
+		KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
 		kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
 
 		// Add object model to classes array
@@ -452,7 +455,7 @@
 		}
 
 		StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
-		serviceManager.register(identifier, session);
+		node.get(DirectoryLookupFactoryService.class).register(identifier, session);
 		return session;
 	}
 

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -14,7 +14,10 @@
 
 import org.apache.camel.builder.RouteBuilder;
 import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
 import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactoryService;
 import org.drools.builder.ResourceType;
 import org.drools.builder.help.KnowledgeBuilderHelper;
 import org.drools.command.runtime.BatchExecutionCommand;
@@ -151,7 +154,7 @@
 
 	@Override
 	protected StatefulKnowledgeSession registerKnowledgeRuntime(String identifier, String rule) {
-		KnowledgeBuilder kbuilder = serviceManager.getKnowledgeBuilderFactoryService().newKnowledgeBuilder();
+		KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
 
 		Options xjcOpts = new Options();
 		xjcOpts.setSchemaLanguage( Language.XMLSCHEMA );
@@ -265,7 +268,7 @@
 
 		assertFalse(kbuilder.hasErrors());
 
-		KnowledgeBase kbase = serviceManager.getKnowledgeBaseFactoryService().newKnowledgeBase();
+		KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
 		
 		classLoader = ((InternalRuleBase) ((KnowledgeBaseImpl) kbase).getRuleBase()).getRootClassLoader();
 		kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
@@ -282,7 +285,7 @@
 		}
 
 		StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
-		serviceManager.register(identifier, session);
+		node.get(DirectoryLookupFactoryService.class).register(identifier, session);
 		return session;
 	}
 

Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/DroolsCamelTestSupport.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/DroolsCamelTestSupport.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/DroolsCamelTestSupport.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -19,37 +19,38 @@
 
 import javax.naming.Context;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.ContextTestSupport;
 import org.custommonkey.xmlunit.Diff;
 import org.custommonkey.xmlunit.XMLAssert;
 import org.custommonkey.xmlunit.XMLUnit;
 import org.custommonkey.xmlunit.examples.RecursiveElementNameAndTextQualifier;
 import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.builder.DirectoryLookupFactoryService;
 import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactoryService;
 import org.drools.builder.ResourceType;
 import org.drools.definition.KnowledgePackage;
+import org.drools.grid.ExecutionNode;
+import org.drools.grid.local.LocalConnection;
 import org.drools.io.ResourceFactory;
-import org.drools.runtime.KnowledgeRuntime;
 import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.vsm.ServiceManager;
-import org.drools.vsm.local.ServiceManagerLocalClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public abstract class DroolsCamelTestSupport extends ContextTestSupport {
 	protected static final Logger LOG = LoggerFactory.getLogger(DroolsCamelTestSupport.class);
-    protected ServiceManager serviceManager;
+	protected ExecutionNode node;
 
-    public void setServiceManager(ServiceManager serviceManager) {
-        this.serviceManager = serviceManager;
-    }
+    public void setNode(ExecutionNode node) {
+		this.node = node;
+	}
 
-    public ServiceManager getServiceManager() {
-        return serviceManager;
-    }    
+	public ExecutionNode getNode() {
+		return node;
+	}
 
-    @Override
+	@Override
     public void setUp() throws Exception {
         super.setUp();
         
@@ -67,8 +68,10 @@
         // defined as below and remove this comment from here.
         Context context = super.createJndiContext();
 
-        serviceManager = new ServiceManagerLocalClient();
-        context.bind("sm", serviceManager);
+        LocalConnection connection = new LocalConnection();
+        node = connection.getExecutionNode(null);
+        node.setId("sm");
+        context.bind("sm", node);
 
         configureDroolsContext();
         return context;
@@ -77,7 +80,7 @@
     protected abstract void configureDroolsContext();
 
     protected StatefulKnowledgeSession registerKnowledgeRuntime(String identifier, String rule) {
-        KnowledgeBuilder kbuilder = serviceManager.getKnowledgeBuilderFactoryService().newKnowledgeBuilder();
+    	KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
         
         if (rule != null && rule.length() > 0) {
             kbuilder.add(ResourceFactory.newByteArrayResource(rule.getBytes()), ResourceType.DRL);
@@ -88,11 +91,13 @@
         }
         assertFalse(kbuilder.hasErrors());
         Collection<KnowledgePackage> pkgs = kbuilder.getKnowledgePackages();
-        KnowledgeBase kbase = serviceManager.getKnowledgeBaseFactoryService().newKnowledgeBase();
+        KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
 
         kbase.addKnowledgePackages(pkgs);
         StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
-        serviceManager.register(identifier, session);
+        
+        node.get(DirectoryLookupFactoryService.class).register(identifier, session);
+        
         return session;
     }
 

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/pipeline/camel/CamelPipelineTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/pipeline/camel/CamelPipelineTest.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/pipeline/camel/CamelPipelineTest.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,303 +0,0 @@
-/*
- *  Copyright 2009 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.pipeline.camel;
-
-import com.thoughtworks.xstream.XStream;
-import java.util.Collection;
-import junit.framework.TestCase;
-import org.apache.camel.CamelContext;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.spring.SpringCamelContext;
-import org.custommonkey.xmlunit.Diff;
-import org.custommonkey.xmlunit.XMLAssert;
-import org.custommonkey.xmlunit.XMLUnit;
-import org.custommonkey.xmlunit.examples.RecursiveElementNameAndTextQualifier;
-import org.drools.FactHandle;
-import org.drools.KnowledgeBase;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.ResourceType;
-import org.drools.common.InternalFactHandle;
-import org.drools.definition.KnowledgePackage;
-import org.drools.io.ResourceFactory;
-import org.drools.runtime.ExecutionResults;
-import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.help.BatchExecutionHelper;
-import org.drools.runtime.pipeline.Pipeline;
-import org.drools.runtime.pipeline.ResultHandler;
-import org.drools.runtime.pipeline.impl.XStreamResolverStrategy;
-import org.drools.vsm.ServiceManager;
-import org.drools.vsm.local.ServiceManagerLocalClient;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-/**
- *
- * @author salaboy
- * @author lucaz
- */
-public class CamelPipelineTest extends TestCase {
-
-    CamelContext camel = null;
-    private ClassPathXmlApplicationContext springCtx;
-
-    public CamelPipelineTest(String testName) {
-        super(testName);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    protected void setUp() throws Exception {
-        XMLUnit.setIgnoreComments(true);
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLUnit.setIgnoreAttributeOrder(true);
-        XMLUnit.setNormalizeWhitespace(true);
-        XMLUnit.setNormalize(true);
-        springCtx = new ClassPathXmlApplicationContext("applicationContext.xml");
-    }
-
-    public void testCamelPipelineWithVSM() throws Exception {
-
-        String inXml = "";
-        inXml += "<batch-execution lookup=\"ksession1\" >";
-        inXml += "  <insert out-identifier='salaboy'>";
-        inXml += "    <org.drools.pipeline.camel.Person>";
-        inXml += "      <name>salaboy</name>";
-        inXml += "    </org.drools.pipeline.camel.Person>";
-        inXml += "  </insert>";
-        inXml += "  <fire-all-rules />";
-        inXml += "</batch-execution>";
-
-        String rule = "";
-        rule += "package org.drools.pipeline.camel;\n" +
-                "import org.drools.pipeline.camel.Person;\n" +
-                "rule 'Check for Person'\n" +
-                " when\n" +
-                "   $p: Person()\n" +
-                " then\n" +
-                "   System.out.println(\"Person Name: \" + $p.getName());\n" +
-                "end\n";
-
-
-        ServiceManager sm = new ServiceManagerLocalClient();
-
-        StatefulKnowledgeSession ksession = getVmsSessionStateful(sm, rule);
-
-        sm.register("ksession1",
-                ksession);
-
-        XStreamResolverStrategy xstreamStrategy = new XStreamResolverStrategy() {
-
-            public XStream lookup(String name) {
-                return BatchExecutionHelper.newXStreamMarshaller();
-            }
-        };
-
-        ResultHandlerImpl resultHandler = new ResultHandlerImpl();
-        getCamelPipelineVms(sm,
-                xstreamStrategy).insert(inXml,
-                resultHandler);
-
-
-
-        String outXml = (String) resultHandler.getObject();
-
-        ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(outXml);
-        Person person = (Person) result.getValue("salaboy");
-        assertEquals("salaboy",
-                person.getName());
-
-        FactHandle factHandle = (FactHandle) result.getFactHandle("salaboy");
-        person = (Person) ksession.getObject(factHandle);
-        assertEquals("salaboy",
-                person.getName());
-
-        String expectedXml = "";
-        expectedXml += "<execution-results>\n";
-        expectedXml += "  <result identifier=\"salaboy\">\n";
-        expectedXml += "    <org.drools.pipeline.camel.Person>\n";
-        expectedXml += "      <name>salaboy</name>\n";
-        expectedXml += "    </org.drools.pipeline.camel.Person>\n";
-        expectedXml += "  </result>\n";
-        expectedXml += "  <fact-handle identifier=\"salaboy\" externalForm=\"" + ((InternalFactHandle) result.getFactHandle("salaboy")).toExternalForm() + "\" /> \n";
-        expectedXml += "</execution-results>\n";
-
-        assertXMLEqual(expectedXml,
-                outXml);
-    }
-
-    public void testCamelPipelineWithVSMAndSpring() throws Exception {
-
-        String inXml = "";
-        inXml += "<batch-execution lookup=\"ksession1\" >";
-        inXml += "  <insert out-identifier='salaboy'>";
-        inXml += "    <org.drools.pipeline.camel.Person>";
-        inXml += "      <name>salaboy</name>";
-        inXml += "    </org.drools.pipeline.camel.Person>";
-        inXml += "  </insert>";
-        inXml += "  <fire-all-rules />";
-        inXml += "</batch-execution>";
-
-        String rule = "";
-        rule += "package org.drools.pipeline.camel;\n" +
-                "import org.drools.pipeline.camel.Person;\n" +
-                "rule 'Check for Person'\n" +
-                " when\n" +
-                "   $p: Person()\n" +
-                " then\n" +
-                "   System.out.println(\"Person Name: \" + $p.getName());\n" +
-                "end\n";
-
-        ServiceManager sm = new ServiceManagerLocalClient();
-
-        StatefulKnowledgeSession ksession = getVmsSessionStateful(sm, rule);
-
-        sm.register("ksession1",
-                ksession);
-
-
-        ResultHandlerImpl resultHandler = new ResultHandlerImpl();
-
-        getCamelPipelineVmsSpring(sm).insert(inXml, resultHandler);
-        String outXml = (String) resultHandler.getObject();
-
-        ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(outXml);
-        Person person = (Person) result.getValue("salaboy");
-        assertEquals("salaboy",
-                person.getName());
-
-        FactHandle factHandle = (FactHandle) result.getFactHandle("salaboy");
-        person = (Person) ksession.getObject(factHandle);
-        assertEquals("salaboy",
-                person.getName());
-
-        String expectedXml = "";
-        expectedXml += "<execution-results>\n";
-        expectedXml += "  <result identifier=\"salaboy\">\n";
-        expectedXml += "    <org.drools.pipeline.camel.Person>\n";
-        expectedXml += "      <name>salaboy</name>\n";
-        expectedXml += "    </org.drools.pipeline.camel.Person>\n";
-        expectedXml += "  </result>\n";
-        expectedXml += "  <fact-handle identifier=\"salaboy\" externalForm=\"" + ((InternalFactHandle) result.getFactHandle("salaboy")).toExternalForm() + "\" /> \n";
-        expectedXml += "</execution-results>\n";
-
-        assertXMLEqual(expectedXml,
-                outXml);
-
-
-    }
-
-    private StatefulKnowledgeSession getVmsSessionStateful(ServiceManager sm,
-            String rule) throws Exception {
-        KnowledgeBuilder kbuilder = sm.getKnowledgeBuilderFactoryService().newKnowledgeBuilder();
-        kbuilder.add(ResourceFactory.newByteArrayResource(rule.getBytes()),
-                ResourceType.DRL);
-
-        if (kbuilder.hasErrors()) {
-            System.out.println(kbuilder.getErrors());
-        }
-
-        assertFalse(kbuilder.hasErrors());
-        Collection<KnowledgePackage> pkgs = kbuilder.getKnowledgePackages();
-
-        KnowledgeBase kbase = sm.getKnowledgeBaseFactoryService().newKnowledgeBase();
-
-        kbase.addKnowledgePackages(pkgs);
-        StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
-
-        return session;
-    }
-
-    private Pipeline getCamelPipelineVms(ServiceManager vsm, XStreamResolverStrategy xstreamStrategy) throws Exception {
-
-        Pipeline pipeline = new CamelServiceManagerPipelineImpl(vsm, new DefaultCamelContext());
-
-        ((CamelServiceManagerPipelineImpl) pipeline).getCamelContext().addRoutes(new PipelineRouteBuilder(vsm, xstreamStrategy));
-
-        ((CamelServiceManagerPipelineImpl) pipeline).startCamel();
-
-
-
-        return pipeline;
-    }
-
-    private Pipeline getCamelPipelineVmsSpring(ServiceManager vsm) throws Exception {
-
-        Pipeline pipeline = new CamelServiceManagerPipelineImpl(vsm, (SpringCamelContext) springCtx.getBean("camelContext"));
-
-        ((CamelServiceManagerPipelineImpl) pipeline).startCamel();
-
-
-
-        return pipeline;
-    }
-
-    public static class ResultHandlerImpl
-            implements
-            ResultHandler {
-
-        Object object;
-
-        public void handleResult(Object object) {
-            this.object = object;
-        }
-
-        public Object getObject() {
-            return this.object;
-        }
-    }
-
-    private void assertXMLEqual(String expectedXml,
-            String resultXml) {
-        try {
-            Diff diff = new Diff(expectedXml,
-                    resultXml);
-            diff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier());
-            XMLAssert.assertXMLEqual(diff,
-                    true);
-        } catch (Exception e) {
-            throw new RuntimeException("XML Assertion failure",
-                    e);
-        }
-    }
-}
-
-class PipelineRouteBuilder extends RouteBuilder {
-
-    private XStreamResolverStrategy xstreamStrategy;
-
-    public PipelineRouteBuilder(ServiceManager vsm, XStreamResolverStrategy xstreamStrategy) {
-
-        this.xstreamStrategy = xstreamStrategy;
-
-
-    }
-
-    public void configure() {
-        // START SNIPPET: example
-        from("direct:start")
-            .process(new ToXmlNodeTransformer())
-            .process(new CamelXStreamFromXmlVsmTransformer(xstreamStrategy))
-            .process(new BatchExecutorProcessor())
-            .process(new CamelXStreamToXmlVsmTransformer())
-            .process(new AssignResultProcessor())
-            .process(new ExecuteResultProcessor());
-        // END SNIPPET: example
-    }
-}

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/resources/applicationContext.xml
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/resources/applicationContext.xml	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/resources/applicationContext.xml	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:camel="http://camel.apache.org/schema/spring"
-	xsi:schemaLocation="
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
-       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
-
-	<bean id="xmlNodeTransformer" class="org.drools.pipeline.camel.ToXmlNodeTransformer" />
-	
-        <bean id="xstreamStrategy" class="org.drools.pipeline.camel.helper.MyXstreamLookupStrategy" />
-        <bean id="camelXStreamFromXmlVsmTransformer" class="org.drools.pipeline.camel.CamelXStreamFromXmlVsmTransformer" >
-           <constructor-arg ref="xstreamStrategy" />
-	</bean>
-	
-	<bean id="batchExecutorProcessor" class="org.drools.pipeline.camel.BatchExecutorProcessor" />
-
-	<bean id="camelXStreamToXmlVsmTransformer" class="org.drools.pipeline.camel.CamelXStreamToXmlVsmTransformer" />
-	
-	<bean id="assignResultProcessor" class="org.drools.pipeline.camel.AssignResultProcessor" />
-        
-        <bean id="executeResultProcessor" class="org.drools.pipeline.camel.ExecuteResultProcessor" />
-
-	<camel:camelContext id="camelContext">
-		<camel:route>
-			<camel:from uri="direct:start" />
-			<camel:process ref="xmlNodeTransformer" />
-			<camel:to uri="direct:xstreamTransformer" />
-		</camel:route>
-		<camel:route>
-			<camel:from uri="direct:xstreamTransformer" />
-			<camel:process ref="camelXStreamFromXmlVsmTransformer" />
-			<camel:to uri="direct:executor" />
-		</camel:route>
-		<camel:route>
-			<camel:from uri="direct:executor" />
-                        <camel:process ref="batchExecutorProcessor" />
-			<camel:to uri="direct:xstreamTransformerResult" />
-		</camel:route>
-		<camel:route>
-			<camel:from uri="direct:xstreamTransformerResult" />
-			<camel:process ref="camelXStreamToXmlVsmTransformer" />
-			<camel:to uri="direct:finalResult" />
-		</camel:route>
-		<camel:route>
-			<camel:from uri="direct:finalResult" />
-                        <camel:process ref="assignResultProcessor" />
-			<camel:to uri="direct:executeResult" />
-		</camel:route>
-		<camel:route>
-			<camel:from uri="direct:executeResult" />
-                        <camel:process ref="executeResultProcessor" />
-		</camel:route>
-	</camel:camelContext>
-	
-
-
-</beans>

Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/pom.xml	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/pom.xml	2010-04-07 20:35:31 UTC (rev 32471)
@@ -23,12 +23,6 @@
          <scope>test</scope>
       </dependency>
       <dependency>
-         <groupId>org.drools</groupId>
-         <artifactId>drools-vsm</artifactId>
-         <version>${project.version}</version>
-         <scope>test</scope>
-      </dependency>
-      <dependency>
          <groupId>com.thoughtworks.xstream</groupId>
          <artifactId>xstream</artifactId>
       </dependency>
@@ -38,6 +32,11 @@
          <version>1.2</version>
          <scope>test</scope>
       </dependency>
+      <dependency>
+      	<groupId>org.drools</groupId>
+      	<artifactId>drools-grid-core</artifactId>
+      	<version>${project.version}</version>
+      </dependency>
    </dependencies>
    <repositories>
       <repository>

Added: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlGridTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlGridTransformer.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlGridTransformer.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -0,0 +1,90 @@
+/**
+ * 
+ */
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.grid.ExecutionNode;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
+import org.drools.impl.StatelessKnowledgeSessionImpl;
+import org.drools.reteoo.ReteooRuleBase;
+import org.drools.runtime.CommandExecutor;
+import org.drools.runtime.pipeline.PipelineContext;
+import org.drools.runtime.pipeline.Transformer;
+import org.w3c.dom.Document;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomReader;
+
+public class XStreamFromXmlGridTransformer extends BaseEmitter
+    implements
+    Transformer {
+
+    private XStreamResolverStrategy strategy;
+    private Object payload;
+    private PipelineContext context;
+    
+    public XStreamFromXmlGridTransformer(XStreamResolverStrategy strategy) {
+        this.strategy = strategy;
+    }
+
+    public void receive(Object object,
+                        PipelineContext context) {            
+        this.payload = processPayload(object, context);
+        emit( this.payload,
+              context );
+    }
+
+    public Object processPayload(Object object, PipelineContext context) {
+        
+        try {
+            Document d = (Document) object;
+            String name = d.getDocumentElement().getAttribute("lookup");
+            XStream xstream = this.strategy.lookup(name);
+            if (xstream == null) {
+                throw new IllegalArgumentException("Unable to lookup XStream parser using name '" + name + "'");
+            }
+            ExecutionNodePipelineContextImpl executionNodeContext = (ExecutionNodePipelineContextImpl) context;
+            ExecutionNode node = executionNodeContext.getExecutionNode();
+            CommandExecutor executor = node.get(DirectoryLookupFactoryService.class).lookup(name);
+            if (executor == null) {
+                throw new IllegalArgumentException("Unable to lookup CommandExecutor using name '" + name + "'");
+            }
+            executionNodeContext.setCommandExecutor(executor);
+            ClassLoader cl = null;
+            if (executor instanceof StatefulKnowledgeSessionImpl) {
+                cl = ((ReteooRuleBase) (( StatefulKnowledgeSessionImpl ) executor).getRuleBase()).getRootClassLoader();
+                xstream.setClassLoader(cl);
+            } else if (executor instanceof StatelessKnowledgeSessionImpl) {
+                cl = ((ReteooRuleBase) (( StatelessKnowledgeSessionImpl ) executor).getRuleBase()).getRootClassLoader();
+            } else {
+                throw new IllegalArgumentException("Unable to set ClassLoader on " + executor);
+            }
+            xstream.setClassLoader(cl);
+            executionNodeContext.setClassLoader(cl);
+            payload = xstream.unmarshal(new DomReader(d));
+            context.getProperties().put("xstream-instance", xstream);
+            this.context = context;
+        } catch (Exception e) {
+            handleException(this, object, e);
+        }
+        return payload;
+    }
+
+    public Object getPayload() {
+        return payload;
+    }
+
+    public void setPayload(Object payload) {
+        this.payload = payload;
+    }
+
+    public PipelineContext getContext() {
+        return context;
+    }
+
+    public void setContext(PipelineContext context) {
+        this.context = context;
+    }
+    
+}
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlGridTransformer.java
___________________________________________________________________
Name: svn:eol-style
   + native

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlVsmTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlVsmTransformer.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlVsmTransformer.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,89 +0,0 @@
-/**
- * 
- */
-package org.drools.runtime.pipeline.impl;
-
-import org.drools.impl.StatefulKnowledgeSessionImpl;
-import org.drools.impl.StatelessKnowledgeSessionImpl;
-import org.drools.reteoo.ReteooRuleBase;
-import org.drools.runtime.CommandExecutor;
-import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.Transformer;
-import org.drools.vsm.ServiceManager;
-import org.w3c.dom.Document;
-
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.xml.DomReader;
-
-public class XStreamFromXmlVsmTransformer extends BaseEmitter
-    implements
-    Transformer {
-
-    private XStreamResolverStrategy strategy;
-    private Object payload;
-    private PipelineContext context;
-    
-    public XStreamFromXmlVsmTransformer(XStreamResolverStrategy strategy) {
-        this.strategy = strategy;
-    }
-
-    public void receive(Object object,
-                        PipelineContext context) {            
-        this.payload = processPayload(object, context);
-        emit( this.payload,
-              context );
-    }
-
-    public Object processPayload(Object object, PipelineContext context) {
-        
-        try {
-            Document d = (Document) object;
-            String name = d.getDocumentElement().getAttribute("lookup");
-            XStream xstream = this.strategy.lookup(name);
-            if (xstream == null) {
-                throw new IllegalArgumentException("Unable to lookup XStream parser using name '" + name + "'");
-            }
-            ServiceManagerPipelineContextImpl vsmContext = (ServiceManagerPipelineContextImpl) context;
-            ServiceManager sm = vsmContext.getServiceManager();
-            CommandExecutor executor = sm.lookup(name);
-            if (executor == null) {
-                throw new IllegalArgumentException("Unable to lookup CommandExecutor using name '" + name + "'");
-            }
-            vsmContext.setCommandExecutor(executor);
-            ClassLoader cl = null;
-            if (executor instanceof StatefulKnowledgeSessionImpl) {
-                cl = ((ReteooRuleBase) (( StatefulKnowledgeSessionImpl ) executor).getRuleBase()).getRootClassLoader();
-                xstream.setClassLoader(cl);
-            } else if (executor instanceof StatelessKnowledgeSessionImpl) {
-                cl = ((ReteooRuleBase) (( StatelessKnowledgeSessionImpl ) executor).getRuleBase()).getRootClassLoader();
-            } else {
-                throw new IllegalArgumentException("Unable to set ClassLoader on " + executor);
-            }
-            xstream.setClassLoader(cl);
-            vsmContext.setClassLoader(cl);
-            payload = xstream.unmarshal(new DomReader(d));
-            context.getProperties().put("xstream-instance", xstream);
-            this.context = context;
-        } catch (Exception e) {
-            handleException(this, object, e);
-        }
-        return payload;
-    }
-
-    public Object getPayload() {
-        return payload;
-    }
-
-    public void setPayload(Object payload) {
-        this.payload = payload;
-    }
-
-    public PipelineContext getContext() {
-        return context;
-    }
-
-    public void setContext(PipelineContext context) {
-        this.context = context;
-    }
-    
-}
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlGridTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlGridTransformer.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlGridTransformer.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -0,0 +1,43 @@
+/**
+ * 
+ */
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.runtime.pipeline.PipelineContext;
+import org.drools.runtime.pipeline.Transformer;
+
+import com.thoughtworks.xstream.XStream;
+
+public class XStreamToXmlGridTransformer extends BaseEmitter
+    implements
+    Transformer {
+    Object result = null;
+    public void receive(Object object,
+                        PipelineContext context) { 
+        this.result = transform(context, object);
+        
+        emit( result,
+              context );
+    }
+
+    public Object transform(PipelineContext context, Object object) {
+        XStream xstream = (XStream) context.getProperties().get( "xstream-instance" );
+        xstream.setClassLoader(context.getClassLoader());
+        Object result = null;
+        try {
+            result = xstream.toXML(object);
+        } catch (Exception e) {
+            handleException(this, object, e);
+        }
+        return result;
+    }
+
+    public Object getResult() {
+        return result;
+    }
+
+    public void setResult(Object result) {
+        this.result = result;
+    }
+    
+}
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlGridTransformer.java
___________________________________________________________________
Name: svn:eol-style
   + native

Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlVsmTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlVsmTransformer.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlVsmTransformer.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -1,50 +0,0 @@
-/**
- * 
- */
-package org.drools.runtime.pipeline.impl;
-
-import org.drools.impl.StatefulKnowledgeSessionImpl;
-import org.drools.impl.StatelessKnowledgeSessionImpl;
-import org.drools.reteoo.ReteooRuleBase;
-import org.drools.runtime.CommandExecutor;
-import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.Transformer;
-import org.drools.vsm.ServiceManager;
-import org.w3c.dom.Document;
-
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.xml.DomReader;
-
-public class XStreamToXmlVsmTransformer extends BaseEmitter
-    implements
-    Transformer {
-    Object result = null;
-    public void receive(Object object,
-                        PipelineContext context) { 
-        this.result = transform(context, object);
-        
-        emit( result,
-              context );
-    }
-
-    public Object transform(PipelineContext context, Object object) {
-        XStream xstream = (XStream) context.getProperties().get( "xstream-instance" );
-        xstream.setClassLoader(context.getClassLoader());
-        Object result = null;
-        try {
-            result = xstream.toXML(object);
-        } catch (Exception e) {
-            handleException(this, object, e);
-        }
-        return result;
-    }
-
-    public Object getResult() {
-        return result;
-    }
-
-    public void setResult(Object result) {
-        this.result = result;
-    }
-    
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamBatchExecutionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamBatchExecutionTest.java	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamBatchExecutionTest.java	2010-04-07 20:35:31 UTC (rev 32471)
@@ -21,15 +21,20 @@
 import org.drools.Cheese;
 import org.drools.KnowledgeBase;
 import org.drools.KnowledgeBaseFactory;
+import org.drools.KnowledgeBaseFactoryService;
 import org.drools.Person;
 import org.drools.TestVariable;
+import org.drools.builder.DirectoryLookupFactoryService;
 import org.drools.builder.KnowledgeBuilder;
 import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.KnowledgeBuilderFactoryService;
 import org.drools.builder.ResourceType;
 import org.drools.command.runtime.rule.ModifyCommand;
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalRuleBase;
 import org.drools.definition.KnowledgePackage;
+import org.drools.grid.ExecutionNode;
+import org.drools.grid.local.LocalConnection;
 import org.drools.impl.StatefulKnowledgeSessionImpl;
 import org.drools.io.Resource;
 import org.drools.io.ResourceFactory;
@@ -52,8 +57,6 @@
 import org.drools.runtime.process.WorkflowProcessInstance;
 import org.drools.runtime.rule.FactHandle;
 import org.drools.runtime.rule.QueryResultsRow;
-import org.drools.vsm.ServiceManager;
-import org.drools.vsm.local.ServiceManagerLocalClient;
 import org.xml.sax.SAXException;
 
 import com.thoughtworks.xstream.XStream;
@@ -1815,25 +1818,21 @@
         inXml += "  <fire-all-rules />";
         inXml += "</batch-execution>";
 
-        ServiceManager sm = new ServiceManagerLocalClient();
+        LocalConnection connection = new LocalConnection();
+        ExecutionNode node = connection.getExecutionNode(null);
 
-        StatefulKnowledgeSession ksession = getVsmSessionStateful( sm,
-                                                                   ResourceFactory.newByteArrayResource( str.getBytes() ) );
+        StatefulKnowledgeSession ksession = getExecutionNodeSessionStateful(node, ResourceFactory.newByteArrayResource( str.getBytes() ) );
 
-        sm.register( "ksession1",
-                     ksession );
+        node.get(DirectoryLookupFactoryService.class).register("ksession1", ksession);
 
         XStreamResolverStrategy xstreamStrategy = new XStreamResolverStrategy() {
             public XStream lookup(String name) {
                 return BatchExecutionHelper.newXStreamMarshaller();
             }
-
         };
 
         ResultHandlerImpl resultHandler = new ResultHandlerImpl();
-        getPipelineVsm( sm,
-                        xstreamStrategy ).insert( inXml,
-                                                  resultHandler );
+        getPipelineSessionStateful(node, xstreamStrategy).insert(inXml, resultHandler);
         String outXml = (String) resultHandler.getObject();
 
         ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML( outXml );
@@ -1883,29 +1882,28 @@
         return pipeline;
     }
 
-    private Pipeline getPipelineVsm(ServiceManager vsm,
-                                    XStreamResolverStrategy xstreamResolverStrategy) {
+    private Pipeline getPipelineSessionStateful(ExecutionNode node, XStreamResolverStrategy xstreamResolverStrategy) {
         Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
 
         Action assignResult = PipelineFactory.newAssignObjectAsResult();
         assignResult.setReceiver( executeResultHandler );
 
         //Transformer outTransformer = PipelineFactory.newXStreamToXmlTransformer( BatchExecutionHelper.newXStreamMarshaller() );
-        Transformer outTransformer = new XStreamToXmlVsmTransformer();
+        Transformer outTransformer = new XStreamToXmlGridTransformer();
         outTransformer.setReceiver( assignResult );
 
         KnowledgeRuntimeCommand batchExecution = PipelineFactory.newCommandExecutor();
         batchExecution.setReceiver( outTransformer );
 
         //Transformer inTransformer = PipelineFactory.newXStreamFromXmlTransformer( BatchExecutionHelper.newXStreamMarshaller() );
-        Transformer inTransformer = new XStreamFromXmlVsmTransformer( xstreamResolverStrategy );
+        Transformer inTransformer = new XStreamFromXmlGridTransformer( xstreamResolverStrategy );
         inTransformer.setReceiver( batchExecution );
 
         Transformer domTransformer = new ToXmlNodeTransformer();
         domTransformer.setReceiver( inTransformer );
 
         //Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
-        Pipeline pipeline = new ServiceManagerPipelineImpl( vsm );
+        Pipeline pipeline = new ExecutionNodePipelineImpl( node );
 
         pipeline.setReceiver( domTransformer );
 
@@ -1987,9 +1985,8 @@
         return session;
     }
 
-    private StatefulKnowledgeSession getVsmSessionStateful(ServiceManager sm,
-                                                           Resource resource) throws Exception {
-        KnowledgeBuilder kbuilder = sm.getKnowledgeBuilderFactoryService().newKnowledgeBuilder();
+    private StatefulKnowledgeSession getExecutionNodeSessionStateful(ExecutionNode node, Resource resource) throws Exception {
+        KnowledgeBuilder kbuilder = node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
         kbuilder.add( resource,
                       ResourceType.DRL );
 
@@ -2000,7 +1997,7 @@
         assertFalse( kbuilder.hasErrors() );
         Collection<KnowledgePackage> pkgs = kbuilder.getKnowledgePackages();
 
-        KnowledgeBase kbase = sm.getKnowledgeBaseFactoryService().newKnowledgeBase();
+        KnowledgeBase kbase = node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
 
         kbase.addKnowledgePackages( pkgs );
         StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();

Modified: labs/jbossrules/trunk/drools-server/drools-server-app/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/pom.xml	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/pom.xml	2010-04-07 20:35:31 UTC (rev 32471)
@@ -29,20 +29,6 @@
 	</dependency>
 	<dependency>
 		<groupId>org.drools</groupId>
-		<artifactId>drools-vsm</artifactId>
-		<exclusions>
-			<exclusion>
-				<groupId>org.drools</groupId>
-				<artifactId>drools-process-task</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>xml-apis</groupId>
-				<artifactId>xml-apis</artifactId>
-			</exclusion>
-		</exclusions>
-	</dependency>
-	<dependency>
-		<groupId>org.drools</groupId>
 		<artifactId>drools-compiler</artifactId>
 	</dependency>
 	<dependency>
@@ -53,6 +39,12 @@
 	<dependency>
 		<groupId>org.drools</groupId>
 		<artifactId>drools-spring</artifactId>
+		<exclusions>
+			<exclusion>
+				<groupId>org.drools</groupId>
+				<artifactId>drools-vsm</artifactId>
+			</exclusion>
+		</exclusions>
 	</dependency>
     <!-- CXF deps -->
 	<dependency>

Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/services-test.xml
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/services-test.xml	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/services-test.xml	2010-04-07 20:35:31 UTC (rev 32471)
@@ -19,7 +19,7 @@
 
 	<drools-service:configuration id="service-conf-2" marshaller="XSTREAM" session="ksession2" />
 	
-	<drools-service:definition id="service" smId="sm1" camelContext="executionContext">
+	<drools-service:definition id="service" node="node1" camelContext="executionContext">
 		<drools-service:configuration marshaller="JAXB" session="ksession1">
 			<drools-service:class>org.drools.model.Person</drools-service:class>
 			<drools-service:startup-command>

Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/sessions-test.xml
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/sessions-test.xml	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/sessions-test.xml	2010-04-07 20:35:31 UTC (rev 32471)
@@ -9,19 +9,22 @@
 		http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring.xsd"
     default-autowire="byName">
 
-    <bean id="sm1" class="org.drools.vsm.local.ServiceManagerLocalClient" />
 
-	<drools:kbase id="kbase1" serviceManager="sm1">
+	<drools:connection id="connection1" type="local" />
+	
+	<drools:execution-node id="node1" connection="connection1" />
+    
+	<drools:kbase id="kbase1" node="node1">
 		<drools:resource source="classpath:changesets/change-set-1.xml" type="CHANGE_SET" />
 		<drools:model source="classpath:model/person.xsd" />
 	</drools:kbase>
 
-	<drools:kbase id="kbase2" serviceManager="sm1">
+	<drools:kbase id="kbase2" node="node1">
 		<drools:resource source="classpath:changesets/change-set-2.xml" type="CHANGE_SET" />
 	</drools:kbase>
 
-	<drools:ksession id="ksession1" type="stateful"  kbase="kbase1" serviceManager="sm1"/>
+	<drools:ksession id="ksession1" type="stateful"  kbase="kbase1" node="node1"/>
 
-	<drools:ksession id="ksession2" type="stateless" kbase="kbase2" serviceManager="sm1"/>
+	<drools:ksession id="ksession2" type="stateless" kbase="kbase2" node="node1"/>
 
 </beans>
\ No newline at end of file

Modified: labs/jbossrules/trunk/pom.xml
===================================================================
--- labs/jbossrules/trunk/pom.xml	2010-04-07 19:40:57 UTC (rev 32470)
+++ labs/jbossrules/trunk/pom.xml	2010-04-07 20:35:31 UTC (rev 32471)
@@ -239,7 +239,6 @@
 <module>drools-api</module>
 <module>drools-core</module>
 <module>drools-compiler</module>
-<module>drools-vsm</module>
 <module>drools-grid</module>
 <module>drools-pipeline</module>
 <module>drools-container</module>
@@ -928,11 +927,6 @@
          </dependency>
          <dependency>
             <groupId>org.drools</groupId>
-            <artifactId>drools-vsm</artifactId>
-            <version>${project.version}</version>
-         </dependency>
-         <dependency>
-            <groupId>org.drools</groupId>
             <artifactId>drools-spring</artifactId>
             <version>${project.version}</version>
          </dependency>



More information about the jboss-svn-commits mailing list