Author: ainze
Date: 2009-02-26 09:30:35 -0500 (Thu, 26 Feb 2009)
New Revision: 4051
Added:
jbpm4/branches/ainze/modules/spring/src/
jbpm4/branches/ainze/modules/spring/src/main/
jbpm4/branches/ainze/modules/spring/src/main/java/
jbpm4/branches/ainze/modules/spring/src/main/java/org/
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/cfg/
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/cfg/SpringConfigurationFactoryBean.java
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/test/
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/test/AbstractTransactionalSpringJbpmTestCase.java
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/test/
jbpm4/branches/ainze/modules/spring/src/main/resources/
jbpm4/branches/ainze/modules/spring/src/test/
jbpm4/branches/ainze/modules/spring/src/test/java/
jbpm4/branches/ainze/modules/spring/src/test/java/org/
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/ExclusiveTest.java
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/StateTest.java
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/InvokeTestBean.java
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/SpringBeanTest.java
jbpm4/branches/ainze/modules/spring/src/test/resources/
jbpm4/branches/ainze/modules/spring/src/test/resources/org/
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/applicationContext.xml
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/beans/
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/beans/process.jpdl.xml
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/jbpm.cfg.xml
Log:
initial spring integration
Added:
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/cfg/SpringConfigurationFactoryBean.java
===================================================================
---
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/cfg/SpringConfigurationFactoryBean.java
(rev 0)
+++
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/cfg/SpringConfigurationFactoryBean.java 2009-02-26
14:30:35 UTC (rev 4051)
@@ -0,0 +1,66 @@
+/**
+ *
+ */
+package org.jbpm.spring.cfg;
+
+import org.hibernate.SessionFactory;
+import org.jbpm.pvm.internal.cfg.SpringConfiguration;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.FactoryBean;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+
+/**
+ * Factory that creates a singleton SpringConfiguration.
+ *
+ * @author Andries Inze
+ *
+ */
+public class SpringConfigurationFactoryBean implements FactoryBean,
ApplicationContextAware {
+
+ private String jbpmConfigurationLocation;
+ private SessionFactory sessionFactory;
+
+ private ApplicationContext applicationContext;
+
+ public Object getObject() throws Exception {
+ SpringConfiguration result = new SpringConfiguration(jbpmConfigurationLocation);
+ result.setApplicationContext(applicationContext);
+ result.setSessionFactory(sessionFactory);
+ return result;
+ }
+
+ /**
+ * {@inheritDoc)
+ */
+ @SuppressWarnings("unchecked")
+ public Class getObjectType() {
+ return SpringConfiguration.class;
+ }
+
+ /**
+ * {@inheritDoc)
+ */
+ public boolean isSingleton() {
+ return true;
+ }
+
+ /**
+ * @param jbpmConfigurationLocation the jbpmConfigurationLocation to set
+ */
+ public void setJbpmConfigurationLocation(String jbpmConfigurationLocation) {
+ this.jbpmConfigurationLocation = jbpmConfigurationLocation;
+ }
+
+ /**
+ * @param sessionFactory the sessionFactory to set
+ */
+ public void setSessionFactory(SessionFactory sessionFactory) {
+ this.sessionFactory = sessionFactory;
+ }
+
+ public void setApplicationContext(ApplicationContext applicationContext)
+ throws BeansException {
+ this.applicationContext = applicationContext;
+ }
+}
Property changes on:
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/cfg/SpringConfigurationFactoryBean.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/test/AbstractTransactionalSpringJbpmTestCase.java
===================================================================
---
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/test/AbstractTransactionalSpringJbpmTestCase.java
(rev 0)
+++
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/test/AbstractTransactionalSpringJbpmTestCase.java 2009-02-26
14:30:35 UTC (rev 4051)
@@ -0,0 +1,59 @@
+/**
+ *
+ */
+package org.jbpm.spring.test;
+
+import java.util.List;
+
+import org.jbpm.Configuration;
+import org.jbpm.ExecutionService;
+import org.jbpm.ManagementService;
+import org.jbpm.ProcessDefinition;
+import org.jbpm.ProcessEngine;
+import org.jbpm.ProcessService;
+import org.jbpm.TaskService;
+import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;
+
+/**
+ * Abstract test class that - builds the application context - runs in 1
+ * transaction - adds convenience methods: e.g. deploying a process.
+ *
+ * @author Andries Inze
+ *
+ */
+public abstract class AbstractTransactionalSpringJbpmTestCase extends
+ AbstractTransactionalDataSourceSpringContextTests {
+
+ private Configuration configuration;
+ private ProcessEngine processEngine;
+
+ protected ExecutionService executionService;
+ protected ProcessService processService;
+ protected TaskService taskService;
+ protected ManagementService managementService;
+ protected List<String> taskIds;
+
+ /**
+ * {@inheritDoc)
+ */
+ protected void injectDependencies() throws Exception {
+ super.injectDependencies();
+ configuration = (Configuration) applicationContext
+ .getBean("configuration");
+ processEngine = configuration.buildProcessEngine();
+ executionService = processEngine.getExecutionService();
+ processService = processEngine.getProcessService();
+ taskService = processEngine.getTaskService();
+ managementService = processEngine.getManagementService();
+ }
+
+ public void deployJpdlXmlString(String jpdlXmlString) {
+ processService.createDeployment().addString("xmlstring.jpdl.xml",
+ jpdlXmlString).deploy().getProcessDefinitions();
+ }
+
+ public void deployJpdlResource(String resource) {
+ processService.createDeployment().addResource(resource).deploy()
+ .getProcessDefinitions();
+ }
+}
Property changes on:
jbpm4/branches/ainze/modules/spring/src/main/java/org/jbpm/spring/test/AbstractTransactionalSpringJbpmTestCase.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/ExclusiveTest.java
===================================================================
---
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/ExclusiveTest.java
(rev 0)
+++
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/ExclusiveTest.java 2009-02-26
14:30:35 UTC (rev 4051)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jbpm.spring.test.activities;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jbpm.Execution;
+import org.jbpm.spring.test.AbstractTransactionalSpringJbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class ExclusiveTest extends AbstractTransactionalSpringJbpmTestCase {
+
+
+ @Override
+ protected String[] getConfigLocations() {
+ return new String[]{"org/jbpm/spring/test/applicationContext.xml"};
+ }
+
+ public void testExclusiveExpression() {
+ deployJpdlXmlString(
+ "<process name='Poolcar'>" +
+ " <start>" +
+ " <transition to='How far?' />" +
+ " </start>" +
+ " <exclusive name='How far?' expr='#{distance}'>"
+
+ " <transition name='far' to='Big car' />" +
+ " <transition name='nearby' to='Small car' />"
+
+ " </exclusive>" +
+ " <state name='Big car' />" +
+ " <state name='Small car' />" +
+ "</process>"
+ );
+
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("distance", "far");
+ Execution execution = executionService.startProcessInstanceByKey("Poolcar",
variables);
+ assertEquals("Big car", execution.getActivityName());
+
+ variables.put("distance", "nearby");
+ execution = executionService.startProcessInstanceByKey("Poolcar",
variables);
+ assertEquals("Small car", execution.getActivityName());
+ }
+
+ public void testExclusiveWithConditions() {
+ deployJpdlXmlString(
+ "<process name='Poolcar'>" +
+ " <start>" +
+ " <transition to='How far?' />" +
+ " </start>" +
+ " <exclusive name='How far?'>" +
+ " <transition to='Big car'>" +
+ " <condition expr='#{distance > 10}' />" +
+ " </transition>" +
+ " <transition to='Small car'>" +
+ " <condition expr='#{distance >= 3}' />" +
+ " </transition>" +
+ " <transition to='No car' />" +
+ " </exclusive>" +
+ " <state name='Big car' />" +
+ " <state name='Small car' />" +
+ " <state name='No car' />" +
+ "</process>"
+ );
+
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.put("distance", new Integer(69));
+ Execution execution = executionService.startProcessInstanceByKey("Poolcar",
variables);
+ assertEquals("Big car", execution.getActivityName());
+
+ variables.put("distance", new Integer(6));
+ execution = executionService.startProcessInstanceByKey("Poolcar",
variables);
+ assertEquals("Small car", execution.getActivityName());
+
+ variables.put("distance", new Integer(2));
+ execution = executionService.startProcessInstanceByKey("Poolcar",
variables);
+ assertEquals("No car", execution.getActivityName());
+ }
+
+}
Property changes on:
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/ExclusiveTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/StateTest.java
===================================================================
---
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/StateTest.java
(rev 0)
+++
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/StateTest.java 2009-02-26
14:30:35 UTC (rev 4051)
@@ -0,0 +1,44 @@
+/**
+ *
+ */
+package org.jbpm.spring.test.activities;
+
+import org.jbpm.Execution;
+import org.jbpm.spring.test.AbstractTransactionalSpringJbpmTestCase;
+
+/**
+ * @author AIEXM45
+ *
+ */
+public class StateTest extends AbstractTransactionalSpringJbpmTestCase {
+
+ /**
+ * {@inheritDoc)
+ */
+ @Override
+ protected String[] getConfigLocations() {
+ return new String[]{"org/jbpm/spring/test/applicationContext.xml"};
+ }
+
+ public void testWaitStatesSequence() {
+ deployJpdlXmlString("<process name='ThreeStates'>"
+ + " <start name='a'>" + " <transition
to='b' />" + " </start>"
+ + " <state name='b'>" + " <transition
to='c' />" + " </state>"
+ + " <state name='c'>" + " <transition
to='d' />" + " </state>"
+ + " <end name='d' />" + "</process>");
+
+ Execution execution = executionService
+ .startProcessInstanceById("ThreeStates:1");
+ assertEquals("b", execution.getActivityName());
+
+ String executionId = execution.getId();
+ execution = executionService.signalExecutionById(executionId);
+ assertEquals("c", execution.getActivityName());
+
+ execution = executionService.signalExecutionById(executionId);
+ assertEquals("d", execution.getActivityName());
+ assertTrue(execution.isEnded());
+ }
+
+
+}
Property changes on:
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/activities/StateTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/InvokeTestBean.java
===================================================================
---
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/InvokeTestBean.java
(rev 0)
+++
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/InvokeTestBean.java 2009-02-26
14:30:35 UTC (rev 4051)
@@ -0,0 +1,54 @@
+/**
+ *
+ */
+package org.jbpm.spring.test.beans;
+
+import org.jbpm.jpdl.ExclusiveHandler;
+import org.jbpm.model.OpenExecution;
+
+/**
+ * @author Andries Inze
+ *
+ */
+public class InvokeTestBean implements ExclusiveHandler {
+
+ private boolean testMethodHasRun;
+ private boolean testMethodWithParametersHasRun;
+ private boolean testSelectHasRun;
+
+ public void testMethod() {
+ testMethodHasRun = true;
+ }
+
+ public void testMethodWithParameters(String name) {
+ if ("a good test".equals(name)) {
+ testMethodWithParametersHasRun = true;
+ }
+ }
+
+ public String select(OpenExecution execution) {
+ testSelectHasRun = true;
+ return "yes";
+ }
+
+ /**
+ * @return the testMethodHasRun
+ */
+ public boolean isTestMethodHasRun() {
+ return testMethodHasRun;
+ }
+
+ /**
+ * @return the testMethodWithParametersHasRun
+ */
+ public boolean isTestMethodWithParametersHasRun() {
+ return testMethodWithParametersHasRun;
+ }
+
+ /**
+ * @return the testSelectHasRun
+ */
+ public boolean isTestSelectHasRun() {
+ return testSelectHasRun;
+ }
+}
Property changes on:
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/InvokeTestBean.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/SpringBeanTest.java
===================================================================
---
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/SpringBeanTest.java
(rev 0)
+++
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/SpringBeanTest.java 2009-02-26
14:30:35 UTC (rev 4051)
@@ -0,0 +1,35 @@
+/**
+ *
+ */
+package org.jbpm.spring.test.beans;
+
+import org.jbpm.Execution;
+import org.jbpm.spring.test.AbstractTransactionalSpringJbpmTestCase;
+
+/**
+ * @author AIEXM45
+ *
+ */
+public class SpringBeanTest extends AbstractTransactionalSpringJbpmTestCase {
+
+ /**
+ * {@inheritDoc)
+ */
+ @Override
+ protected String[] getConfigLocations() {
+ return new String[]{"org/jbpm/spring/test/applicationContext.xml"};
+ }
+
+ public void testInvokeSpringBean() {
+ deployJpdlResource("org/jbpm/spring/test/beans/process.jpdl.xml");
+
+ InvokeTestBean invokeTestBean = (InvokeTestBean)
applicationContext.getBean("testBean");
+
+ Execution execution = executionService
+ .startProcessInstanceByKey("Spring");
+ assertEquals("wait", execution.getActivityName());
+ assertTrue(invokeTestBean.isTestMethodHasRun());
+ assertTrue(invokeTestBean.isTestMethodWithParametersHasRun());
+ assertTrue(invokeTestBean.isTestSelectHasRun());
+ }
+}
Property changes on:
jbpm4/branches/ainze/modules/spring/src/test/java/org/jbpm/spring/test/beans/SpringBeanTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/applicationContext.xml
===================================================================
---
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/applicationContext.xml
(rev 0)
+++
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/applicationContext.xml 2009-02-26
14:30:35 UTC (rev 4051)
@@ -0,0 +1,105 @@
+<?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:aop="http://www.springframework.org/schema/aop"
+
xmlns:context="http://www.springframework.org/schema/context"
+
xmlns:tx="http://www.springframework.org/schema/tx"
+ xsi:schemaLocation="
+
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
+
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
+
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
+
+ <bean id="configuration"
class="org.jbpm.spring.cfg.SpringConfigurationFactoryBean">
+ <property name="jbpmConfigurationLocation"
value="org/jbpm/spring/test/jbpm.cfg.xml" />
+ <property name="sessionFactory" ref="sessionFactory" />
+ </bean>
+
+<!--
+ <bean id="configuration"
class="org.jbpm.spring.cfg.SpringConfiguration">
+ <constructor-arg value="org/jbpm/spring/test/jbpm.cfg.xml" />
+ <property name="sessionFactory" ref="sessionFactory" />
+ <property name="transactionManager" ref="transactionManager"
/>
+ </bean>
+ -->
+ <bean id="sessionFactory"
+ class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
+ <property name="dataSource" ref="dataSource" />
+ <property name="mappingResources">
+ <list>
+ <value>jbpm.pvm.typedefs.hbm.xml</value>
+ <value>jbpm.pvm.wire.hbm.xml</value>
+ <value>jbpm.pvm.definition.hbm.xml</value>
+ <value>jbpm.pvm.execution.hbm.xml</value>
+ <value>jbpm.pvm.variable.hbm.xml</value>
+ <value>jbpm.pvm.history.hbm.xml</value>
+ <value>jbpm.pvm.job.hbm.xml</value>
+ <value>jbpm.jpdl.hbm.xml</value>
+ <value>jbpm.task.hbm.xml</value>
+ </list>
+ </property>
+ <property name="hibernateProperties">
+ <props>
+ <prop
key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
+ <prop
key="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>
+ <prop key="hibernate.cache.use_second_level_cache">true</prop>
+ <prop key="hibernate.hbm2ddl.auto">create-drop</prop>
+ <prop
key="hibernate.bytecode.use_reflection_optimizer">false</prop>
+ </props>
+ </property>
+ <property name="entityCacheStrategies">
+ <props>
+ <prop
key="org.jbpm.pvm.internal.model.ProcessDefinitionImpl">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ActivityImpl">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.TransitionImpl">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.EventImpl">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ExceptionHandlerImpl">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ObjectReference">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.VariableDefinitionImpl">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.TimerDefinitionImpl">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor">read-write</prop>
+ </props>
+ </property>
+ <property name="collectionCacheStrategies">
+ <props>
+ <prop
key="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.exceptionHandlers">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.events">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.activities">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.variableDefinitions">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ProcessDefinitionImpl.timerDefinitions">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ActivityImpl.exceptionHandlers">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ActivityImpl.events">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ActivityImpl.activities">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ActivityImpl.variableDefinitions">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ActivityImpl.timerDefinitions">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ActivityImpl.incomingTransitions">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ActivityImpl.outgoingTransitions">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.TransitionImpl.exceptionHandlers">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.TransitionImpl.events">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.EventImpl.exceptionHandlers">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.EventImpl.listenerReferences">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.model.ExceptionHandlerImpl.eventListenerReferences">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.argDescriptors">read-write</prop>
+ <prop
key="org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.operations">read-write</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean id="transactionManager"
+ class="org.springframework.orm.hibernate3.HibernateTransactionManager"
+ scope="singleton">
+ <property name="sessionFactory" ref="sessionFactory" />
+ </bean>
+
+ <bean id="dataSource"
+ class="org.springframework.jdbc.datasource.DriverManagerDataSource">
+ <property name="driverClassName" value="org.hsqldb.jdbcDriver"
/>
+ <property name="url" value="jdbc:hsqldb:mem:." />
+ <property name="username" value="sa" />
+ <property name="password" value="" />
+ </bean>
+
+ <bean id="testBean"
class="org.jbpm.spring.test.beans.InvokeTestBean" />
+
+</beans>
\ No newline at end of file
Property changes on:
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/applicationContext.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/beans/process.jpdl.xml
===================================================================
---
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/beans/process.jpdl.xml
(rev 0)
+++
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/beans/process.jpdl.xml 2009-02-26
14:30:35 UTC (rev 4051)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process name="Spring">
+
+ <start>
+ <transition to="test" />
+ </start>
+
+ <spring name="test">
+ <bean>testBean</bean>
+ <method>testMethod</method>
+ <transition to="testWithParameters" />
+ </spring>
+
+ <spring name="testWithParameters">
+ <bean>testBean</bean>
+ <method>testMethodWithParameters</method>
+ <parameters>
+ <string value="a good test" />
+ </parameters>
+ <transition to="exclusive spring test" />
+ </spring>
+
+ <exclusive name="exclusive spring test"
handler-ref="testBean">
+ <transition name="no" to="wait" />
+ <transition name="yes" to="wait" />
+ </exclusive>
+
+ <state name="wait" />
+
+</process>
Property changes on:
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/beans/process.jpdl.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/jbpm.cfg.xml
===================================================================
---
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/jbpm.cfg.xml
(rev 0)
+++
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/jbpm.cfg.xml 2009-02-26
14:30:35 UTC (rev 4051)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jbpm-configuration
xmlns="http://jbpm.org/xsd/cfg">
+
+ <process-engine-context>
+
+ <deployer-manager>
+ <assign-file-type>
+ <file extension=".jpdl.xml" type="jpdl" />
+ </assign-file-type>
+ <parse-jpdl />
+ <check-process />
+ <check-problems />
+ <save />
+ </deployer-manager>
+
+ <process-service />
+ <execution-service />
+ <history-service />
+ <management-service />
+ <task-service />
+
+ <command-service>
+ <retry-interceptor />
+ <environment-interceptor />
+
+ <!-- Spring is doing all the transaction stuff. -->
+ <!-- <standard-transaction-interceptor /> -->
+
+ </command-service>
+
+ <script-manager default-expression-language="juel"
+ default-script-language="juel"
+ read-contexts="execution, environment, process-engine"
+ write-context="">
+ <script-language name="juel"
factory="com.sun.script.juel.JuelScriptEngineFactory" />
+ </script-manager>
+
+ <job-executor auto-start="false" />
+ <job-test-helper />
+
+ <id-generator />
+ <types resource="jbpm.pvm.types.xml" />
+
+ <business-calendar>
+ <monday hours="9:00-12:00 and 12:30-17:00"/>
+ <tuesday hours="9:00-12:00 and 12:30-17:00"/>
+ <wednesday hours="9:00-12:00 and 12:30-17:00"/>
+ <thursday hours="9:00-12:00 and 12:30-17:00"/>
+ <friday hours="9:00-12:00 and 12:30-17:00"/>
+ <holiday period="01/07/2008 - 31/08/2008"/>
+ </business-calendar>
+
+ </process-engine-context>
+
+ <transaction-context>
+ <!-- All operations inside a single request will be handled by the spring session
-->
+ <hibernate-session current="true" />
+
+ <transaction />
+ <pvm-db-session />
+ <job-db-session />
+ <task-db-session />
+ <message-session />
+ <timer-session />
+ <history-session />
+ </transaction-context>
+
+
+</jbpm-configuration>
Property changes on:
jbpm4/branches/ainze/modules/spring/src/test/resources/org/jbpm/spring/test/jbpm.cfg.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain