[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