[jboss-svn-commits] JBL Code SVN: r32468 - in labs/jbossrules/trunk: drools-grid/drools-grid-core and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Apr 7 13:43:37 EDT 2010
Author: salaboy21
Date: 2010-04-07 13:43:36 -0400 (Wed, 07 Apr 2010)
New Revision: 32468
Added:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/JPAKnowledgeFactoryService.java
labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/
labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/drools.email.conf
labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/orm.xml
labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/persistence.xml
labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/jndi.properties
labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/jpa/grid/
labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/jpa/grid/JPAKnowledgeProviderLocalClient.java
Modified:
labs/jbossrules/trunk/drools-grid/drools-grid-core/pom.xml
labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/LocalConnection.java
labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/org/drools/grid/LocalExecutionNodeTest.java
Log:
JBRULES-2446: Drools Services API
- drools-grid-core adding JPAKnowledge Support for the local implementation (+ test), Remote and Grid support is still missing
Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/JPAKnowledgeFactoryService.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/JPAKnowledgeFactoryService.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/JPAKnowledgeFactoryService.java 2010-04-07 17:43:36 UTC (rev 32468)
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.builder;
+
+import org.drools.KnowledgeBase;
+import org.drools.runtime.Environment;
+import org.drools.runtime.KnowledgeSessionConfiguration;
+import org.drools.runtime.StatefulKnowledgeSession;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface JPAKnowledgeFactoryService {
+ StatefulKnowledgeSession newStatefulKnowledgeSession(KnowledgeBase kbase,
+ KnowledgeSessionConfiguration configuration,
+ Environment environment);
+
+ StatefulKnowledgeSession loadStatefulKnowledgeSession(int id,
+ KnowledgeBase kbase,
+ KnowledgeSessionConfiguration configuration,
+ Environment environment);
+}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/pom.xml 2010-04-07 16:03:18 UTC (rev 32467)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/pom.xml 2010-04-07 17:43:36 UTC (rev 32468)
@@ -60,6 +60,74 @@
<version>1.5.10</version>
</dependency>
+
+ <!-- Test deps -->
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-persistence-jpa</artifactId>
+ <version>5.1.0.SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.btm</groupId>
+ <artifactId>btm</artifactId>
+ <version>1.3.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.transaction</groupId>
+ <artifactId>jta</artifactId>
+ <version>1.0.1B</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.btm</groupId>
+ <artifactId>btm</artifactId>
+ <version>1.3.3</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- Persistence Provider: Hibernate -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>3.4.0.GA</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.4.0.GA</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-commons-annotations</artifactId>
+ <version>3.1.0.GA</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>3.3.0.SP1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- DB H2 -->
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>1.2.128</version>
+ <scope>test</scope>
+ </dependency>
+
+
</dependencies>
</project>
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/LocalConnection.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/LocalConnection.java 2010-04-07 16:03:18 UTC (rev 32467)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/main/java/org/drools/grid/local/LocalConnection.java 2010-04-07 17:43:36 UTC (rev 32468)
@@ -21,6 +21,7 @@
import java.util.List;
import org.drools.KnowledgeBaseFactoryService;
import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.builder.JPAKnowledgeFactoryService;
import org.drools.builder.KnowledgeBuilderFactoryService;
import org.drools.grid.DirectoryNodeService;
import org.drools.grid.ExecutionNode;
@@ -76,6 +77,7 @@
node.set(KnowledgeBuilderFactoryService.class, new KnowledgeBuilderProviderLocalClient() );
node.set(KnowledgeBaseFactoryService.class, new KnowledgeBaseProviderLocalClient() );
node.set(DirectoryLookupFactoryService.class, new DirectoryLookupProviderLocalClient());
+
return node;
}
Added: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/drools.email.conf
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/drools.email.conf (rev 0)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/drools.email.conf 2010-04-07 17:43:36 UTC (rev 32468)
@@ -0,0 +1,5 @@
+from = from at domain.com
+replyTo = replyTo at domain.com
+mail.smtp.host = localhost
+mail.smtp.port = 25
+defaultLanguage = en-UK
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/orm.xml
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/orm.xml (rev 0)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/orm.xml 2010-04-07 17:43:36 UTC (rev 32468)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+ version="1.0">
+ <named-query name="ProcessInstancesWaitingForEvent">
+ <query>
+select
+ processInstanceInfo.processInstanceId
+from
+ ProcessInstanceInfo processInstanceInfo
+where
+ :type in elements (processInstanceInfo.eventTypes)
+ </query>
+ </named-query>
+ </entity-mappings>
Added: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/persistence.xml
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/persistence.xml (rev 0)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/META-INF/persistence.xml 2010-04-07 17:43:36 UTC (rev 32468)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<persistence version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd
+http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/persistence">
+ <persistence-unit name="org.drools.persistence.jpa" transaction-type="JTA">
+ <provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <jta-data-source>jdbc/testDS1</jta-data-source>
+ <class>org.drools.persistence.session.SessionInfo</class>
+ <class>org.drools.persistence.processinstance.ProcessInstanceInfo</class>
+ <class>org.drools.persistence.processinstance.ProcessInstanceEventInfo</class>
+ <class>org.drools.persistence.processinstance.WorkItemInfo</class>
+ <class>org.drools.persistence.processinstance.variabletypes.VariableInstanceInfo</class>
+ <class>org.drools.persistence.processinstance.variabletypes.JPAPersistedVariable</class>
+
+ <properties>
+ <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
+
+ <property name="hibernate.connection.autocommit" value="false" />
+ <property name="hibernate.max_fetch_depth" value="3"/>
+ <property name="hibernate.hbm2ddl.auto" value="create" />
+ <property name="hibernate.show_sql" value="true" />
+ <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup"/>
+ </properties>
+ </persistence-unit>
+
+</persistence>
Added: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/jndi.properties
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/jndi.properties (rev 0)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/jndi.properties 2010-04-07 17:43:36 UTC (rev 32468)
@@ -0,0 +1 @@
+java.naming.factory.initial=bitronix.tm.jndi.BitronixInitialContextFactory
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/org/drools/grid/LocalExecutionNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/org/drools/grid/LocalExecutionNodeTest.java 2010-04-07 16:03:18 UTC (rev 32467)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-core/src/test/java/org/drools/grid/LocalExecutionNodeTest.java 2010-04-07 17:43:36 UTC (rev 32468)
@@ -17,8 +17,29 @@
package org.drools.grid;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.Persistence;
+import junit.framework.Assert;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.KnowledgeBaseFactoryService;
+import org.drools.base.MapGlobalResolver;
+import org.drools.builder.JPAKnowledgeFactoryService;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactoryService;
+import org.drools.builder.ResourceType;
import org.drools.grid.local.LocalConnection;
+import org.drools.io.ResourceFactory;
+import org.drools.persistence.jpa.grid.JPAKnowledgeProviderLocalClient;
+import org.drools.runtime.Environment;
+import org.drools.runtime.EnvironmentName;
+import org.drools.runtime.StatefulKnowledgeSession;
import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
/**
*
@@ -26,17 +47,94 @@
*/
public class LocalExecutionNodeTest extends ExecutionNodeBaseTest{
+ private static EntityManagerFactory entityManagerFactory;
+ private static PoolingDataSource dataSource;
public LocalExecutionNodeTest() {
}
-
+ @BeforeClass
+ public static void initializeEntityManager() {
+ System.out.println("Initializing Entity Manager");
+ entityManagerFactory = Persistence.createEntityManagerFactory("org.drools.persistence.jpa");
+ }
+ @BeforeClass
+ public static void initializeDataSource() {
+ System.out.println("Initializing Datasource");
+ dataSource = new PoolingDataSource();
+ dataSource.setUniqueName( "jdbc/testDS1" );
+ dataSource.setClassName( "org.h2.jdbcx.JdbcDataSource" );
+ dataSource.setMaxPoolSize( 3 );
+ dataSource.setAllowLocalTransactions( true );
+ dataSource.getDriverProperties().put( "user",
+ "sa" );
+ dataSource.getDriverProperties().put( "password",
+ "sasa" );
+ dataSource.getDriverProperties().put( "URL",
+ "jdbc:h2:mem:mydb" );
+ dataSource.init();
+ }
+
@Before
public void configureNode() {
connection = new LocalConnection();
+
node = connection.getExecutionNode(null);
+ node.set(JPAKnowledgeFactoryService.class, new JPAKnowledgeProviderLocalClient());
}
+
+ private Environment newEnvironment() {
+ Environment environment = KnowledgeBaseFactory.newEnvironment();
+ environment.set(EnvironmentName.ENTITY_MANAGER_FACTORY, entityManagerFactory);
+ environment.set(EnvironmentName.GLOBALS, new MapGlobalResolver());
+ environment.set(EnvironmentName.TRANSACTION_MANAGER, TransactionManagerServices.getTransactionManager());
+ return environment;
+ }
+
+ @Test
+ public void persistenceTest(){
+ Environment env = newEnvironment();
+ String str = "";
+ str += "package org.drools \n";
+ str += "global java.util.List list \n";
+ str += "rule rule1 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello1!!!\" ); \n";
+ str += "end \n";
+ str += "rule rule2 \n";
+ str += " dialect \"java\" \n";
+ str += "when \n";
+ str += "then \n";
+ str += " System.out.println( \"hello2!!!\" ); \n";
+ str += "end \n";
+
+
+ KnowledgeBuilder kbuilder =
+ node.get(KnowledgeBuilderFactoryService.class).newKnowledgeBuilder();
+ kbuilder.add( ResourceFactory.newByteArrayResource( str.getBytes() ),
+ ResourceType.DRL );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBase kbase =
+ node.get(KnowledgeBaseFactoryService.class).newKnowledgeBase();
+ Assert.assertNotNull(kbase);
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+
+ StatefulKnowledgeSession ksession = node
+ .get(JPAKnowledgeFactoryService.class)
+ .newStatefulKnowledgeSession(kbase, null, env);
+
+ Assert.assertNotNull(ksession);
+
+ }
Added: labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/jpa/grid/JPAKnowledgeProviderLocalClient.java
===================================================================
--- labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/jpa/grid/JPAKnowledgeProviderLocalClient.java (rev 0)
+++ labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/jpa/grid/JPAKnowledgeProviderLocalClient.java 2010-04-07 17:43:36 UTC (rev 32468)
@@ -0,0 +1,203 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.persistence.jpa.grid;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Properties;
+import org.drools.KnowledgeBase;
+import org.drools.SessionConfiguration;
+import org.drools.builder.JPAKnowledgeFactoryService;
+import org.drools.command.CommandService;
+import org.drools.command.impl.CommandBasedStatefulKnowledgeSession;
+import org.drools.persistence.processinstance.JPAProcessInstanceManagerFactory;
+import org.drools.persistence.processinstance.JPASignalManagerFactory;
+import org.drools.persistence.processinstance.JPAWorkItemManagerFactory;
+import org.drools.persistence.session.SingleSessionCommandService;
+import org.drools.process.instance.ProcessInstanceManagerFactory;
+import org.drools.process.instance.WorkItemManagerFactory;
+import org.drools.process.instance.event.SignalManagerFactory;
+import org.drools.runtime.Environment;
+import org.drools.runtime.KnowledgeSessionConfiguration;
+import org.drools.runtime.StatefulKnowledgeSession;
+
+/**
+ *
+ * @author salaboy
+ */
+public class JPAKnowledgeProviderLocalClient implements JPAKnowledgeFactoryService {
+ private Class<? extends CommandService> commandServiceClass;
+ private Class<? extends ProcessInstanceManagerFactory> processInstanceManagerFactoryClass;
+ private Class<? extends WorkItemManagerFactory> workItemManagerFactoryClass;
+ private Class<? extends SignalManagerFactory> processSignalManagerFactoryClass;
+
+ private Properties configProps = new Properties();
+
+ public JPAKnowledgeProviderLocalClient() {
+ setDefaultImplementations();
+ }
+
+ protected void setDefaultImplementations() {
+ setCommandServiceClass(SingleSessionCommandService.class);
+ setProcessInstanceManagerFactoryClass(JPAProcessInstanceManagerFactory.class);
+ setWorkItemManagerFactoryClass(JPAWorkItemManagerFactory.class);
+ setProcessSignalManagerFactoryClass(JPASignalManagerFactory.class);
+ }
+
+ public StatefulKnowledgeSession newStatefulKnowledgeSession(KnowledgeBase kbase,
+ KnowledgeSessionConfiguration configuration,
+ Environment environment) {
+ if (configuration == null) {
+ configuration = new SessionConfiguration();
+ }
+
+ if (environment == null) {
+ throw new IllegalArgumentException("Environment cannot be null");
+ }
+
+ return new CommandBasedStatefulKnowledgeSession(
+ buildCommanService(kbase, mergeConfig(configuration), environment));
+ }
+
+ public StatefulKnowledgeSession loadStatefulKnowledgeSession(int id,
+ KnowledgeBase kbase,
+ KnowledgeSessionConfiguration configuration,
+ Environment environment) {
+ if (configuration == null) {
+ configuration = new SessionConfiguration();
+ }
+
+ if (environment == null) {
+ throw new IllegalArgumentException("Environment cannot be null");
+ }
+
+ return new CommandBasedStatefulKnowledgeSession(
+ buildCommanService(id, kbase, mergeConfig(configuration), environment));
+ }
+
+ private CommandService buildCommanService(int sessionId,
+ KnowledgeBase kbase,
+ KnowledgeSessionConfiguration conf,
+ Environment env) {
+
+ try {
+ Class<? extends CommandService> serviceClass = getCommandServiceClass();
+ Constructor<? extends CommandService> constructor = serviceClass.getConstructor(int.class,
+ KnowledgeBase.class, KnowledgeSessionConfiguration.class, Environment.class);
+ return constructor.newInstance(sessionId, kbase, conf, env);
+ } catch (SecurityException e) {
+ throw new IllegalStateException(e);
+ } catch (NoSuchMethodException e) {
+ throw new IllegalStateException(e);
+ } catch (IllegalArgumentException e) {
+ throw new IllegalStateException(e);
+ } catch (InstantiationException e) {
+ throw new IllegalStateException(e);
+ } catch (IllegalAccessException e) {
+ throw new IllegalStateException(e);
+ } catch (InvocationTargetException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ private CommandService buildCommanService(KnowledgeBase kbase,
+ KnowledgeSessionConfiguration conf,
+ Environment env) {
+
+ Class<? extends CommandService> serviceClass = getCommandServiceClass();
+ try {
+ Constructor<? extends CommandService> constructor = serviceClass.getConstructor(KnowledgeBase.class,
+ KnowledgeSessionConfiguration.class, Environment.class);
+ return constructor.newInstance(kbase, conf, env);
+ } catch (SecurityException e) {
+ throw new IllegalStateException(e);
+ } catch (NoSuchMethodException e) {
+ throw new IllegalStateException(e);
+ } catch (IllegalArgumentException e) {
+ throw new IllegalStateException(e);
+ } catch (InstantiationException e) {
+ throw new IllegalStateException(e);
+ } catch (IllegalAccessException e) {
+ throw new IllegalStateException(e);
+ } catch (InvocationTargetException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ private KnowledgeSessionConfiguration mergeConfig(KnowledgeSessionConfiguration configuration) {
+ ((SessionConfiguration) configuration).addProperties(configProps);
+ return configuration;
+ }
+
+ public int getStatefulKnowledgeSessionId(StatefulKnowledgeSession ksession) {
+ if (ksession instanceof CommandBasedStatefulKnowledgeSession) {
+ SingleSessionCommandService commandService = (SingleSessionCommandService) ((CommandBasedStatefulKnowledgeSession) ksession)
+ .getCommandService();
+ return commandService.getSessionId();
+ }
+ throw new IllegalArgumentException("StatefulKnowledgeSession must be an a CommandBasedStatefulKnowledgeSession");
+ }
+
+ public void setCommandServiceClass(Class<? extends CommandService> commandServiceClass) {
+ if (commandServiceClass != null) {
+ this.commandServiceClass = commandServiceClass;
+ configProps.put("drools.commandService", commandServiceClass.getName());
+ }
+ }
+
+ public Class<? extends CommandService> getCommandServiceClass() {
+ return commandServiceClass;
+ }
+
+ public void setProcessInstanceManagerFactoryClass(
+ Class<? extends ProcessInstanceManagerFactory> processInstanceManagerFactoryClass) {
+ if (processInstanceManagerFactoryClass != null) {
+ this.processInstanceManagerFactoryClass = processInstanceManagerFactoryClass;
+ configProps.put("drools.processInstanceManagerFactory", processInstanceManagerFactoryClass.getName());
+ }
+ }
+
+ public Class<? extends ProcessInstanceManagerFactory> getProcessInstanceManagerFactoryClass() {
+ return processInstanceManagerFactoryClass;
+ }
+
+ public void setWorkItemManagerFactoryClass(Class<? extends WorkItemManagerFactory> workItemManagerFactoryClass) {
+ if (workItemManagerFactoryClass != null) {
+ this.workItemManagerFactoryClass = workItemManagerFactoryClass;
+ configProps.put("drools.workItemManagerFactory", workItemManagerFactoryClass.getName());
+ }
+ }
+
+ public Class<? extends WorkItemManagerFactory> getWorkItemManagerFactoryClass() {
+ return workItemManagerFactoryClass;
+ }
+
+ public void setProcessSignalManagerFactoryClass(
+ Class<? extends SignalManagerFactory> processSignalManagerFactoryClass) {
+ if (processSignalManagerFactoryClass != null) {
+ this.processSignalManagerFactoryClass = processSignalManagerFactoryClass;
+ configProps.put("drools.processSignalManagerFactory", processSignalManagerFactoryClass.getName());
+ }
+ }
+
+ public Class<? extends SignalManagerFactory> getProcessSignalManagerFactoryClass() {
+ return processSignalManagerFactoryClass;
+ }
+
+
+}
More information about the jboss-svn-commits
mailing list