提交 c437978f 编写于 作者: J Joram Barrez

Merge branch 'activiti6' of https://github.com/Activiti/Activiti into activiti6

# By Tijs Rademakers
# Via Tijs Rademakers
* 'activiti6' of https://github.com/Activiti/Activiti:
  Spring compatibility testing for Activiti 5 engine
  Compatibility test fixes
  Move to unified interfaces for DelegateExecution, ExecutionListener etc
......@@ -36,7 +36,7 @@ package org.activiti.engine;
* @author Tom Baeyens
* @author Joram Barrez
*/
public interface ProcessEngine extends EngineServices {
public interface ProcessEngine {
/** the version of the activiti library */
public static String VERSION = "6.0.0.0"; // Note the extra .x at the end. To cater for snapshot releases with different database changes
......@@ -47,4 +47,20 @@ public interface ProcessEngine extends EngineServices {
String getName();
void close();
RepositoryService getRepositoryService();
RuntimeService getRuntimeService();
FormService getFormService();
TaskService getTaskService();
HistoryService getHistoryService();
IdentityService getIdentityService();
ManagementService getManagementService();
ProcessEngineConfiguration getProcessEngineConfiguration();
}
......@@ -76,7 +76,7 @@ import org.activiti.image.ProcessDiagramGenerator;
* @see ProcessEngines
* @author Tom Baeyens
*/
public abstract class ProcessEngineConfiguration implements EngineServices {
public abstract class ProcessEngineConfiguration {
/**
* Checks the version of the DB schema against the library when the process engine is being created and throws an exception if the versions don't match.
......@@ -244,6 +244,22 @@ public abstract class ProcessEngineConfiguration implements EngineServices {
// createJtaProcessEngineConfiguration() {
// return new JtaProcessEngineConfiguration();
// }
public abstract RepositoryService getRepositoryService();
public abstract RuntimeService getRuntimeService();
public abstract FormService getFormService();
public abstract TaskService getTaskService();
public abstract HistoryService getHistoryService();
public abstract IdentityService getIdentityService();
public abstract ManagementService getManagementService();
public abstract ProcessEngineConfiguration getProcessEngineConfiguration();
// getters and setters
// //////////////////////////////////////////////////////
......
......@@ -16,7 +16,6 @@ package org.activiti.engine.delegate;
import java.util.List;
import org.activiti.bpmn.model.FlowElement;
import org.activiti.engine.EngineServices;
/**
* Execution used in {@link JavaDelegate}s and {@link ExecutionListener}s.
......@@ -70,11 +69,6 @@ public interface DelegateExecution extends VariableScope {
* Returns the tenant id, if any is set before on the process definition or process instance.
*/
String getTenantId();
/**
* All Activiti services can be accessed through this interface.
*/
EngineServices getEngineServices();
FlowElement getCurrentFlowElement();
......
......@@ -12,7 +12,6 @@
*/
package org.activiti.engine.delegate.event;
import org.activiti.engine.EngineServices;
/**
* Describes an event that occurred in the Activiti Engine which is dispatched to external listeners, if any.
......@@ -42,8 +41,4 @@ public interface ActivitiEvent {
*/
String getProcessDefinitionId();
/**
* @return the {@link EngineServices} associated to the engine this event originated from. Returns null, when not called from within a listener call or when no Activiti context is active.
*/
EngineServices getEngineServices();
}
......@@ -13,10 +13,8 @@
package org.activiti.engine.delegate.event.impl;
import org.activiti.engine.ActivitiIllegalArgumentException;
import org.activiti.engine.EngineServices;
import org.activiti.engine.delegate.event.ActivitiEvent;
import org.activiti.engine.delegate.event.ActivitiEventType;
import org.activiti.engine.impl.context.Context;
/**
* Base class for all {@link ActivitiEvent} implementations.
......@@ -82,11 +80,6 @@ public class ActivitiEventImpl implements ActivitiEvent {
this.processInstanceId = processInstanceId;
}
@Override
public EngineServices getEngineServices() {
return Context.getProcessEngineConfiguration();
}
@Override
public String toString() {
return getClass() + " - " + type;
......
......@@ -14,6 +14,7 @@ package org.activiti.engine.impl.bpmn.behavior;
import java.util.List;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.ActivitiIllegalArgumentException;
import org.activiti.engine.delegate.BpmnError;
import org.activiti.engine.delegate.DelegateExecution;
......@@ -104,7 +105,7 @@ public class ServiceTaskDelegateExpressionActivityBehavior extends TaskActivityB
if (error != null) {
ErrorPropagation.propagateError(error, execution);
} else {
throw new RuntimeException(exc);
throw new ActivitiException(exc.getMessage(), exc);
}
}
......
......@@ -70,7 +70,7 @@ public class ServiceTaskExpressionActivityBehavior extends TaskActivityBehavior
if (error != null) {
ErrorPropagation.propagateError(error, execution);
} else {
throw new ActivitiException("Could not execute service task expression",exc);
throw new ActivitiException("Could not execute service task expression", exc);
}
}
}
......
......@@ -115,6 +115,7 @@ public class DbSqlSession implements Session {
ACTIVITI_VERSIONS.add(new ActivitiVersion("5.17.0.0"));
ACTIVITI_VERSIONS.add(new ActivitiVersion("5.17.0.1"));
ACTIVITI_VERSIONS.add(new ActivitiVersion("5.17.0.2"));
ACTIVITI_VERSIONS.add(new ActivitiVersion("5.18.0.0"));
// This is the latest version of the 5 branch. It's a 'virtual' version cause it doesn't exist, but it is
// there to make sure all previous version can upgrade to the 6 version correctly.
......
......@@ -21,7 +21,6 @@ import java.util.Map;
import org.activiti.bpmn.model.FlowElement;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.EngineServices;
import org.activiti.engine.ProcessEngineConfiguration;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.event.ActivitiEventType;
......@@ -428,13 +427,6 @@ public class ExecutionEntity extends VariableScopeImpl
public void forceUpdate() {
this.forcedUpdate = true;
}
// process engine convenience access /////////////////////////////////////////////////////////////////
public EngineServices getEngineServices() {
return Context.getProcessEngineConfiguration();
}
// VariableScopeImpl methods //////////////////////////////////////////////////////////////////
......
......@@ -12,6 +12,18 @@
*/
package org.activiti.engine.test.api.runtime;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.ActivitiIllegalArgumentException;
import org.activiti.engine.history.HistoricVariableInstance;
......@@ -23,9 +35,6 @@ import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.runtime.ProcessInstanceQuery;
import org.activiti.engine.test.Deployment;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @author Joram Barrez
* @author Tijs Rademakers
......
......@@ -17,6 +17,7 @@ import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
import org.activiti.engine.identity.Group;
import org.activiti.engine.identity.User;
import org.activiti.engine.impl.context.Context;
/**
* @author Joram Barrez
......@@ -26,7 +27,7 @@ public class CreateUserAndMembershipTestDelegate implements JavaDelegate {
@Override
public void execute(DelegateExecution execution) {
IdentityService identityService = execution.getEngineServices().getIdentityService();
IdentityService identityService = Context.getProcessEngineConfiguration().getIdentityService();
String username = "Kermit";
User user = identityService.newUser(username);
......
......@@ -15,6 +15,7 @@ package org.activiti.engine.test.bpmn.servicetask;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
import org.activiti.engine.impl.context.Context;
/**
* @author Joram Barrez
......@@ -22,7 +23,7 @@ import org.activiti.engine.delegate.JavaDelegate;
public class StartProcessInstanceTestDelegate implements JavaDelegate {
public void execute(DelegateExecution execution) {
RuntimeService runtimeService = execution.getEngineServices().getRuntimeService();
RuntimeService runtimeService = Context.getProcessEngineConfiguration().getRuntimeService();
runtimeService.startProcessInstanceByKey("oneTaskProcess");
}
......
......@@ -3,11 +3,12 @@ package org.activiti.engine.test.db;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
import org.activiti.engine.impl.context.Context;
public class GetVariableLocalTask implements JavaDelegate {
@Override
public void execute(DelegateExecution execution) {
RuntimeService runtimeService = execution.getEngineServices().getRuntimeService();
RuntimeService runtimeService = Context.getProcessEngineConfiguration().getRuntimeService();
runtimeService.getVariableLocal(execution.getProcessInstanceId(), "Variable-That-Does-Not-Exist");
}
}
\ No newline at end of file
......@@ -12,6 +12,9 @@
*/
package org.activiti.spring.impl.test;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.impl.test.AbstractActivitiTestCase;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -22,9 +25,6 @@ import org.springframework.test.context.TestContextManager;
import org.springframework.test.context.TestExecutionListeners;
import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* @author Joram Barrez
* @author Josh Long
......
......@@ -15,6 +15,7 @@ package org.activiti.spring.test.servicetask;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
import org.activiti.engine.impl.context.Context;
/**
* @author Joram Barrez
......@@ -22,7 +23,7 @@ import org.activiti.engine.delegate.JavaDelegate;
public class StartProcessInstanceTestDelegate implements JavaDelegate {
public void execute(DelegateExecution execution) {
RuntimeService runtimeService = execution.getEngineServices().getRuntimeService();
RuntimeService runtimeService = Context.getProcessEngineConfiguration().getRuntimeService();
runtimeService.startProcessInstanceByKey("oneTaskProcess");
}
......
......@@ -14,8 +14,8 @@ package org.activiti.compatibility.test.delegate;
import java.util.Random;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.JavaDelegate;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
/**
* @author Joram Barrez
......@@ -23,7 +23,7 @@ import org.activiti5.engine.delegate.JavaDelegate;
public class SetVariableJavaDelegate implements JavaDelegate {
@Override
public void execute(DelegateExecution execution) throws Exception {
public void execute(DelegateExecution execution) {
execution.setVariable("testVarFromActiviti6", new Random().nextInt(100));
}
......
......@@ -7,7 +7,7 @@
<bean id="processEngineConfiguration"
class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/activiti-compatibility?characterEncoding=UTF-8" />
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/activiticompatibility?characterEncoding=UTF-8" />
<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
<property name="jdbcUsername" value="alfresco" />
<property name="jdbcPassword" value="alfresco" />
......
......@@ -17,7 +17,7 @@
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>5.17.0</version>
<version>5.18.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
......@@ -78,7 +78,7 @@
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.activiti.compatibility.testdata.Main</mainClass>
<mainClass>org.activiti.compatibility.Main</mainClass>
</transformer>
</transformers>
</configuration>
......
......@@ -7,7 +7,7 @@
<bean id="processEngineConfiguration"
class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/activiti-compatibility?characterEncoding=UTF-8" />
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/activiticompatibility?characterEncoding=UTF-8" />
<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
<property name="jdbcUsername" value="alfresco" />
<property name="jdbcPassword" value="alfresco" />
......
......@@ -40,144 +40,145 @@ public class DefaultProcessEngineFactory {
/**
* Takes in an Activiti 6 process engine config, gives back an Activiti 5 Process engine.
*/
@SuppressWarnings("unchecked")
public ProcessEngine buildProcessEngine(ProcessEngineConfigurationImpl activiti6Configuration) {
// TODO: jta/spring/custom type
org.activiti5.engine.impl.cfg.ProcessEngineConfigurationImpl activiti5Configuration = null;
if (activiti6Configuration instanceof StandaloneProcessEngineConfiguration) {
activiti5Configuration = new org.activiti5.engine.impl.cfg.StandaloneProcessEngineConfiguration();
if (activiti6Configuration.getIdGeneratorDataSource() != null) {
activiti5Configuration.setIdGeneratorDataSource(activiti6Configuration.getIdGeneratorDataSource());
} else if (activiti6Configuration.getIdGeneratorDataSourceJndiName() != null) {
activiti5Configuration.setIdGeneratorDataSourceJndiName(activiti6Configuration.getIdGeneratorDataSourceJndiName());
} else {
activiti5Configuration.setDataSource(activiti6Configuration.getDataSource());
}
if (activiti6Configuration.getJdbcDriver() != null) {
activiti5Configuration.setJdbcDriver(activiti6Configuration.getJdbcDriver());
}
if (activiti6Configuration.getJdbcUrl() != null) {
activiti5Configuration.setJdbcUrl(activiti6Configuration.getJdbcUrl());
}
if (activiti6Configuration.getJdbcUsername() != null) {
activiti5Configuration.setJdbcUsername(activiti6Configuration.getJdbcUsername());
}
if (activiti6Configuration.getJdbcPassword() != null) {
activiti5Configuration.setJdbcPassword(activiti6Configuration.getJdbcPassword());
}
if (activiti6Configuration.getIdBlockSize() > 0) {
activiti5Configuration.setIdBlockSize(activiti6Configuration.getIdBlockSize());
}
if (activiti6Configuration.getJdbcMaxActiveConnections() > 0) {
activiti5Configuration.setJdbcMaxActiveConnections(activiti6Configuration.getJdbcMaxActiveConnections());
copyConfigItems(activiti6Configuration, activiti5Configuration);
return activiti5Configuration.buildProcessEngine();
} else {
throw new ActivitiException("Unsupported process engine configuration");
}
}
@SuppressWarnings("unchecked")
protected void copyConfigItems(ProcessEngineConfigurationImpl activiti6Configuration, org.activiti5.engine.impl.cfg.ProcessEngineConfigurationImpl activiti5Configuration) {
if (activiti6Configuration.getIdGeneratorDataSource() != null) {
activiti5Configuration.setIdGeneratorDataSource(activiti6Configuration.getIdGeneratorDataSource());
} else if (activiti6Configuration.getIdGeneratorDataSourceJndiName() != null) {
activiti5Configuration.setIdGeneratorDataSourceJndiName(activiti6Configuration.getIdGeneratorDataSourceJndiName());
} else {
activiti5Configuration.setDataSource(activiti6Configuration.getDataSource());
}
if (activiti6Configuration.getJdbcDriver() != null) {
activiti5Configuration.setJdbcDriver(activiti6Configuration.getJdbcDriver());
}
if (activiti6Configuration.getJdbcUrl() != null) {
activiti5Configuration.setJdbcUrl(activiti6Configuration.getJdbcUrl());
}
if (activiti6Configuration.getJdbcUsername() != null) {
activiti5Configuration.setJdbcUsername(activiti6Configuration.getJdbcUsername());
}
if (activiti6Configuration.getJdbcPassword() != null) {
activiti5Configuration.setJdbcPassword(activiti6Configuration.getJdbcPassword());
}
if (activiti6Configuration.getIdBlockSize() > 0) {
activiti5Configuration.setIdBlockSize(activiti6Configuration.getIdBlockSize());
}
if (activiti6Configuration.getJdbcMaxActiveConnections() > 0) {
activiti5Configuration.setJdbcMaxActiveConnections(activiti6Configuration.getJdbcMaxActiveConnections());
}
activiti5Configuration.setHistoryLevel(HistoryLevel.getHistoryLevelForKey(activiti6Configuration.getHistoryLevel().getKey()));
activiti5Configuration.setMailServerDefaultFrom(activiti6Configuration.getMailServerDefaultFrom());
activiti5Configuration.setMailServerHost(activiti6Configuration.getMailServerHost());
activiti5Configuration.setMailServerPassword(activiti6Configuration.getMailServerPassword());
activiti5Configuration.setMailServerPort(activiti6Configuration.getMailServerPort());
activiti5Configuration.setMailServerUsername(activiti6Configuration.getMailServerUsername());
activiti5Configuration.setMailServerUseSSL(activiti6Configuration.getMailServerUseSSL());
activiti5Configuration.setMailServerUseTLS(activiti6Configuration.getMailServerUseTLS());
if (activiti6Configuration.getMailServers() != null && activiti6Configuration.getMailServers().size() > 0) {
for (String key : activiti6Configuration.getMailServers().keySet()) {
MailServerInfo mailServerInfo = activiti6Configuration.getMailServers().get(key);
org.activiti5.engine.cfg.MailServerInfo activiti5MailServerInfo = new org.activiti5.engine.cfg.MailServerInfo();
activiti5MailServerInfo.setMailServerDefaultFrom(mailServerInfo.getMailServerDefaultFrom());
activiti5MailServerInfo.setMailServerHost(mailServerInfo.getMailServerHost());
activiti5MailServerInfo.setMailServerPassword(mailServerInfo.getMailServerPassword());
activiti5MailServerInfo.setMailServerPort(mailServerInfo.getMailServerPort());
activiti5MailServerInfo.setMailServerUsername(mailServerInfo.getMailServerUsername());
activiti5MailServerInfo.setMailServerUseSSL(mailServerInfo.isMailServerUseSSL());
activiti5MailServerInfo.setMailServerUseTLS(mailServerInfo.isMailServerUseTLS());
activiti5Configuration.getMailServers().put(key, activiti5MailServerInfo);
}
activiti5Configuration.setHistoryLevel(HistoryLevel.getHistoryLevelForKey(activiti6Configuration.getHistoryLevel().getKey()));
activiti5Configuration.setMailServerDefaultFrom(activiti6Configuration.getMailServerDefaultFrom());
activiti5Configuration.setMailServerHost(activiti6Configuration.getMailServerHost());
activiti5Configuration.setMailServerPassword(activiti6Configuration.getMailServerPassword());
activiti5Configuration.setMailServerPort(activiti6Configuration.getMailServerPort());
activiti5Configuration.setMailServerUsername(activiti6Configuration.getMailServerUsername());
activiti5Configuration.setMailServerUseSSL(activiti6Configuration.getMailServerUseSSL());
activiti5Configuration.setMailServerUseTLS(activiti6Configuration.getMailServerUseTLS());
if (activiti6Configuration.getMailServers() != null && activiti6Configuration.getMailServers().size() > 0) {
for (String key : activiti6Configuration.getMailServers().keySet()) {
MailServerInfo mailServerInfo = activiti6Configuration.getMailServers().get(key);
org.activiti5.engine.cfg.MailServerInfo activiti5MailServerInfo = new org.activiti5.engine.cfg.MailServerInfo();
activiti5MailServerInfo.setMailServerDefaultFrom(mailServerInfo.getMailServerDefaultFrom());
activiti5MailServerInfo.setMailServerHost(mailServerInfo.getMailServerHost());
activiti5MailServerInfo.setMailServerPassword(mailServerInfo.getMailServerPassword());
activiti5MailServerInfo.setMailServerPort(mailServerInfo.getMailServerPort());
activiti5MailServerInfo.setMailServerUsername(mailServerInfo.getMailServerUsername());
activiti5MailServerInfo.setMailServerUseSSL(mailServerInfo.isMailServerUseSSL());
activiti5MailServerInfo.setMailServerUseTLS(mailServerInfo.isMailServerUseTLS());
activiti5Configuration.getMailServers().put(key, activiti5MailServerInfo);
}
}
if (activiti6Configuration.getMailSessionJndi() != null) {
activiti5Configuration.setMailSessionJndi(activiti6Configuration.getMailSessionJndi());
}
activiti5Configuration.setCreateDiagramOnDeploy(activiti6Configuration.isCreateDiagramOnDeploy());
activiti5Configuration.setProcessDefinitionCacheLimit(activiti6Configuration.getProcessDefinitionCacheLimit());
if (activiti6Configuration.isAsyncExecutorEnabled()) {
activiti5Configuration.setAsyncExecutorEnabled(true);
if (activiti6Configuration.isAsyncExecutorActivate()) {
activiti5Configuration.setAsyncExecutorActivate(true);
}
activiti5Configuration.setCreateDiagramOnDeploy(activiti6Configuration.isCreateDiagramOnDeploy());
activiti5Configuration.setProcessDefinitionCacheLimit(activiti6Configuration.getProcessDefinitionCacheLimit());
if (activiti6Configuration.isAsyncExecutorEnabled()) {
activiti5Configuration.setAsyncExecutorEnabled(true);
if (activiti6Configuration.isAsyncExecutorActivate()) {
activiti5Configuration.setAsyncExecutorActivate(true);
}
if (activiti6Configuration.getActiviti5AsyncExecutor() != null) {
AsyncExecutor activiti5AsyncExecutor = (AsyncExecutor) activiti6Configuration.getActiviti5AsyncExecutor();
activiti5Configuration.setAsyncExecutor(activiti5AsyncExecutor);
}
activiti5Configuration.setJpaCloseEntityManager(activiti6Configuration.isJpaCloseEntityManager());
activiti5Configuration.setJpaHandleTransaction(activiti6Configuration.isJpaHandleTransaction());
activiti5Configuration.setJpaPersistenceUnitName(activiti6Configuration.getJpaPersistenceUnitName());
if (activiti6Configuration.getBeans() != null) {
activiti5Configuration.setBeans(activiti6Configuration.getBeans());
}
if (activiti6Configuration.getActiviti5ProcessDefinitionCache() != null) {
activiti5Configuration.setProcessDefinitionCache((DeploymentCache<ProcessDefinitionEntity>) activiti6Configuration.getActiviti5ProcessDefinitionCache());
}
activiti5Configuration.setProcessDefinitionCacheLimit(activiti6Configuration.getProcessDefinitionCacheLimit());
if (activiti6Configuration.getActiviti5KnowledgeBaseCache() != null) {
activiti5Configuration.setKnowledgeBaseCache((DeploymentCache<Object>) activiti6Configuration.getActiviti5KnowledgeBaseCache());
}
activiti5Configuration.setKnowledgeBaseCacheLimit(activiti6Configuration.getKnowledgeBaseCacheLimit());
if (activiti6Configuration.getActiviti5ActivityBehaviorFactory() != null) {
activiti5Configuration.setActivityBehaviorFactory((ActivityBehaviorFactory) activiti6Configuration.getActiviti5ActivityBehaviorFactory());
}
if (activiti6Configuration.getActiviti5ListenerFactory() != null) {
activiti5Configuration.setListenerFactory((ListenerFactory) activiti6Configuration.getActiviti5ListenerFactory());
}
convertParseHandlers(activiti6Configuration, activiti5Configuration);
if (activiti6Configuration.getActiviti5CustomMybatisMappers() != null) {
activiti5Configuration.setCustomMybatisMappers(activiti6Configuration.getActiviti5CustomMybatisMappers());
}
if (activiti6Configuration.getActiviti5CustomMybatisXMLMappers() != null) {
activiti5Configuration.setCustomMybatisXMLMappers(activiti6Configuration.getActiviti5CustomMybatisXMLMappers());
}
convertEventListeners(activiti6Configuration, activiti5Configuration);
// check if we need to enable rules deployment for Activiti 5
if (activiti6Configuration.getCustomPostDeployers() != null) {
List<org.activiti5.engine.impl.persistence.deploy.Deployer> activiti5Deployers = new ArrayList<org.activiti5.engine.impl.persistence.deploy.Deployer>();
for (Deployer deployer : activiti6Configuration.getCustomPostDeployers()) {
if (deployer instanceof RulesDeployer) {
activiti5Deployers.add(new org.activiti5.engine.impl.rules.RulesDeployer());
break;
}
}
if (activiti6Configuration.getActiviti5AsyncExecutor() != null) {
AsyncExecutor activiti5AsyncExecutor = (AsyncExecutor) activiti6Configuration.getActiviti5AsyncExecutor();
activiti5Configuration.setAsyncExecutor(activiti5AsyncExecutor);
}
activiti5Configuration.setJpaCloseEntityManager(activiti6Configuration.isJpaCloseEntityManager());
activiti5Configuration.setJpaHandleTransaction(activiti6Configuration.isJpaHandleTransaction());
activiti5Configuration.setJpaPersistenceUnitName(activiti6Configuration.getJpaPersistenceUnitName());
if (activiti6Configuration.getBeans() != null) {
activiti5Configuration.setBeans(activiti6Configuration.getBeans());
}
if (activiti6Configuration.getActiviti5ProcessDefinitionCache() != null) {
activiti5Configuration.setProcessDefinitionCache((DeploymentCache<ProcessDefinitionEntity>) activiti6Configuration.getActiviti5ProcessDefinitionCache());
}
activiti5Configuration.setProcessDefinitionCacheLimit(activiti6Configuration.getProcessDefinitionCacheLimit());
if (activiti6Configuration.getActiviti5KnowledgeBaseCache() != null) {
activiti5Configuration.setKnowledgeBaseCache((DeploymentCache<Object>) activiti6Configuration.getActiviti5KnowledgeBaseCache());
}
activiti5Configuration.setKnowledgeBaseCacheLimit(activiti6Configuration.getKnowledgeBaseCacheLimit());
if (activiti6Configuration.getActiviti5ActivityBehaviorFactory() != null) {
activiti5Configuration.setActivityBehaviorFactory((ActivityBehaviorFactory) activiti6Configuration.getActiviti5ActivityBehaviorFactory());
}
if (activiti6Configuration.getActiviti5ListenerFactory() != null) {
activiti5Configuration.setListenerFactory((ListenerFactory) activiti6Configuration.getActiviti5ListenerFactory());
}
convertParseHandlers(activiti6Configuration, activiti5Configuration);
if (activiti6Configuration.getActiviti5CustomMybatisMappers() != null) {
activiti5Configuration.setCustomMybatisMappers(activiti6Configuration.getActiviti5CustomMybatisMappers());
}
if (activiti6Configuration.getActiviti5CustomMybatisXMLMappers() != null) {
activiti5Configuration.setCustomMybatisXMLMappers(activiti6Configuration.getActiviti5CustomMybatisXMLMappers());
}
convertEventListeners(activiti6Configuration, activiti5Configuration);
// check if we need to enable rules deployment for Activiti 5
if (activiti6Configuration.getCustomPostDeployers() != null) {
List<org.activiti5.engine.impl.persistence.deploy.Deployer> activiti5Deployers = new ArrayList<org.activiti5.engine.impl.persistence.deploy.Deployer>();
for (Deployer deployer : activiti6Configuration.getCustomPostDeployers()) {
if (deployer instanceof RulesDeployer) {
activiti5Deployers.add(new org.activiti5.engine.impl.rules.RulesDeployer());
break;
}
}
if (activiti5Deployers.size() > 0) {
if (activiti5Configuration.getCustomPostDeployers() != null) {
activiti5Configuration.getCustomPostDeployers().addAll(activiti5Deployers);
} else {
activiti5Configuration.setCustomPostDeployers(activiti5Deployers);
}
if (activiti5Deployers.size() > 0) {
if (activiti5Configuration.getCustomPostDeployers() != null) {
activiti5Configuration.getCustomPostDeployers().addAll(activiti5Deployers);
} else {
activiti5Configuration.setCustomPostDeployers(activiti5Deployers);
}
}
} else {
throw new ActivitiException("Unsupported process engine configuration");
}
return activiti5Configuration.buildProcessEngine();
}
protected void convertParseHandlers(ProcessEngineConfigurationImpl activiti6Configuration, org.activiti5.engine.impl.cfg.ProcessEngineConfigurationImpl activiti5Configuration) {
......
......@@ -14,6 +14,10 @@
</parent>
<dependencies>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-bpmn-converter</artifactId>
......
......@@ -10,29 +10,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti5.engine;
/**
* Interface implemented by all classes that expose the Activiti services.
*
* @author Joram Barrez
*/
public interface EngineServices {
public class ActivitiActivityExecutionException extends ActivitiException {
RepositoryService getRepositoryService();
RuntimeService getRuntimeService();
FormService getFormService();
TaskService getTaskService();
HistoryService getHistoryService();
IdentityService getIdentityService();
private static final long serialVersionUID = 1L;
ManagementService getManagementService();
public ActivitiActivityExecutionException(String message) {
super(message);
}
ProcessEngineConfiguration getProcessEngineConfiguration();
public ActivitiActivityExecutionException(String message, Throwable cause) {
super(message, cause);
}
}
......@@ -16,6 +16,7 @@ package org.activiti5.engine;
import java.util.List;
import org.activiti.engine.task.IdentityLink;
import org.activiti5.engine.history.HistoricActivityInstance;
import org.activiti5.engine.history.HistoricActivityInstanceQuery;
import org.activiti5.engine.history.HistoricDetail;
......@@ -34,7 +35,6 @@ import org.activiti5.engine.history.NativeHistoricTaskInstanceQuery;
import org.activiti5.engine.history.NativeHistoricVariableInstanceQuery;
import org.activiti5.engine.history.ProcessInstanceHistoryLog;
import org.activiti5.engine.history.ProcessInstanceHistoryLogQuery;
import org.activiti5.engine.task.IdentityLink;
/**
* Service exposing information about ongoing and past process instances. This is different
......
......@@ -12,6 +12,8 @@
*/
package org.activiti5.engine;
import java.util.List;
import org.activiti5.engine.identity.Group;
import org.activiti5.engine.identity.GroupQuery;
import org.activiti5.engine.identity.NativeGroupQuery;
......@@ -20,8 +22,6 @@ import org.activiti5.engine.identity.Picture;
import org.activiti5.engine.identity.User;
import org.activiti5.engine.identity.UserQuery;
import java.util.List;
/**
* Service to manage {@link User}s and {@link Group}s.
......
......@@ -12,6 +12,7 @@
*/
package org.activiti5.engine;
/**
* Provides access to all the services that expose the BPM and workflow operations.
*
......@@ -46,7 +47,7 @@ package org.activiti5.engine;
* @author Tom Baeyens
* @author Joram Barrez
*/
public interface ProcessEngine extends EngineServices {
public interface ProcessEngine {
/** the version of the activiti library */
public static String VERSION = "6.0.0.0";
......@@ -57,4 +58,20 @@ public interface ProcessEngine extends EngineServices {
String getName();
void close();
RepositoryService getRepositoryService();
RuntimeService getRuntimeService();
FormService getFormService();
TaskService getTaskService();
HistoryService getHistoryService();
IdentityService getIdentityService();
ManagementService getManagementService();
ProcessEngineConfiguration getProcessEngineConfiguration();
}
......@@ -82,7 +82,7 @@ import org.activiti5.engine.runtime.Clock;
* @see ProcessEngines
* @author Tom Baeyens
*/
public abstract class ProcessEngineConfiguration implements EngineServices {
public abstract class ProcessEngineConfiguration {
/** Checks the version of the DB schema against the library when
* the process engine is being created and throws an exception
......@@ -253,6 +253,21 @@ public abstract class ProcessEngineConfiguration implements EngineServices {
// return new JtaProcessEngineConfiguration();
// }
public abstract RepositoryService getRepositoryService();
public abstract RuntimeService getRuntimeService();
public abstract FormService getFormService();
public abstract TaskService getTaskService();
public abstract HistoryService getHistoryService();
public abstract IdentityService getIdentityService();
public abstract ManagementService getManagementService();
public abstract ProcessEngineConfiguration getProcessEngineConfiguration();
// getters and setters //////////////////////////////////////////////////////
......
......@@ -13,7 +13,12 @@
package org.activiti5.engine;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import org.activiti.bpmn.model.BpmnModel;
import org.activiti.engine.task.IdentityLink;
import org.activiti.validation.ValidationError;
import org.activiti5.engine.repository.DeploymentBuilder;
import org.activiti5.engine.repository.DeploymentQuery;
......@@ -25,11 +30,6 @@ import org.activiti5.engine.repository.NativeModelQuery;
import org.activiti5.engine.repository.NativeProcessDefinitionQuery;
import org.activiti5.engine.repository.ProcessDefinition;
import org.activiti5.engine.repository.ProcessDefinitionQuery;
import org.activiti5.engine.task.IdentityLink;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
/** Service providing access to the repository of process definitions and deployments.
*
......
......@@ -16,7 +16,8 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.activiti5.engine.delegate.VariableScope;
import org.activiti.engine.delegate.VariableScope;
import org.activiti.engine.task.IdentityLink;
import org.activiti5.engine.delegate.event.ActivitiEvent;
import org.activiti5.engine.delegate.event.ActivitiEventDispatcher;
import org.activiti5.engine.delegate.event.ActivitiEventListener;
......@@ -29,7 +30,6 @@ import org.activiti5.engine.runtime.ProcessInstance;
import org.activiti5.engine.runtime.ProcessInstanceBuilder;
import org.activiti5.engine.runtime.ProcessInstanceQuery;
import org.activiti5.engine.task.Event;
import org.activiti5.engine.task.IdentityLink;
import org.activiti5.engine.task.IdentityLinkType;
/**
......
......@@ -18,11 +18,12 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import org.activiti.engine.task.DelegationState;
import org.activiti.engine.task.IdentityLink;
import org.activiti5.engine.query.NativeQuery;
import org.activiti5.engine.task.Attachment;
import org.activiti5.engine.task.Comment;
import org.activiti5.engine.task.Event;
import org.activiti5.engine.task.IdentityLink;
import org.activiti5.engine.task.IdentityLinkType;
import org.activiti5.engine.task.NativeTaskQuery;
import org.activiti5.engine.task.Task;
......
......@@ -13,6 +13,7 @@
package org.activiti5.engine.delegate;
import org.activiti.engine.delegate.JavaDelegate;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.impl.bpmn.parser.Error;
......
/* 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.
*/
package org.activiti5.engine.delegate;
import org.activiti5.engine.EngineServices;
/**
* Execution used in {@link JavaDelegate}s and {@link ExecutionListener}s.
*
* @author Tom Baeyens
*/
public interface DelegateExecution extends VariableScope {
/** Unique id of this path of execution that can be used as a handle to provide external signals back into the engine after wait states. */
String getId();
/** Reference to the overall process instance */
String getProcessInstanceId();
/** The {@link ExecutionListener#EVENTNAME_START event name} in case this execution is passed in for an {@link ExecutionListener} */
String getEventName();
/** The business key for this execution. Only returns a value if the delegate execution
* is a process instance.
*
* @deprecated use {@link #getProcessBusinessKey()} to get the business key for the process
* associated with this execution, regardless whether or not this execution is a
* process-instance.
*/
String getBusinessKey();
/**
* The business key for the process instance this execution is associated with.
*/
String getProcessBusinessKey();
/**
* The process definition key for the process instance this execution is associated with.
*/
String getProcessDefinitionId();
/**
* Gets the id of the parent of this execution. If null, the execution represents a process-instance.
*/
String getParentId();
/**
* Gets the id of the calling execution. If not null, the execution is part of a subprocess.
*/
String getSuperExecutionId();
/**
* Gets the id of the current activity.
*/
String getCurrentActivityId();
/**
* Gets the name of the current activity.
*/
String getCurrentActivityName();
/**
* Returns the tenant id, if any is set before on the process definition or process instance.
*/
String getTenantId();
/**
* All Activiti services can be accessed through this interface.
*/
EngineServices getEngineServices();
}
/* 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.
*/
package org.activiti5.engine.delegate;
import java.util.Collection;
import java.util.Date;
import java.util.Set;
import org.activiti5.engine.ActivitiObjectNotFoundException;
import org.activiti5.engine.task.DelegationState;
import org.activiti5.engine.task.IdentityLink;
import org.activiti5.engine.task.IdentityLinkType;
/**
* @author Joram Barrez
*/
public interface DelegateTask extends VariableScope {
/** DB id of the task. */
String getId();
/** Name or title of the task. */
String getName();
/** Change the name of the task. */
void setName(String name);
/** Free text description of the task. */
String getDescription();
/** Change the description of the task */
void setDescription(String description);
/** indication of how important/urgent this task is with a number between
* 0 and 100 where higher values mean a higher priority and lower values mean
* lower priority: [0..19] lowest, [20..39] low, [40..59] normal, [60..79] high
* [80..100] highest */
int getPriority();
/** indication of how important/urgent this task is with a number between
* 0 and 100 where higher values mean a higher priority and lower values mean
* lower priority: [0..19] lowest, [20..39] low, [40..59] normal, [60..79] high
* [80..100] highest */
void setPriority(int priority);
/** Reference to the process instance or null if it is not related to a process instance. */
String getProcessInstanceId();
/** Reference to the path of execution or null if it is not related to a process instance. */
String getExecutionId();
/** Reference to the process definition or null if it is not related to a process. */
String getProcessDefinitionId();
/** The date/time when this task was created */
Date getCreateTime();
/** The id of the activity in the process defining this task or null if this is not related to a process */
String getTaskDefinitionKey();
/** Indicated whether this task is suspended or not. */
boolean isSuspended();
/** The tenant identifier of this task */
String getTenantId();
/** The form key for the user task */
String getFormKey();
/** Change the form key of the task */
void setFormKey(String formKey);
/** Returns the execution currently at the task. */
DelegateExecution getExecution();
/** Returns the event name which triggered the task listener to fire for this task. */
String getEventName();
/** The current {@link org.activiti5.engine.task.DelegationState} for this task. */
DelegationState getDelegationState();
/** Adds the given user as a candidate user to this task. */
void addCandidateUser(String userId);
/** Adds multiple users as candidate user to this task. */
void addCandidateUsers(Collection<String> candidateUsers);
/** Adds the given group as candidate group to this task */
void addCandidateGroup(String groupId);
/** Adds multiple groups as candidate group to this task. */
void addCandidateGroups(Collection<String> candidateGroups);
/** The {@link User.getId() userId} of the person responsible for this task. */
String getOwner();
/** The {@link User.getId() userId} of the person responsible for this task.*/
void setOwner(String owner);
/** The {@link User.getId() userId} of the person to which this task is delegated. */
String getAssignee();
/** The {@link User.getId() userId} of the person to which this task is delegated. */
void setAssignee(String assignee);
/** Due date of the task. */
Date getDueDate();
/** Change due date of the task. */
void setDueDate(Date dueDate);
/** The category of the task. This is an optional field and allows to 'tag' tasks as belonging to a certain category. */
String getCategory();
/** Change the category of the task. This is an optional field and allows to 'tag' tasks as belonging to a certain category. */
void setCategory(String category);
/**
* Involves a user with a task. The type of identity link is defined by the given identityLinkType.
* @param userId id of the user involve, cannot be null.
* @param identityLinkType type of identityLink, cannot be null (@see {@link IdentityLinkType}).
* @throws ActivitiObjectNotFoundException when the task or user doesn't exist.
*/
void addUserIdentityLink(String userId, String identityLinkType);
/**
* Involves a group with group task. The type of identityLink is defined by the given identityLink.
* @param groupId id of the group to involve, cannot be null.
* @param identityLinkType type of identity, cannot be null (@see {@link IdentityLinkType}).
* @throws ActivitiObjectNotFoundException when the task or group doesn't exist.
*/
void addGroupIdentityLink(String groupId, String identityLinkType);
/**
* Convenience shorthand for {@link #deleteUserIdentityLink(String, String)}; with type {@link IdentityLinkType#CANDIDATE}
* @param userId id of the user to use as candidate, cannot be null.
* @throws ActivitiObjectNotFoundException when the task or user doesn't exist.
*/
void deleteCandidateUser(String userId);
/**
* Convenience shorthand for {@link #deleteGroupIdentityLink(String, String, String)}; with type {@link IdentityLinkType#CANDIDATE}
* @param groupId id of the group to use as candidate, cannot be null.
* @throws ActivitiObjectNotFoundException when the task or group doesn't exist.
*/
void deleteCandidateGroup(String groupId);
/**
* Removes the association between a user and a task for the given identityLinkType.
* @param userId id of the user involve, cannot be null.
* @param identityLinkType type of identityLink, cannot be null (@see {@link IdentityLinkType}).
* @throws ActivitiObjectNotFoundException when the task or user doesn't exist.
*/
void deleteUserIdentityLink(String userId, String identityLinkType);
/**
* Removes the association between a group and a task for the given identityLinkType.
* @param groupId id of the group to involve, cannot be null.
* @param identityLinkType type of identity, cannot be null (@see {@link IdentityLinkType}).
* @throws ActivitiObjectNotFoundException when the task or group doesn't exist.
*/
void deleteGroupIdentityLink(String groupId, String identityLinkType);
/**
* Retrieves the candidate users and groups associated with the task.
* @return set of {@link IdentityLink}s of type {@link IdentityLinkType#CANDIDATE}.
*/
Set<IdentityLink> getCandidates();
}
......@@ -13,6 +13,8 @@
package org.activiti5.engine.delegate;
import org.activiti.engine.delegate.JavaDelegate;
/**
* Class that provides helper operations for use in the {@link JavaDelegate} class.
*
......
/* 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.
*/
package org.activiti5.engine.delegate;
import java.util.Collection;
import java.util.Map;
import java.util.Set;
/**
* @author Tom Baeyens
* @author Joram Barrez
*/
public interface VariableScope {
Map<String, Object> getVariables();
Map<String, Object> getVariables(Collection<String> variableNames);
Map<String, Object> getVariables(Collection<String> variableNames, boolean fetchAllVariables);
Map<String, Object> getVariablesLocal();
Map<String, Object> getVariablesLocal(Collection<String> variableNames);
Map<String, Object> getVariablesLocal(Collection<String> variableNames, boolean fetchAllVariables);
Object getVariable(String variableName);
Object getVariable(String variableName, boolean fetchAllVariables);
Object getVariableLocal(String variableName);
Object getVariableLocal(String variableName, boolean fetchAllVariables);
<T> T getVariable(String variableName, Class<T> variableClass);
<T> T getVariableLocal(String variableName, Class<T> variableClass);
Set<String> getVariableNames();
Set<String> getVariableNamesLocal();
/**
* Sets the variable with the provided name to the provided value.
*
* <p>
* A variable is set according to the following algorithm:
*
* <p>
* <li>If this scope already contains a variable by the provided name as a
* <strong>local</strong> variable, its value is overwritten to the provided
* value.</li>
* <li>If this scope does <strong>not</strong> contain a variable by the
* provided name as a local variable, the variable is set to this scope's
* parent scope, if there is one. If there is no parent scope (meaning this
* scope is the root scope of the hierarchy it belongs to), this scope is
* used. This applies recursively up the parent scope chain until, if no scope
* contains a local variable by the provided name, ultimately the root scope
* is reached and the variable value is set on that scope.</li>
* <p>
* In practice for most cases, this algorithm will set variables to the scope
* of the execution at the process instance’s root level, if there is no
* execution-local variable by the provided name.
*
* @param variableName
* the name of the variable to be set
* @param value
* the value of the variable to be set
*/
void setVariable(String variableName, Object value);
void setVariable(String variableName, Object value, boolean fetchAllVariables);
Object setVariableLocal(String variableName, Object value);
Object setVariableLocal(String variableName, Object value, boolean fetchAllVariables);
/**
* Sets the provided variables to the variable scope.
*
* <p>
* Variables are set according algorithm for
* {@link #setVariable(String, Object)}, applied separately to each variable.
*
* @see #setVariable(String, Object)
* {@link VariableScope#setVariable(String, Object)}
*
* @param variables
* a map of keys and values for the variables to be set
*/
void setVariables(Map<String, ? extends Object> variables);
void setVariablesLocal(Map<String, ? extends Object> variables);
boolean hasVariables();
boolean hasVariablesLocal();
boolean hasVariable(String variableName);
boolean hasVariableLocal(String variableName);
void createVariableLocal(String variableName, Object value);
/**
* Removes the variable and creates a new {@link HistoricVariableUpdateEntity}
* .
*/
void removeVariable(String variableName);
/**
* Removes the local variable and creates a new
* {@link HistoricVariableUpdateEntity}.
*/
void removeVariableLocal(String variableName);
/**
* Removes the variables and creates a new
* {@link HistoricVariableUpdateEntity} for each of them.
*/
void removeVariables(Collection<String> variableNames);
/**
* Removes the local variables and creates a new
* {@link HistoricVariableUpdateEntity} for each of them.
*/
void removeVariablesLocal(Collection<String> variableNames);
/**
* Removes the (local) variables and creates a new
* {@link HistoricVariableUpdateEntity} for each of them.
*/
void removeVariables();
/**
* Removes the (local) variables and creates a new
* {@link HistoricVariableUpdateEntity} for each of them.
*/
void removeVariablesLocal();
}
\ No newline at end of file
......@@ -12,7 +12,6 @@
*/
package org.activiti5.engine.delegate.event;
import org.activiti5.engine.EngineServices;
/**
* Describes an event that occurred in the Activiti Engine which is dispatched to external
......@@ -45,11 +44,4 @@ public interface ActivitiEvent {
* was not dispatched from within an active execution.
*/
String getProcessDefinitionId();
/**
* @return the {@link EngineServices} associated to the engine this event
* originated from. Returns null, when not called from within a listener call or when no
* Activiti context is active.
*/
EngineServices getEngineServices();
}
......@@ -14,7 +14,7 @@ package org.activiti5.engine.delegate.event.impl;
import java.util.Map;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.event.ActivitiActivityCancelledEvent;
import org.activiti5.engine.delegate.event.ActivitiActivityEvent;
import org.activiti5.engine.delegate.event.ActivitiCancelledEvent;
......
......@@ -13,10 +13,8 @@
package org.activiti5.engine.delegate.event.impl;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.EngineServices;
import org.activiti5.engine.delegate.event.ActivitiEvent;
import org.activiti5.engine.delegate.event.ActivitiEventType;
import org.activiti5.engine.impl.context.Context;
/**
* Base class for all {@link ActivitiEvent} implementations.
......@@ -82,9 +80,4 @@ public class ActivitiEventImpl implements ActivitiEvent {
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
@Override
public EngineServices getEngineServices() {
return Context.getProcessEngineConfiguration();
}
}
......@@ -13,9 +13,9 @@
package org.activiti5.engine.history;
import org.activiti.engine.task.IdentityLink;
import org.activiti5.engine.identity.GroupQuery;
import org.activiti5.engine.identity.UserQuery;
import org.activiti5.engine.task.IdentityLink;
import org.activiti5.engine.task.IdentityLinkType;
......
......@@ -14,7 +14,7 @@ package org.activiti5.engine.impl;
import java.io.Serializable;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateExecution;
......
......@@ -12,6 +12,10 @@
*/
package org.activiti5.engine.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.impl.interceptor.CommandContext;
import org.activiti5.engine.impl.interceptor.CommandExecutor;
......@@ -19,10 +23,6 @@ import org.activiti5.engine.impl.persistence.entity.SuspensionState;
import org.activiti5.engine.runtime.Execution;
import org.activiti5.engine.runtime.ExecutionQuery;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
* @author Joram Barrez
......
......@@ -12,6 +12,8 @@
*/
package org.activiti5.engine.impl;
import java.util.List;
import org.activiti5.engine.IdentityService;
import org.activiti5.engine.identity.Group;
import org.activiti5.engine.identity.GroupQuery;
......@@ -38,11 +40,8 @@ import org.activiti5.engine.impl.cmd.SaveUserCmd;
import org.activiti5.engine.impl.cmd.SetUserInfoCmd;
import org.activiti5.engine.impl.cmd.SetUserPictureCmd;
import org.activiti5.engine.impl.identity.Authentication;
import org.activiti5.engine.impl.persistence.entity.GroupEntity;
import org.activiti5.engine.impl.persistence.entity.IdentityInfoEntity;
import java.util.List;
/**
* @author Tom Baeyens
......
package org.activiti5.engine.impl;
import java.util.List;
import java.util.Map;
import org.activiti5.engine.impl.interceptor.CommandContext;
import org.activiti5.engine.impl.interceptor.CommandExecutor;
import org.activiti5.engine.repository.Deployment;
import org.activiti5.engine.repository.NativeDeploymentQuery;
import java.util.List;
import java.util.Map;
public class NativeDeploymentQueryImpl extends AbstractNativeQuery<NativeDeploymentQuery, Deployment> implements NativeDeploymentQuery {
private static final long serialVersionUID = 1L;
......
package org.activiti5.engine.impl;
import java.util.List;
import java.util.Map;
import org.activiti5.engine.identity.Group;
import org.activiti5.engine.identity.NativeGroupQuery;
import org.activiti5.engine.impl.interceptor.CommandContext;
import org.activiti5.engine.impl.interceptor.CommandExecutor;
import java.util.List;
import java.util.Map;
public class NativeGroupQueryImpl extends AbstractNativeQuery<NativeGroupQuery, Group> implements NativeGroupQuery {
private static final long serialVersionUID = 1L;
......
package org.activiti5.engine.impl;
import java.util.List;
import java.util.Map;
import org.activiti5.engine.impl.interceptor.CommandContext;
import org.activiti5.engine.impl.interceptor.CommandExecutor;
import org.activiti5.engine.repository.Model;
import org.activiti5.engine.repository.NativeModelQuery;
import java.util.List;
import java.util.Map;
public class NativeModelQueryImpl extends AbstractNativeQuery<NativeModelQuery, Model> implements NativeModelQuery {
private static final long serialVersionUID = 1L;
......
package org.activiti5.engine.impl;
import java.util.List;
import java.util.Map;
import org.activiti5.engine.impl.interceptor.CommandContext;
import org.activiti5.engine.impl.interceptor.CommandExecutor;
import org.activiti5.engine.repository.NativeProcessDefinitionQuery;
import org.activiti5.engine.repository.ProcessDefinition;
import java.util.List;
import java.util.Map;
public class NativeProcessDefinitionQueryImpl extends AbstractNativeQuery<NativeProcessDefinitionQuery, ProcessDefinition> implements NativeProcessDefinitionQuery {
private static final long serialVersionUID = 1L;
......
package org.activiti5.engine.impl;
import java.util.List;
import java.util.Map;
import org.activiti5.engine.identity.NativeUserQuery;
import org.activiti5.engine.identity.User;
import org.activiti5.engine.impl.interceptor.CommandContext;
import org.activiti5.engine.impl.interceptor.CommandExecutor;
import java.util.List;
import java.util.Map;
public class NativeUserQueryImpl extends AbstractNativeQuery<NativeUserQuery, User> implements NativeUserQuery {
private static final long serialVersionUID = 1L;
......
......@@ -18,6 +18,7 @@ import java.util.Date;
import java.util.List;
import org.activiti.bpmn.model.BpmnModel;
import org.activiti.engine.task.IdentityLink;
import org.activiti.validation.ValidationError;
import org.activiti5.engine.RepositoryService;
import org.activiti5.engine.impl.cmd.ActivateProcessDefinitionCmd;
......@@ -60,7 +61,6 @@ import org.activiti5.engine.repository.NativeModelQuery;
import org.activiti5.engine.repository.NativeProcessDefinitionQuery;
import org.activiti5.engine.repository.ProcessDefinition;
import org.activiti5.engine.repository.ProcessDefinitionQuery;
import org.activiti5.engine.task.IdentityLink;
/**
......
......@@ -18,6 +18,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.activiti.engine.task.IdentityLink;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.RuntimeService;
import org.activiti5.engine.delegate.event.ActivitiEvent;
......@@ -56,7 +57,6 @@ import org.activiti5.engine.runtime.ProcessInstance;
import org.activiti5.engine.runtime.ProcessInstanceBuilder;
import org.activiti5.engine.runtime.ProcessInstanceQuery;
import org.activiti5.engine.task.Event;
import org.activiti5.engine.task.IdentityLink;
import org.activiti5.engine.task.IdentityLinkType;
/**
......
......@@ -16,6 +16,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.activiti.engine.task.DelegationState;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.identity.Group;
......@@ -24,7 +25,6 @@ import org.activiti5.engine.impl.interceptor.CommandContext;
import org.activiti5.engine.impl.interceptor.CommandExecutor;
import org.activiti5.engine.impl.persistence.entity.SuspensionState;
import org.activiti5.engine.impl.variable.VariableTypes;
import org.activiti5.engine.task.DelegationState;
import org.activiti5.engine.task.Task;
import org.activiti5.engine.task.TaskQuery;
......
......@@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.activiti.engine.task.IdentityLink;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.TaskService;
import org.activiti5.engine.impl.cfg.ProcessEngineConfigurationImpl;
......@@ -60,7 +61,6 @@ import org.activiti5.engine.impl.cmd.SetTaskVariablesCmd;
import org.activiti5.engine.task.Attachment;
import org.activiti5.engine.task.Comment;
import org.activiti5.engine.task.Event;
import org.activiti5.engine.task.IdentityLink;
import org.activiti5.engine.task.IdentityLinkType;
import org.activiti5.engine.task.NativeTaskQuery;
import org.activiti5.engine.task.Task;
......
......@@ -40,7 +40,7 @@ public class BoundaryEventActivityBehavior extends FlowNodeActivityBehavior {
}
@SuppressWarnings("unchecked")
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
ExecutionEntity executionEntity = (ExecutionEntity) execution;
ActivityImpl boundaryActivity = executionEntity.getProcessDefinition().findActivity(activityId);
ActivityImpl interruptedActivity = executionEntity.getActivity();
......
......@@ -18,8 +18,8 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.delegate.event.ActivitiEventType;
import org.activiti5.engine.delegate.event.impl.ActivitiEventBuilder;
import org.activiti5.engine.impl.Condition;
......
......@@ -18,7 +18,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import org.activiti5.engine.delegate.Expression;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.impl.pvm.PvmProcessDefinition;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
import org.activiti5.engine.impl.rules.RulesAgendaFilter;
......@@ -41,7 +41,7 @@ public class BusinessRuleTaskActivityBehavior extends TaskActivityBehavior {
public BusinessRuleTaskActivityBehavior() {}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
PvmProcessDefinition processDefinition = execution.getActivity().getProcessDefinition();
String deploymentId = processDefinition.getDeploymentId();
......
......@@ -17,22 +17,17 @@ import java.util.ArrayList;
import java.util.List;
import org.activiti.bpmn.model.MapExceptionEntry;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.ActivitiObjectNotFoundException;
import org.activiti5.engine.ProcessEngineConfiguration;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.impl.bpmn.data.AbstractDataAssociation;
import org.activiti5.engine.impl.bpmn.helper.ErrorPropagation;
import org.activiti5.engine.impl.context.Context;
import org.activiti5.engine.impl.persistence.deploy.DeploymentManager;
import org.activiti5.engine.impl.persistence.entity.ProcessDefinitionEntity;
import org.activiti5.engine.impl.pvm.PvmProcessInstance;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
import org.activiti5.engine.impl.pvm.delegate.SubProcessActivityBehavior;
import org.activiti5.engine.impl.pvm.process.ProcessDefinitionImpl;
import org.activiti5.engine.repository.ProcessDefinition;
/**
......@@ -68,7 +63,7 @@ public class CallActivityBehavior extends AbstractBpmnActivityBehavior implement
this.dataOutputAssociations.add(dataOutputAssociation);
}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
String processDefinitonKey = this.processDefinitonKey;
if (processDefinitionExpression != null) {
......@@ -110,7 +105,7 @@ public class CallActivityBehavior extends AbstractBpmnActivityBehavior implement
try {
subProcessInstance.start();
} catch (Exception e) {
} catch (RuntimeException e) {
if (!ErrorPropagation.mapException(e, execution, mapExceptions, true))
throw e;
......
......@@ -27,7 +27,7 @@ import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
public class CancelBoundaryEventActivityBehavior extends FlowNodeActivityBehavior {
@Override
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
List<CompensateEventSubscriptionEntity> eventSubscriptions = ((ExecutionEntity)execution).getCompensateEventSubscriptions();
......
......@@ -28,7 +28,7 @@ import org.activiti5.engine.impl.pvm.runtime.InterpretableExecution;
public class CancelEndEventActivityBehavior extends FlowNodeActivityBehavior {
@Override
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
// find cancel boundary event:
ActivityImpl cancelBoundaryEvent = ScopeUtil
......
......@@ -28,7 +28,7 @@ public class ErrorEndEventActivityBehavior extends FlowNodeActivityBehavior {
this.errorCode = errorCode;
}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
ErrorPropagation.propagateError(errorCode, execution);
}
......
......@@ -22,7 +22,7 @@ import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
public class EventBasedGatewayActivityBehavior extends FlowNodeActivityBehavior {
@Override
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
// the event based gateway doesn't really do anything
// ignoring outgoing sequence flows (they're only parsed for the diagram)
}
......
......@@ -39,7 +39,7 @@ public class EventSubProcessStartEventActivityBehavior extends NoneStartEventAct
}
@Override
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
InterpretableExecution interpretableExecution = (InterpretableExecution) execution;
ActivityImpl activity = interpretableExecution.getProcessDefinition().findActivity(activityId);
......
......@@ -14,8 +14,8 @@ package org.activiti5.engine.impl.bpmn.behavior;
import java.util.Iterator;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.impl.Condition;
import org.activiti5.engine.impl.bpmn.helper.SkipExpressionUtil;
import org.activiti5.engine.impl.bpmn.parser.BpmnParse;
......
......@@ -32,7 +32,7 @@ public abstract class FlowNodeActivityBehavior implements SignallableActivityBeh
/**
* Default behaviour: just leave the activity with no extra functionality.
*/
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
leave(execution);
}
......
......@@ -17,8 +17,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.impl.Condition;
import org.activiti5.engine.impl.bpmn.helper.SkipExpressionUtil;
import org.activiti5.engine.impl.bpmn.parser.BpmnParse;
......@@ -43,7 +43,7 @@ public class InclusiveGatewayActivityBehavior extends GatewayActivityBehavior {
private static Logger log = LoggerFactory.getLogger(InclusiveGatewayActivityBehavior.class.getName());
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
execution.inactivate();
lockConcurrentRoot(execution);
......
......@@ -18,7 +18,7 @@ import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
public class IntermediateCatchEventActivityBehavior extends AbstractBpmnActivityBehavior {
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
// Do nothing: waitstate behavior
}
......
......@@ -35,7 +35,7 @@ public class IntermediateThrowCompensationEventActivityBehavior extends FlowNode
}
@Override
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
final String activityRef = compensateEventDefinition.getActivityRef();
ExecutionEntity scopeExecution = ScopeUtil.findScopeExecutionForScope((ExecutionEntity)execution, (ActivityImpl)execution.getActivity());
......
......@@ -39,7 +39,7 @@ public class IntermediateThrowSignalEventActivityBehavior extends AbstractBpmnAc
this.signalDefinition = signalDefinition;
}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
CommandContext commandContext = Context.getCommandContext();
......
......@@ -13,21 +13,29 @@
package org.activiti5.engine.impl.bpmn.behavior;
import java.util.*;
import java.io.File;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.activation.DataSource;
import javax.naming.NamingException;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.cfg.MailServerInfo;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.activiti5.engine.impl.context.Context;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
import org.apache.commons.mail.*;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......
......@@ -18,12 +18,12 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.delegate.BpmnError;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.ExecutionListener;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.impl.bpmn.helper.ErrorPropagation;
import org.activiti5.engine.impl.bpmn.helper.ScopeUtil;
import org.activiti5.engine.impl.context.Context;
......@@ -86,7 +86,7 @@ public abstract class MultiInstanceActivityBehavior extends FlowNodeActivityBeha
setInnerActivityBehavior(innerActivityBehavior);
}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
if (getLocalLoopVariable(execution, getCollectionElementIndexVariable()) == null) {
try {
createInstances(execution);
......@@ -102,7 +102,7 @@ public abstract class MultiInstanceActivityBehavior extends FlowNodeActivityBeha
}
}
protected abstract void createInstances(ActivityExecution execution) throws Exception;
protected abstract void createInstances(ActivityExecution execution);
// Intercepts signals, and delegates it to the wrapped {@link ActivityBehavior}.
public void signal(ActivityExecution execution, String signalName, Object signalData) throws Exception {
......@@ -153,7 +153,7 @@ public abstract class MultiInstanceActivityBehavior extends FlowNodeActivityBeha
}
@SuppressWarnings("rawtypes")
protected void executeOriginalBehavior(ActivityExecution execution, int loopCounter) throws Exception {
protected void executeOriginalBehavior(ActivityExecution execution, int loopCounter) {
if (usesCollection() && collectionElementVariable != null) {
Collection collection = null;
if (collectionExpression != null) {
......
......@@ -20,7 +20,7 @@ import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
*/
public class NoneEndEventActivityBehavior extends FlowNodeActivityBehavior {
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
execution.end();
}
......
......@@ -57,7 +57,7 @@ public class ParallelGatewayActivityBehavior extends GatewayActivityBehavior {
private static Logger log = LoggerFactory.getLogger(ParallelGatewayActivityBehavior.class);
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
// Join
PvmActivity activity = execution.getActivity();
......
......@@ -35,7 +35,7 @@ public class ParallelMultiInstanceBehavior extends MultiInstanceActivityBehavior
* Handles the parallel case of spawning the instances.
* Will create child executions accordingly for every instance needed.
*/
protected void createInstances(ActivityExecution execution) throws Exception {
protected void createInstances(ActivityExecution execution) {
int nrOfInstances = resolveNrOfInstances(execution);
if (nrOfInstances < 0) {
throw new ActivitiIllegalArgumentException("Invalid number of instances: must be non-negative integer value"
......
......@@ -27,7 +27,7 @@ import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
*/
public class ReceiveTaskActivityBehavior extends TaskActivityBehavior {
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
// Do nothing: waitstate behavior
}
......
......@@ -52,7 +52,7 @@ public class ScriptTaskActivityBehavior extends TaskActivityBehavior {
this.storeScriptVariables = storeScriptVariables;
}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
ScriptingEngines scriptingEngines = Context
.getProcessEngineConfiguration()
.getScriptingEngines();
......
......@@ -34,7 +34,7 @@ public class SequentialMultiInstanceBehavior extends MultiInstanceActivityBehavi
* Handles the sequential case of spawning the instances.
* Will only create one instance, since at most one instance can be active.
*/
protected void createInstances(ActivityExecution execution) throws Exception {
protected void createInstances(ActivityExecution execution) {
int nrOfInstances = resolveNrOfInstances(execution);
if (nrOfInstances < 0) {
throw new ActivitiIllegalArgumentException("Invalid number of instances: must be a non-negative integer value"
......@@ -86,7 +86,7 @@ public class SequentialMultiInstanceBehavior extends MultiInstanceActivityBehavi
}
@Override
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
super.execute(execution);
if(innerActivityBehavior instanceof SubProcessActivityBehavior) {
......
......@@ -14,10 +14,11 @@ package org.activiti5.engine.impl.bpmn.behavior;
import java.util.List;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.Expression;
import org.activiti.engine.delegate.JavaDelegate;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.delegate.BpmnError;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.delegate.JavaDelegate;
import org.activiti5.engine.impl.bpmn.helper.ClassDelegate;
import org.activiti5.engine.impl.bpmn.helper.ErrorPropagation;
import org.activiti5.engine.impl.bpmn.helper.SkipExpressionUtil;
......@@ -60,7 +61,7 @@ public class ServiceTaskDelegateExpressionActivityBehavior extends TaskActivityB
}
}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
try {
boolean isSkipExpressionEnabled = SkipExpressionUtil.isSkipExpressionEnabled(execution, skipExpression);
......@@ -108,7 +109,7 @@ public class ServiceTaskDelegateExpressionActivityBehavior extends TaskActivityB
if (error != null) {
ErrorPropagation.propagateError(error, execution);
} else {
throw exc;
throw new ActivitiException(exc.getMessage(), exc);
}
}
......
......@@ -13,8 +13,9 @@
package org.activiti5.engine.impl.bpmn.behavior;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.delegate.BpmnError;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.impl.bpmn.helper.ErrorPropagation;
import org.activiti5.engine.impl.bpmn.helper.SkipExpressionUtil;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
......@@ -41,7 +42,7 @@ public class ServiceTaskExpressionActivityBehavior extends TaskActivityBehavior
this.resultVariable = resultVariable;
}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
Object value = null;
try {
boolean isSkipExpressionEnabled = SkipExpressionUtil.isSkipExpressionEnabled(execution, skipExpression);
......@@ -69,7 +70,7 @@ public class ServiceTaskExpressionActivityBehavior extends TaskActivityBehavior
if (error != null) {
ErrorPropagation.propagateError(error, execution);
} else {
throw exc;
throw new ActivitiException(exc.getMessage(), exc);
}
}
}
......
......@@ -13,9 +13,9 @@
package org.activiti5.engine.impl.bpmn.behavior;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.ExecutionListener;
import org.activiti5.engine.delegate.JavaDelegate;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.delegate.JavaDelegate;
import org.activiti5.engine.impl.context.Context;
import org.activiti5.engine.impl.delegate.JavaDelegateInvocation;
import org.activiti5.engine.impl.pvm.delegate.ActivityBehavior;
......@@ -36,16 +36,16 @@ public class ServiceTaskJavaDelegateActivityBehavior extends TaskActivityBehavio
this.javaDelegate = javaDelegate;
}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
execute((DelegateExecution) execution);
leave(execution);
}
public void notify(DelegateExecution execution) throws Exception {
public void notify(DelegateExecution execution) {
execute((DelegateExecution) execution);
}
public void execute(DelegateExecution execution) throws Exception {
public void execute(DelegateExecution execution) {
Context.getProcessEngineConfiguration()
.getDelegateInterceptor()
.handleInvocation(new JavaDelegateInvocation(javaDelegate, execution));
......
......@@ -12,9 +12,9 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
public class ShellActivityBehavior extends AbstractBpmnActivityBehavior {
......
......@@ -33,7 +33,7 @@ import org.activiti5.engine.impl.pvm.process.ActivityImpl;
*/
public class SubProcessActivityBehavior extends AbstractBpmnActivityBehavior implements CompositeActivityBehavior {
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
PvmActivity activity = execution.getActivity();
ActivityImpl initialActivity = (ActivityImpl) activity.getProperty(BpmnParse.PROPERTYNAME_INITIAL);
......
......@@ -35,7 +35,7 @@ public class TerminateEndEventActivityBehavior extends FlowNodeActivityBehavior
this.endEvent = endEvent.clone();
}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
ActivityImpl terminateEndEventActivity = (ActivityImpl) execution.getActivity();
ActivityExecution scopeExecution = ScopeUtil.findScopeExecution(execution);
......
......@@ -20,10 +20,10 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import org.activiti.engine.delegate.Expression;
import org.activiti.engine.delegate.TaskListener;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.delegate.TaskListener;
import org.activiti5.engine.delegate.event.ActivitiEventType;
import org.activiti5.engine.delegate.event.impl.ActivitiEventBuilder;
import org.activiti5.engine.impl.bpmn.helper.SkipExpressionUtil;
......@@ -54,7 +54,7 @@ public class UserTaskActivityBehavior extends TaskActivityBehavior {
this.taskDefinition = taskDefinition;
}
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
TaskEntity task = TaskEntity.createAndInsert(execution);
task.setExecution(execution);
task.setTaskDefinition(taskDefinition);
......
......@@ -57,7 +57,7 @@ public class WebServiceActivityBehavior extends AbstractBpmnActivityBehavior {
/**
* {@inheritDoc}
*/
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
MessageInstance message;
if (ioSpecification != null) {
......
......@@ -14,7 +14,7 @@ package org.activiti5.engine.impl.bpmn.data;
import java.io.Serializable;
import org.activiti5.engine.delegate.Expression;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
/**
......
......@@ -12,8 +12,8 @@
*/
package org.activiti5.engine.impl.bpmn.data;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.delegate.VariableScope;
import org.activiti.engine.delegate.Expression;
import org.activiti.engine.delegate.VariableScope;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
/**
......
......@@ -15,7 +15,7 @@ package org.activiti5.engine.impl.bpmn.data;
import java.util.ArrayList;
import java.util.List;
import org.activiti5.engine.delegate.Expression;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
/**
......
......@@ -12,7 +12,7 @@
*/
package org.activiti5.engine.impl.bpmn.data;
import org.activiti5.engine.delegate.Expression;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
/**
......
......@@ -19,9 +19,9 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.ProcessEngineConfiguration;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.delegate.event.ActivitiEventType;
import org.activiti5.engine.delegate.event.impl.ActivitiEventBuilder;
import org.activiti5.engine.impl.bpmn.parser.BpmnParse;
......
......@@ -19,15 +19,15 @@ import java.lang.reflect.Method;
import java.util.List;
import org.activiti.bpmn.model.MapExceptionEntry;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.delegate.Expression;
import org.activiti.engine.delegate.JavaDelegate;
import org.activiti.engine.delegate.TaskListener;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.delegate.BpmnError;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.DelegateTask;
import org.activiti5.engine.delegate.ExecutionListener;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.delegate.JavaDelegate;
import org.activiti5.engine.delegate.TaskListener;
import org.activiti5.engine.impl.bpmn.behavior.AbstractBpmnActivityBehavior;
import org.activiti5.engine.impl.bpmn.behavior.ServiceTaskJavaDelegateActivityBehavior;
import org.activiti5.engine.impl.bpmn.parser.FieldDeclaration;
......@@ -86,7 +86,7 @@ public class ClassDelegate extends AbstractBpmnActivityBehavior implements TaskL
}
// Execution listener
public void notify(DelegateExecution execution) throws Exception {
public void notify(DelegateExecution execution) {
if (executionListenerInstance == null) {
executionListenerInstance = getExecutionListenerInstance();
}
......@@ -130,7 +130,7 @@ public class ClassDelegate extends AbstractBpmnActivityBehavior implements TaskL
}
// Activity Behavior
public void execute(ActivityExecution execution) throws Exception {
public void execute(ActivityExecution execution) {
boolean isSkipExpressionEnabled = SkipExpressionUtil.isSkipExpressionEnabled(execution, skipExpression);
if (!isSkipExpressionEnabled ||
(isSkipExpressionEnabled && !SkipExpressionUtil.shouldSkipFlowElement(execution, skipExpression))) {
......@@ -143,10 +143,9 @@ public class ClassDelegate extends AbstractBpmnActivityBehavior implements TaskL
activityBehaviorInstance.execute(execution);
} catch (BpmnError error) {
ErrorPropagation.propagateError(error, execution);
} catch (Exception e) {
} catch (RuntimeException e) {
if (!ErrorPropagation.mapException(e, execution, mapExceptions))
throw e;
}
}
......
......@@ -12,8 +12,8 @@
*/
package org.activiti5.engine.impl.bpmn.helper;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.delegate.event.ActivitiEntityEvent;
import org.activiti5.engine.delegate.event.ActivitiEvent;
import org.activiti5.engine.delegate.event.ActivitiEventListener;
......
......@@ -16,6 +16,7 @@ package org.activiti5.engine.impl.bpmn.helper;
import java.util.List;
import org.activiti.bpmn.model.MapExceptionEntry;
import org.activiti5.engine.ActivitiActivityExecutionException;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.delegate.BpmnError;
import org.activiti5.engine.delegate.event.ActivitiEventType;
......@@ -26,7 +27,6 @@ import org.activiti5.engine.impl.bpmn.parser.ErrorEventDefinition;
import org.activiti5.engine.impl.context.Context;
import org.activiti5.engine.impl.persistence.entity.ExecutionEntity;
import org.activiti5.engine.impl.pvm.PvmActivity;
import org.activiti5.engine.impl.pvm.PvmException;
import org.activiti5.engine.impl.pvm.PvmProcessDefinition;
import org.activiti5.engine.impl.pvm.PvmScope;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
......@@ -56,11 +56,11 @@ public class ErrorPropagation {
private static final Logger LOG = LoggerFactory.getLogger(ErrorPropagation.class);
public static void propagateError(BpmnError error, ActivityExecution execution) throws Exception {
public static void propagateError(BpmnError error, ActivityExecution execution) {
propagateError(error.getErrorCode(), execution);
}
public static void propagateError(String errorCode, ActivityExecution execution) throws Exception {
public static void propagateError(String errorCode, ActivityExecution execution) {
while (execution != null) {
String eventHandlerId = findLocalErrorEventHandler(execution, errorCode);
......@@ -194,17 +194,17 @@ public class ErrorPropagation {
}
}
public static boolean mapException(Exception e, ActivityExecution execution, List<MapExceptionEntry> exceptionMap) throws Exception {
public static boolean mapException(Exception e, ActivityExecution execution, List<MapExceptionEntry> exceptionMap) {
return mapException(e, execution, exceptionMap, false);
}
public static boolean mapException(Exception e, ActivityExecution execution, List<MapExceptionEntry> exceptionMap, boolean wrapped) throws Exception {
public static boolean mapException(Exception e, ActivityExecution execution, List<MapExceptionEntry> exceptionMap, boolean wrapped) {
if (exceptionMap == null) {
return false;
}
if (wrapped && e instanceof PvmException) {
e = (Exception) ((PvmException) e).getCause();
if (wrapped && e instanceof ActivitiActivityExecutionException) {
e = (Exception) e.getCause();
}
String defaultMap = null;
......
package org.activiti5.engine.impl.bpmn.helper;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.impl.pvm.delegate.ActivityExecution;
......
......@@ -14,11 +14,11 @@ package org.activiti5.engine.impl.bpmn.listener;
import java.util.List;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.delegate.Expression;
import org.activiti.engine.delegate.JavaDelegate;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.ExecutionListener;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.delegate.JavaDelegate;
import org.activiti5.engine.impl.bpmn.helper.ClassDelegate;
import org.activiti5.engine.impl.bpmn.parser.FieldDeclaration;
import org.activiti5.engine.impl.context.Context;
......@@ -39,7 +39,7 @@ public class DelegateExpressionExecutionListener implements ExecutionListener {
this.fieldDeclarations = fieldDeclarations;
}
public void notify(DelegateExecution execution) throws Exception {
public void notify(DelegateExecution execution) {
// Note: we can't cache the result of the expression, because the
// execution can change: eg. delegateExpression='${mySpringBeanFactory.randomSpringBean()}'
Object delegate = expression.getValue(execution);
......
......@@ -14,11 +14,11 @@ package org.activiti5.engine.impl.bpmn.listener;
import java.util.List;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.Expression;
import org.activiti.engine.delegate.TaskListener;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.delegate.DelegateTask;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.delegate.TaskListener;
import org.activiti5.engine.impl.bpmn.helper.ClassDelegate;
import org.activiti5.engine.impl.bpmn.parser.FieldDeclaration;
import org.activiti5.engine.impl.context.Context;
......
......@@ -13,9 +13,9 @@
package org.activiti5.engine.impl.bpmn.listener;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.ExecutionListener;
import org.activiti5.engine.delegate.Expression;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.delegate.Expression;
/**
* An {@link ExecutionListener} that evaluates a {@link Expression} when notified.
......@@ -30,7 +30,7 @@ public class ExpressionExecutionListener implements ExecutionListener {
this.expression = expression;
}
public void notify(DelegateExecution execution) throws Exception {
public void notify(DelegateExecution execution) {
// Return value of expression is ignored
expression.getValue(execution);
}
......
......@@ -13,9 +13,9 @@
package org.activiti5.engine.impl.bpmn.listener;
import org.activiti5.engine.delegate.DelegateTask;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.delegate.TaskListener;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.Expression;
import org.activiti.engine.delegate.TaskListener;
/**
......
......@@ -13,8 +13,8 @@
package org.activiti5.engine.impl.bpmn.listener;
import org.activiti5.engine.delegate.DelegateExecution;
import org.activiti5.engine.delegate.ExecutionListener;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti5.engine.impl.context.Context;
import org.activiti5.engine.impl.el.Expression;
import org.activiti5.engine.impl.scripting.ScriptingEngines;
......@@ -30,7 +30,7 @@ public class ScriptExecutionListener implements ExecutionListener {
private Expression resultVariable = null;
@Override
public void notify(DelegateExecution execution) throws Exception {
public void notify(DelegateExecution execution) {
if (script == null) {
throw new IllegalArgumentException("The field 'script' should be set on the ExecutionListener");
......
......@@ -13,8 +13,8 @@
package org.activiti5.engine.impl.bpmn.listener;
import org.activiti5.engine.delegate.DelegateTask;
import org.activiti5.engine.delegate.TaskListener;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.activiti5.engine.impl.context.Context;
import org.activiti5.engine.impl.el.Expression;
import org.activiti5.engine.impl.scripting.ScriptingEngines;
......
......@@ -16,7 +16,7 @@ import java.util.ArrayList;
import java.util.List;
import org.activiti.bpmn.model.FieldExtension;
import org.activiti5.engine.delegate.Expression;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.impl.bpmn.parser.FieldDeclaration;
import org.activiti5.engine.impl.el.ExpressionManager;
import org.activiti5.engine.impl.el.FixedValue;
......
......@@ -41,8 +41,8 @@ import org.activiti.bpmn.model.Task;
import org.activiti.bpmn.model.ThrowEvent;
import org.activiti.bpmn.model.Transaction;
import org.activiti.bpmn.model.UserTask;
import org.activiti.engine.delegate.Expression;
import org.activiti5.engine.ActivitiException;
import org.activiti5.engine.delegate.Expression;
import org.activiti5.engine.impl.bpmn.behavior.AbstractBpmnActivityBehavior;
import org.activiti5.engine.impl.bpmn.behavior.BoundaryEventActivityBehavior;
import org.activiti5.engine.impl.bpmn.behavior.BusinessRuleTaskActivityBehavior;
......
......@@ -18,9 +18,10 @@ import java.util.Map;
import org.activiti.bpmn.model.ActivitiListener;
import org.activiti.bpmn.model.EventListener;
import org.activiti.bpmn.model.ImplementationType;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.delegate.TaskListener;
import org.activiti.engine.task.IdentityLink;
import org.activiti5.engine.ActivitiIllegalArgumentException;
import org.activiti5.engine.delegate.ExecutionListener;
import org.activiti5.engine.delegate.TaskListener;
import org.activiti5.engine.delegate.event.ActivitiEventListener;
import org.activiti5.engine.impl.bpmn.helper.BaseDelegateEventListener;
import org.activiti5.engine.impl.bpmn.helper.ClassDelegate;
......@@ -40,7 +41,6 @@ import org.activiti5.engine.runtime.Job;
import org.activiti5.engine.runtime.ProcessInstance;
import org.activiti5.engine.task.Attachment;
import org.activiti5.engine.task.Comment;
import org.activiti5.engine.task.IdentityLink;
import org.activiti5.engine.task.Task;
/**
......
......@@ -14,8 +14,8 @@ package org.activiti5.engine.impl.bpmn.parser.factory;
import org.activiti.bpmn.model.ActivitiListener;
import org.activiti.bpmn.model.EventListener;
import org.activiti5.engine.delegate.ExecutionListener;
import org.activiti5.engine.delegate.TaskListener;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.delegate.TaskListener;
import org.activiti5.engine.delegate.event.ActivitiEventListener;
import org.activiti5.engine.impl.bpmn.parser.BpmnParse;
import org.activiti5.engine.impl.bpmn.parser.BpmnParser;
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册