// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package org.activiti.engine.impl.cfg; import com.fasterxml.jackson.databind.ObjectMapper; import org.activiti.dmn.api.DmnRepositoryService; import org.activiti.dmn.api.DmnRuleService; import org.activiti.engine.*; import org.activiti.engine.cfg.ProcessEngineConfigurator; import org.activiti.engine.compatibility.Activiti5CompatibilityHandler; import org.activiti.engine.compatibility.Activiti5CompatibilityHandlerFactory; import org.activiti.engine.compatibility.DefaultActiviti5CompatibilityHandlerFactory; import org.activiti.engine.delegate.event.ActivitiEventDispatcher; import org.activiti.engine.delegate.event.ActivitiEventListener; import org.activiti.engine.delegate.event.ActivitiEventType; import org.activiti.engine.delegate.event.impl.ActivitiEventDispatcherImpl; import org.activiti.engine.form.AbstractFormType; import org.activiti.engine.impl.*; import org.activiti.engine.impl.agenda.DefaultActivitiEngineAgendaFactory; import org.activiti.engine.impl.asyncexecutor.DefaultAsyncJobExecutor; import org.activiti.engine.impl.asyncexecutor.DefaultJobManager; import org.activiti.engine.impl.asyncexecutor.ExecuteAsyncRunnableFactory; import org.activiti.engine.impl.asyncexecutor.JobManager; import org.activiti.engine.impl.bpmn.data.ItemInstance; import org.activiti.engine.impl.bpmn.deployer.*; import org.activiti.engine.impl.bpmn.listener.ListenerNotificationHelper; import org.activiti.engine.impl.bpmn.parser.BpmnParseHandlers; import org.activiti.engine.impl.bpmn.parser.BpmnParser; import org.activiti.engine.impl.bpmn.parser.factory.*; import org.activiti.engine.impl.bpmn.parser.handler.*; import org.activiti.engine.impl.bpmn.webservice.MessageInstance; import org.activiti.engine.impl.calendar.*; import org.activiti.engine.impl.cfg.standalone.StandaloneMybatisTransactionContextFactory; import org.activiti.engine.impl.cmd.ValidateExecutionRelatedEntityCountCfgCmd; import org.activiti.engine.impl.context.Context; import org.activiti.engine.impl.db.DbIdGenerator; import org.activiti.engine.impl.db.DbSqlSessionFactory; import org.activiti.engine.impl.db.IbatisVariableTypeHandler; import org.activiti.engine.impl.delegate.invocation.DefaultDelegateInterceptor; import org.activiti.engine.impl.el.ExpressionManager; import org.activiti.engine.impl.event.CompensationEventHandler; import org.activiti.engine.impl.event.EventHandler; import org.activiti.engine.impl.event.MessageEventHandler; import org.activiti.engine.impl.event.SignalEventHandler; import org.activiti.engine.impl.event.logger.EventLogger; import org.activiti.engine.impl.form.*; import org.activiti.engine.impl.history.DefaultHistoryManager; import org.activiti.engine.impl.history.HistoryLevel; import org.activiti.engine.impl.history.HistoryManager; import org.activiti.engine.impl.interceptor.*; import org.activiti.engine.impl.jobexecutor.*; import org.activiti.engine.impl.persistence.GenericManagerFactory; import org.activiti.engine.impl.persistence.cache.EntityCache; import org.activiti.engine.impl.persistence.cache.EntityCacheImpl; import org.activiti.engine.impl.persistence.deploy.*; import org.activiti.engine.impl.persistence.entity.*; import org.activiti.engine.impl.persistence.entity.data.*; import org.activiti.engine.impl.persistence.entity.data.impl.*; import org.activiti.engine.impl.scripting.*; import org.activiti.engine.impl.util.DefaultClockImpl; import org.activiti.engine.impl.util.IoUtil; import org.activiti.engine.impl.util.ProcessInstanceHelper; import org.activiti.engine.impl.util.ReflectUtil; import org.activiti.engine.impl.variable.*; import org.activiti.engine.parse.BpmnParseHandler; import org.activiti.engine.runtime.Clock; import org.activiti.form.api.FormRepositoryService; import org.activiti.image.impl.DefaultProcessDiagramGenerator; import org.activiti.validation.ProcessValidator; import org.activiti.validation.ProcessValidatorFactory; import org.apache.ibatis.builder.xml.XMLConfigBuilder; import org.apache.ibatis.builder.xml.XMLMapperBuilder; import org.apache.ibatis.datasource.pooled.PooledDataSource; import org.apache.ibatis.mapping.Environment; import org.apache.ibatis.session.Configuration; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.defaults.DefaultSqlSessionFactory; import org.apache.ibatis.transaction.TransactionFactory; import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory; import org.apache.ibatis.transaction.managed.ManagedTransactionFactory; import org.apache.ibatis.type.JdbcType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.naming.InitialContext; import javax.sql.DataSource; import javax.xml.namespace.QName; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.URL; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; import java.util.*; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; public abstract class ProcessEngineConfigurationImpl extends ProcessEngineConfiguration { private static Logger log = LoggerFactory.getLogger(ProcessEngineConfigurationImpl.class); public static final String DB_SCHEMA_UPDATE_CREATE = "create"; public static final String DB_SCHEMA_UPDATE_DROP_CREATE = "drop-create"; public static final String DEFAULT_WS_SYNC_FACTORY = "org.activiti.engine.impl.webservice.CxfWebServiceClientFactory"; public static final String DEFAULT_MYBATIS_MAPPING_FILE = "org/activiti/db/mapping/mappings.xml"; public static final int DEFAULT_GENERIC_MAX_LENGTH_STRING = 4000; public static final int DEFAULT_ORACLE_MAX_LENGTH_STRING = 2000; protected RepositoryService repositoryService = new RepositoryServiceImpl(); protected RuntimeService runtimeService = new RuntimeServiceImpl(); protected HistoryService historyService = new HistoryServiceImpl(this); protected IdentityService identityService = new IdentityServiceImpl(); protected TaskService taskService = new TaskServiceImpl(this); protected FormService formService = new FormServiceImpl(); protected ManagementService managementService = new ManagementServiceImpl(); protected DynamicBpmnService dynamicBpmnService = new DynamicBpmnServiceImpl(this); protected boolean formEngineInitialized; protected FormRepositoryService formEngineRepositoryService; protected org.activiti.form.api.FormService formEngineFormService; protected boolean dmnEngineInitialized; protected DmnRepositoryService dmnEngineRepositoryService; protected DmnRuleService dmnEngineRuleService; protected CommandConfig defaultCommandConfig; protected CommandConfig schemaCommandConfig; protected CommandInterceptor commandInvoker; protected List customPreCommandInterceptors; protected List customPostCommandInterceptors; protected List commandInterceptors; protected CommandExecutor commandExecutor; protected AttachmentDataManager attachmentDataManager; protected ByteArrayDataManager byteArrayDataManager; protected CommentDataManager commentDataManager; protected DeploymentDataManager deploymentDataManager; protected EventLogEntryDataManager eventLogEntryDataManager; protected EventSubscriptionDataManager eventSubscriptionDataManager; protected ExecutionDataManager executionDataManager; protected GroupDataManager groupDataManager; protected HistoricActivityInstanceDataManager historicActivityInstanceDataManager; protected HistoricDetailDataManager historicDetailDataManager; protected HistoricIdentityLinkDataManager historicIdentityLinkDataManager; protected HistoricProcessInstanceDataManager historicProcessInstanceDataManager; protected HistoricTaskInstanceDataManager historicTaskInstanceDataManager; protected HistoricVariableInstanceDataManager historicVariableInstanceDataManager; protected IdentityInfoDataManager identityInfoDataManager; protected IdentityLinkDataManager identityLinkDataManager; protected JobDataManager jobDataManager; protected TimerJobDataManager timerJobDataManager; protected SuspendedJobDataManager suspendedJobDataManager; protected DeadLetterJobDataManager deadLetterJobDataManager; protected MembershipDataManager membershipDataManager; protected ModelDataManager modelDataManager; protected ProcessDefinitionDataManager processDefinitionDataManager; protected ProcessDefinitionInfoDataManager processDefinitionInfoDataManager; protected PropertyDataManager propertyDataManager; protected ResourceDataManager resourceDataManager; protected TaskDataManager taskDataManager; protected UserDataManager userDataManager; protected VariableInstanceDataManager variableInstanceDataManager; protected AttachmentEntityManager attachmentEntityManager; protected ByteArrayEntityManager byteArrayEntityManager; protected CommentEntityManager commentEntityManager; protected DeploymentEntityManager deploymentEntityManager; protected EventLogEntryEntityManager eventLogEntryEntityManager; protected EventSubscriptionEntityManager eventSubscriptionEntityManager; protected ExecutionEntityManager executionEntityManager; protected GroupEntityManager groupEntityManager; protected HistoricActivityInstanceEntityManager historicActivityInstanceEntityManager; protected HistoricDetailEntityManager historicDetailEntityManager; protected HistoricIdentityLinkEntityManager historicIdentityLinkEntityManager; protected HistoricProcessInstanceEntityManager historicProcessInstanceEntityManager; protected HistoricTaskInstanceEntityManager historicTaskInstanceEntityManager; protected HistoricVariableInstanceEntityManager historicVariableInstanceEntityManager; protected IdentityInfoEntityManager identityInfoEntityManager; protected IdentityLinkEntityManager identityLinkEntityManager; protected JobEntityManager jobEntityManager; protected TimerJobEntityManager timerJobEntityManager; protected SuspendedJobEntityManager suspendedJobEntityManager; protected DeadLetterJobEntityManager deadLetterJobEntityManager; protected MembershipEntityManager membershipEntityManager; protected ModelEntityManager modelEntityManager; protected ProcessDefinitionEntityManager processDefinitionEntityManager; protected ProcessDefinitionInfoEntityManager processDefinitionInfoEntityManager; protected PropertyEntityManager propertyEntityManager; protected ResourceEntityManager resourceEntityManager; protected TableDataManager tableDataManager; protected TaskEntityManager taskEntityManager; protected UserEntityManager userEntityManager; protected VariableInstanceEntityManager variableInstanceEntityManager; protected HistoryManager historyManager; protected JobManager jobManager; protected List customSessionFactories; protected DbSqlSessionFactory dbSqlSessionFactory; protected Map, SessionFactory> sessionFactories; protected boolean enableConfiguratorServiceLoader = true; protected List configurators; protected List allConfigurators; protected BpmnDeployer bpmnDeployer; protected BpmnParser bpmnParser; protected ParsedDeploymentBuilderFactory parsedDeploymentBuilderFactory; protected TimerManager timerManager; protected EventSubscriptionManager eventSubscriptionManager; protected BpmnDeploymentHelper bpmnDeploymentHelper; protected CachingAndArtifactsManager cachingAndArtifactsManager; protected ProcessDefinitionDiagramHelper processDefinitionDiagramHelper; protected List customPreDeployers; protected List customPostDeployers; protected List deployers; protected DeploymentManager deploymentManager; protected int processDefinitionCacheLimit = -1; protected DeploymentCache processDefinitionCache; protected int processDefinitionInfoCacheLimit = -1; protected ProcessDefinitionInfoCache processDefinitionInfoCache; protected int knowledgeBaseCacheLimit = -1; protected DeploymentCache knowledgeBaseCache; protected List customJobHandlers; protected Map jobHandlers; protected ProcessInstanceHelper processInstanceHelper; protected ListenerNotificationHelper listenerNotificationHelper; protected int asyncExecutorNumberOfRetries = 3; protected int asyncExecutorCorePoolSize = 2; protected int asyncExecutorMaxPoolSize = 10; protected long asyncExecutorThreadKeepAliveTime = 5000L; protected int asyncExecutorThreadPoolQueueSize = 100; protected BlockingQueue asyncExecutorThreadPoolQueue; protected long asyncExecutorSecondsToWaitOnShutdown = 60L; protected int asyncExecutorMaxTimerJobsPerAcquisition = 1; protected int asyncExecutorMaxAsyncJobsDuePerAcquisition = 1; protected int asyncExecutorDefaultTimerJobAcquireWaitTime = 10000; protected int asyncExecutorDefaultAsyncJobAcquireWaitTime = 10000; protected int asyncExecutorDefaultQueueSizeFullWaitTime = 0; protected String asyncExecutorLockOwner; protected int asyncExecutorTimerLockTimeInMillis = 300000; protected int asyncExecutorAsyncJobLockTimeInMillis = 300000; protected int asyncExecutorResetExpiredJobsInterval = 60000; protected int asyncExecutorResetExpiredJobsPageSize = 3; protected boolean asyncExecutorMessageQueueMode; protected ExecuteAsyncRunnableFactory asyncExecutorExecuteAsyncRunnableFactory; protected SqlSessionFactory sqlSessionFactory; protected TransactionFactory transactionFactory; protected Set> customMybatisMappers; protected Set customMybatisXMLMappers; protected IdGenerator idGenerator; protected DataSource idGeneratorDataSource; protected String idGeneratorDataSourceJndiName; protected List preBpmnParseHandlers; protected List postBpmnParseHandlers; protected List customDefaultBpmnParseHandlers; protected ActivityBehaviorFactory activityBehaviorFactory; protected ListenerFactory listenerFactory; protected BpmnParseFactory bpmnParseFactory; protected ProcessValidator processValidator; protected List customFormEngines; protected Map formEngines; protected List customFormTypes; protected FormTypes formTypes; protected List customPreVariableTypes; protected List customPostVariableTypes; protected VariableTypes variableTypes; protected boolean serializableVariableTypeTrackDeserializedObjects = true; protected ExpressionManager expressionManager; protected List customScriptingEngineClasses; protected ScriptingEngines scriptingEngines; protected List resolverFactories; protected BusinessCalendarManager businessCalendarManager; protected int executionQueryLimit = 20000; protected int taskQueryLimit = 20000; protected int historicTaskQueryLimit = 20000; protected int historicProcessInstancesQueryLimit = 20000; protected String wsSyncFactoryClassName = "org.activiti.engine.impl.webservice.CxfWebServiceClientFactory"; protected ConcurrentMap wsOverridenEndpointAddresses = new ConcurrentHashMap(); protected CommandContextFactory commandContextFactory; protected TransactionContextFactory transactionContextFactory; protected Map beans; protected DelegateInterceptor delegateInterceptor; protected Map eventHandlers; protected List customEventHandlers; protected FailedJobCommandFactory failedJobCommandFactory; protected boolean enableSafeBpmnXml; protected int batchSizeProcessInstances = 25; protected int batchSizeTasks = 25; protected boolean enableEventDispatcher = true; protected ActivitiEventDispatcher eventDispatcher; protected List eventListeners; protected Map> typedEventListeners; protected boolean enableDatabaseEventLogging; protected DelegateExpressionFieldInjectionMode delegateExpressionFieldInjectionMode; protected int maxLengthStringVariableType; protected boolean isBulkInsertEnabled; protected int maxNrOfStatementsInBulkInsert; public int DEFAULT_MAX_NR_OF_STATEMENTS_BULK_INSERT_SQL_SERVER; protected ObjectMapper objectMapper; protected boolean usingRelationalDatabase; protected boolean enableVerboseExecutionTreeLogging; protected PerformanceSettings performanceSettings; protected boolean isActiviti5CompatibilityEnabled; protected Activiti5CompatibilityHandlerFactory activiti5CompatibilityHandlerFactory; protected Activiti5CompatibilityHandler activiti5CompatibilityHandler; protected Object activiti5ActivityBehaviorFactory; protected Object activiti5ListenerFactory; protected List activiti5PreBpmnParseHandlers; protected List activiti5PostBpmnParseHandlers; protected List activiti5CustomDefaultBpmnParseHandlers; protected Set> activiti5CustomMybatisMappers; protected Set activiti5CustomMybatisXMLMappers; protected static Properties databaseTypeMappings = getDefaultDatabaseTypeMappings(); public static final String DATABASE_TYPE_DM = "dm"; public static final String DATABASE_TYPE_H2 = "h2"; public static final String DATABASE_TYPE_HSQL = "hsql"; public static final String DATABASE_TYPE_MYSQL = "mysql"; public static final String DATABASE_TYPE_ORACLE = "oracle"; public static final String DATABASE_TYPE_POSTGRES = "postgres"; public static final String DATABASE_TYPE_MSSQL = "mssql"; public static final String DATABASE_TYPE_DB2 = "db2"; public ProcessEngineConfigurationImpl() { this.delegateExpressionFieldInjectionMode = DelegateExpressionFieldInjectionMode.MIXED; this.maxLengthStringVariableType = -1; this.isBulkInsertEnabled = true; this.maxNrOfStatementsInBulkInsert = 100; this.DEFAULT_MAX_NR_OF_STATEMENTS_BULK_INSERT_SQL_SERVER = 70; this.objectMapper = new ObjectMapper(); this.usingRelationalDatabase = true; this.performanceSettings = new PerformanceSettings(); } public ProcessEngine buildProcessEngine() { this.init(); ProcessEngineImpl processEngine = new ProcessEngineImpl(this); if (this.isActiviti5CompatibilityEnabled && this.activiti5CompatibilityHandler != null) { Context.setProcessEngineConfiguration(processEngine.getProcessEngineConfiguration()); this.activiti5CompatibilityHandler.getRawProcessEngine(); } this.postProcessEngineInitialisation(); return processEngine; } public void init() { this.initConfigurators(); this.configuratorsBeforeInit(); this.initProcessDiagramGenerator(); this.initHistoryLevel(); this.initExpressionManager(); if (this.usingRelationalDatabase) { this.initDataSource(); } this.initAgendaFactory(); this.initHelpers(); this.initVariableTypes(); this.initBeans(); this.initFormEngines(); this.initFormTypes(); this.initScriptingEngines(); this.initClock(); this.initBusinessCalendarManager(); this.initCommandContextFactory(); this.initTransactionContextFactory(); this.initCommandExecutors(); this.initServices(); this.initIdGenerator(); this.initBehaviorFactory(); this.initListenerFactory(); this.initBpmnParser(); this.initProcessDefinitionCache(); this.initProcessDefinitionInfoCache(); this.initKnowledgeBaseCache(); this.initJobHandlers(); this.initJobManager(); this.initAsyncExecutor(); this.initTransactionFactory(); if (this.usingRelationalDatabase) { this.initSqlSessionFactory(); } this.initSessionFactories(); this.initDataManagers(); this.initEntityManagers(); this.initHistoryManager(); this.initJpa(); this.initDeployers(); this.initDelegateInterceptor(); this.initEventHandlers(); this.initFailedJobCommandFactory(); this.initEventDispatcher(); this.initProcessValidator(); this.initDatabaseEventLogging(); this.initActiviti5CompatibilityHandler(); this.configuratorsAfterInit(); } public void initFailedJobCommandFactory() { if (this.failedJobCommandFactory == null) { this.failedJobCommandFactory = new DefaultFailedJobCommandFactory(); } } public void initCommandExecutors() { this.initDefaultCommandConfig(); this.initSchemaCommandConfig(); this.initCommandInvoker(); this.initCommandInterceptors(); this.initCommandExecutor(); } public void initDefaultCommandConfig() { if (this.defaultCommandConfig == null) { this.defaultCommandConfig = new CommandConfig(); } } public void initSchemaCommandConfig() { if (this.schemaCommandConfig == null) { this.schemaCommandConfig = (new CommandConfig()).transactionNotSupported(); } } public void initCommandInvoker() { if (this.commandInvoker == null) { if (this.enableVerboseExecutionTreeLogging) { this.commandInvoker = new DebugCommandInvoker(); } else { this.commandInvoker = new CommandInvoker(); } } } public void initCommandInterceptors() { if (this.commandInterceptors == null) { this.commandInterceptors = new ArrayList(); if (this.customPreCommandInterceptors != null) { this.commandInterceptors.addAll(this.customPreCommandInterceptors); } this.commandInterceptors.addAll(this.getDefaultCommandInterceptors()); if (this.customPostCommandInterceptors != null) { this.commandInterceptors.addAll(this.customPostCommandInterceptors); } this.commandInterceptors.add(this.commandInvoker); } } public Collection getDefaultCommandInterceptors() { List interceptors = new ArrayList(); interceptors.add(new LogInterceptor()); CommandInterceptor transactionInterceptor = this.createTransactionInterceptor(); if (transactionInterceptor != null) { interceptors.add(transactionInterceptor); } if (this.commandContextFactory != null) { interceptors.add(new CommandContextInterceptor(this.commandContextFactory, this)); } if (this.transactionContextFactory != null) { interceptors.add(new TransactionContextInterceptor(this.transactionContextFactory)); } return interceptors; } public void initCommandExecutor() { if (this.commandExecutor == null) { CommandInterceptor first = this.initInterceptorChain(this.commandInterceptors); this.commandExecutor = new CommandExecutorImpl(this.getDefaultCommandConfig(), first); } } public CommandInterceptor initInterceptorChain(List chain) { if (chain != null && !chain.isEmpty()) { for(int i = 0; i < chain.size() - 1; ++i) { ((CommandInterceptor)chain.get(i)).setNext((CommandInterceptor)chain.get(i + 1)); } return (CommandInterceptor)chain.get(0); } else { throw new ActivitiException("invalid command interceptor chain configuration: " + chain); } } public abstract CommandInterceptor createTransactionInterceptor(); public void initServices() { this.initService(this.repositoryService); this.initService(this.runtimeService); this.initService(this.historyService); this.initService(this.identityService); this.initService(this.taskService); this.initService(this.formService); this.initService(this.managementService); this.initService(this.dynamicBpmnService); } public void initService(Object service) { if (service instanceof ServiceImpl) { ((ServiceImpl)service).setCommandExecutor(this.commandExecutor); } } public void initDataSource() { if (this.dataSource == null) { if (this.dataSourceJndiName != null) { try { this.dataSource = (DataSource)(new InitialContext()).lookup(this.dataSourceJndiName); } catch (Exception var2) { Exception e = var2; throw new ActivitiException("couldn't lookup datasource from " + this.dataSourceJndiName + ": " + e.getMessage(), e); } } else if (this.jdbcUrl != null) { if (this.jdbcDriver == null || this.jdbcUsername == null) { throw new ActivitiException("DataSource or JDBC properties have to be specified in a process engine configuration"); } log.debug("initializing datasource to db: {}", this.jdbcUrl); PooledDataSource pooledDataSource = new PooledDataSource(ReflectUtil.getClassLoader(), this.jdbcDriver, this.jdbcUrl, this.jdbcUsername, this.jdbcPassword); if (this.jdbcMaxActiveConnections > 0) { pooledDataSource.setPoolMaximumActiveConnections(this.jdbcMaxActiveConnections); } if (this.jdbcMaxIdleConnections > 0) { pooledDataSource.setPoolMaximumIdleConnections(this.jdbcMaxIdleConnections); } if (this.jdbcMaxCheckoutTime > 0) { pooledDataSource.setPoolMaximumCheckoutTime(this.jdbcMaxCheckoutTime); } if (this.jdbcMaxWaitTime > 0) { pooledDataSource.setPoolTimeToWait(this.jdbcMaxWaitTime); } if (this.jdbcPingEnabled) { pooledDataSource.setPoolPingEnabled(true); if (this.jdbcPingQuery != null) { pooledDataSource.setPoolPingQuery(this.jdbcPingQuery); } pooledDataSource.setPoolPingConnectionsNotUsedFor(this.jdbcPingConnectionNotUsedFor); } if (this.jdbcDefaultTransactionIsolationLevel > 0) { pooledDataSource.setDefaultTransactionIsolationLevel(this.jdbcDefaultTransactionIsolationLevel); } this.dataSource = pooledDataSource; } if (this.dataSource instanceof PooledDataSource) { ((PooledDataSource)this.dataSource).forceCloseAll(); } } if (this.databaseType == null) { this.initDatabaseType(); } } public static Properties getDefaultDatabaseTypeMappings() { Properties databaseTypeMappings = new Properties(); databaseTypeMappings.setProperty("dm", DATABASE_TYPE_DM); databaseTypeMappings.setProperty("DM DBMS",DATABASE_TYPE_ORACLE); databaseTypeMappings.setProperty("H2", "h2"); databaseTypeMappings.setProperty("HSQL Database Engine", "hsql"); databaseTypeMappings.setProperty("MySQL", "mysql"); databaseTypeMappings.setProperty("Oracle", "oracle"); databaseTypeMappings.setProperty("PostgreSQL", "postgres"); databaseTypeMappings.setProperty("Microsoft SQL Server", "mssql"); databaseTypeMappings.setProperty("db2", "db2"); databaseTypeMappings.setProperty("DB2", "db2"); databaseTypeMappings.setProperty("DB2/NT", "db2"); databaseTypeMappings.setProperty("DB2/NT64", "db2"); databaseTypeMappings.setProperty("DB2 UDP", "db2"); databaseTypeMappings.setProperty("DB2/LINUX", "db2"); databaseTypeMappings.setProperty("DB2/LINUX390", "db2"); databaseTypeMappings.setProperty("DB2/LINUXX8664", "db2"); databaseTypeMappings.setProperty("DB2/LINUXZ64", "db2"); databaseTypeMappings.setProperty("DB2/LINUXPPC64", "db2"); databaseTypeMappings.setProperty("DB2/LINUXPPC64LE", "db2"); databaseTypeMappings.setProperty("DB2/400 SQL", "db2"); databaseTypeMappings.setProperty("DB2/6000", "db2"); databaseTypeMappings.setProperty("DB2 UDB iSeries", "db2"); databaseTypeMappings.setProperty("DB2/AIX64", "db2"); databaseTypeMappings.setProperty("DB2/HPUX", "db2"); databaseTypeMappings.setProperty("DB2/HP64", "db2"); databaseTypeMappings.setProperty("DB2/SUN", "db2"); databaseTypeMappings.setProperty("DB2/SUN64", "db2"); databaseTypeMappings.setProperty("DB2/PTX", "db2"); databaseTypeMappings.setProperty("DB2/2", "db2"); databaseTypeMappings.setProperty("DB2 UDB AS400", "db2"); return databaseTypeMappings; } public void initDatabaseType() { Connection connection = null; try { connection = this.dataSource.getConnection(); DatabaseMetaData databaseMetaData = connection.getMetaData(); String databaseProductName = databaseMetaData.getDatabaseProductName(); log.debug("database product name: '{}'", databaseProductName); this.databaseType = databaseTypeMappings.getProperty(databaseProductName); if (this.databaseType == null) { throw new ActivitiException("couldn't deduct database type from database product name '" + databaseProductName + "'"); } log.debug("using database type: {}", this.databaseType); if ("mssql".equals(this.databaseType)) { this.maxNrOfStatementsInBulkInsert = this.DEFAULT_MAX_NR_OF_STATEMENTS_BULK_INSERT_SQL_SERVER; } } catch (SQLException var12) { SQLException e = var12; log.error("Exception while initializing Database connection", e); } finally { try { if (connection != null) { connection.close(); } } catch (SQLException var11) { SQLException e = var11; log.error("Exception while closing the Database connection", e); } } } public void initTransactionFactory() { if (this.transactionFactory == null) { if (this.transactionsExternallyManaged) { this.transactionFactory = new ManagedTransactionFactory(); } else { this.transactionFactory = new JdbcTransactionFactory(); } } } public void initSqlSessionFactory() { if (this.sqlSessionFactory == null) { InputStream inputStream = null; try { inputStream = this.getMyBatisXmlConfigurationStream(); Environment environment = new Environment("default", this.transactionFactory, this.dataSource); Reader reader = new InputStreamReader(inputStream); Properties properties = new Properties(); properties.put("prefix", this.databaseTablePrefix); String wildcardEscapeClause = ""; if (this.databaseWildcardEscapeCharacter != null && this.databaseWildcardEscapeCharacter.length() != 0) { wildcardEscapeClause = " escape '" + this.databaseWildcardEscapeCharacter + "'"; } properties.put("wildcardEscapeClause", wildcardEscapeClause); properties.put("limitBefore", ""); properties.put("limitAfter", ""); properties.put("limitBetween", ""); properties.put("limitOuterJoinBetween", ""); properties.put("limitBeforeNativeQuery", ""); properties.put("orderBy", "order by ${orderByColumns}"); properties.put("blobType", "BLOB"); properties.put("boolValue", "TRUE"); if (this.databaseType != null) { properties.load(this.getResourceAsStream("org/activiti/db/properties/" + this.databaseType + ".properties")); } Configuration configuration = this.initMybatisConfiguration(environment, reader, properties); this.sqlSessionFactory = new DefaultSqlSessionFactory(configuration); } catch (Exception var10) { Exception e = var10; throw new ActivitiException("Error while building ibatis SqlSessionFactory: " + e.getMessage(), e); } finally { IoUtil.closeSilently(inputStream); } } } public Configuration initMybatisConfiguration(Environment environment, Reader reader, Properties properties) { XMLConfigBuilder parser = new XMLConfigBuilder(reader, "", properties); Configuration configuration = parser.getConfiguration(); if (this.databaseType != null) { configuration.setDatabaseId(this.databaseType); } configuration.setEnvironment(environment); this.initMybatisTypeHandlers(configuration); this.initCustomMybatisMappers(configuration); configuration = this.parseMybatisConfiguration(configuration, parser); return configuration; } public void initMybatisTypeHandlers(Configuration configuration) { configuration.getTypeHandlerRegistry().register(VariableType.class, JdbcType.VARCHAR, new IbatisVariableTypeHandler()); } public void initCustomMybatisMappers(Configuration configuration) { if (this.getCustomMybatisMappers() != null) { Iterator var2 = this.getCustomMybatisMappers().iterator(); while(var2.hasNext()) { Class clazz = (Class)var2.next(); configuration.addMapper(clazz); } } } public Configuration parseMybatisConfiguration(Configuration configuration, XMLConfigBuilder parser) { return this.parseCustomMybatisXMLMappers(parser.parse()); } public Configuration parseCustomMybatisXMLMappers(Configuration configuration) { if (this.getCustomMybatisXMLMappers() != null) { Iterator var2 = this.getCustomMybatisXMLMappers().iterator(); while(var2.hasNext()) { String resource = (String)var2.next(); XMLMapperBuilder mapperParser = new XMLMapperBuilder(this.getResourceAsStream(resource), configuration, resource, configuration.getSqlFragments()); mapperParser.parse(); } } return configuration; } protected InputStream getResourceAsStream(String resource) { return ReflectUtil.getResourceAsStream(resource); } public InputStream getMyBatisXmlConfigurationStream() { return this.getResourceAsStream("org/activiti/db/mapping/mappings.xml"); } public Set> getCustomMybatisMappers() { return this.customMybatisMappers; } public void setCustomMybatisMappers(Set> customMybatisMappers) { this.customMybatisMappers = customMybatisMappers; } public Set getCustomMybatisXMLMappers() { return this.customMybatisXMLMappers; } public void setCustomMybatisXMLMappers(Set customMybatisXMLMappers) { this.customMybatisXMLMappers = customMybatisXMLMappers; } public void initDataManagers() { if (this.attachmentDataManager == null) { this.attachmentDataManager = new MybatisAttachmentDataManager(this); } if (this.byteArrayDataManager == null) { this.byteArrayDataManager = new MybatisByteArrayDataManager(this); } if (this.commentDataManager == null) { this.commentDataManager = new MybatisCommentDataManager(this); } if (this.deploymentDataManager == null) { this.deploymentDataManager = new MybatisDeploymentDataManager(this); } if (this.eventLogEntryDataManager == null) { this.eventLogEntryDataManager = new MybatisEventLogEntryDataManager(this); } if (this.eventSubscriptionDataManager == null) { this.eventSubscriptionDataManager = new MybatisEventSubscriptionDataManager(this); } if (this.executionDataManager == null) { this.executionDataManager = new MybatisExecutionDataManager(this); } if (this.groupDataManager == null) { this.groupDataManager = new MybatisGroupDataManager(this); } if (this.historicActivityInstanceDataManager == null) { this.historicActivityInstanceDataManager = new MybatisHistoricActivityInstanceDataManager(this); } if (this.historicDetailDataManager == null) { this.historicDetailDataManager = new MybatisHistoricDetailDataManager(this); } if (this.historicIdentityLinkDataManager == null) { this.historicIdentityLinkDataManager = new MybatisHistoricIdentityLinkDataManager(this); } if (this.historicProcessInstanceDataManager == null) { this.historicProcessInstanceDataManager = new MybatisHistoricProcessInstanceDataManager(this); } if (this.historicTaskInstanceDataManager == null) { this.historicTaskInstanceDataManager = new MybatisHistoricTaskInstanceDataManager(this); } if (this.historicVariableInstanceDataManager == null) { this.historicVariableInstanceDataManager = new MybatisHistoricVariableInstanceDataManager(this); } if (this.identityInfoDataManager == null) { this.identityInfoDataManager = new MybatisIdentityInfoDataManager(this); } if (this.identityLinkDataManager == null) { this.identityLinkDataManager = new MybatisIdentityLinkDataManager(this); } if (this.jobDataManager == null) { this.jobDataManager = new MybatisJobDataManager(this); } if (this.timerJobDataManager == null) { this.timerJobDataManager = new MybatisTimerJobDataManager(this); } if (this.suspendedJobDataManager == null) { this.suspendedJobDataManager = new MybatisSuspendedJobDataManager(this); } if (this.deadLetterJobDataManager == null) { this.deadLetterJobDataManager = new MybatisDeadLetterJobDataManager(this); } if (this.membershipDataManager == null) { this.membershipDataManager = new MybatisMembershipDataManager(this); } if (this.modelDataManager == null) { this.modelDataManager = new MybatisModelDataManager(this); } if (this.processDefinitionDataManager == null) { this.processDefinitionDataManager = new MybatisProcessDefinitionDataManager(this); } if (this.processDefinitionInfoDataManager == null) { this.processDefinitionInfoDataManager = new MybatisProcessDefinitionInfoDataManager(this); } if (this.propertyDataManager == null) { this.propertyDataManager = new MybatisPropertyDataManager(this); } if (this.resourceDataManager == null) { this.resourceDataManager = new MybatisResourceDataManager(this); } if (this.taskDataManager == null) { this.taskDataManager = new MybatisTaskDataManager(this); } if (this.userDataManager == null) { this.userDataManager = new MybatisUserDataManager(this); } if (this.variableInstanceDataManager == null) { this.variableInstanceDataManager = new MybatisVariableInstanceDataManager(this); } } public void initEntityManagers() { if (this.attachmentEntityManager == null) { this.attachmentEntityManager = new AttachmentEntityManagerImpl(this, this.attachmentDataManager); } if (this.byteArrayEntityManager == null) { this.byteArrayEntityManager = new ByteArrayEntityManagerImpl(this, this.byteArrayDataManager); } if (this.commentEntityManager == null) { this.commentEntityManager = new CommentEntityManagerImpl(this, this.commentDataManager); } if (this.deploymentEntityManager == null) { this.deploymentEntityManager = new DeploymentEntityManagerImpl(this, this.deploymentDataManager); } if (this.eventLogEntryEntityManager == null) { this.eventLogEntryEntityManager = new EventLogEntryEntityManagerImpl(this, this.eventLogEntryDataManager); } if (this.eventSubscriptionEntityManager == null) { this.eventSubscriptionEntityManager = new EventSubscriptionEntityManagerImpl(this, this.eventSubscriptionDataManager); } if (this.executionEntityManager == null) { this.executionEntityManager = new ExecutionEntityManagerImpl(this, this.executionDataManager); } if (this.groupEntityManager == null) { this.groupEntityManager = new GroupEntityManagerImpl(this, this.groupDataManager); } if (this.historicActivityInstanceEntityManager == null) { this.historicActivityInstanceEntityManager = new HistoricActivityInstanceEntityManagerImpl(this, this.historicActivityInstanceDataManager); } if (this.historicDetailEntityManager == null) { this.historicDetailEntityManager = new HistoricDetailEntityManagerImpl(this, this.historicDetailDataManager); } if (this.historicIdentityLinkEntityManager == null) { this.historicIdentityLinkEntityManager = new HistoricIdentityLinkEntityManagerImpl(this, this.historicIdentityLinkDataManager); } if (this.historicProcessInstanceEntityManager == null) { this.historicProcessInstanceEntityManager = new HistoricProcessInstanceEntityManagerImpl(this, this.historicProcessInstanceDataManager); } if (this.historicTaskInstanceEntityManager == null) { this.historicTaskInstanceEntityManager = new HistoricTaskInstanceEntityManagerImpl(this, this.historicTaskInstanceDataManager); } if (this.historicVariableInstanceEntityManager == null) { this.historicVariableInstanceEntityManager = new HistoricVariableInstanceEntityManagerImpl(this, this.historicVariableInstanceDataManager); } if (this.identityInfoEntityManager == null) { this.identityInfoEntityManager = new IdentityInfoEntityManagerImpl(this, this.identityInfoDataManager); } if (this.identityLinkEntityManager == null) { this.identityLinkEntityManager = new IdentityLinkEntityManagerImpl(this, this.identityLinkDataManager); } if (this.jobEntityManager == null) { this.jobEntityManager = new JobEntityManagerImpl(this, this.jobDataManager); } if (this.timerJobEntityManager == null) { this.timerJobEntityManager = new TimerJobEntityManagerImpl(this, this.timerJobDataManager); } if (this.suspendedJobEntityManager == null) { this.suspendedJobEntityManager = new SuspendedJobEntityManagerImpl(this, this.suspendedJobDataManager); } if (this.deadLetterJobEntityManager == null) { this.deadLetterJobEntityManager = new DeadLetterJobEntityManagerImpl(this, this.deadLetterJobDataManager); } if (this.membershipEntityManager == null) { this.membershipEntityManager = new MembershipEntityManagerImpl(this, this.membershipDataManager); } if (this.modelEntityManager == null) { this.modelEntityManager = new ModelEntityManagerImpl(this, this.modelDataManager); } if (this.processDefinitionEntityManager == null) { this.processDefinitionEntityManager = new ProcessDefinitionEntityManagerImpl(this, this.processDefinitionDataManager); } if (this.processDefinitionInfoEntityManager == null) { this.processDefinitionInfoEntityManager = new ProcessDefinitionInfoEntityManagerImpl(this, this.processDefinitionInfoDataManager); } if (this.propertyEntityManager == null) { this.propertyEntityManager = new PropertyEntityManagerImpl(this, this.propertyDataManager); } if (this.resourceEntityManager == null) { this.resourceEntityManager = new ResourceEntityManagerImpl(this, this.resourceDataManager); } if (this.tableDataManager == null) { this.tableDataManager = new TableDataManagerImpl(this); } if (this.taskEntityManager == null) { this.taskEntityManager = new TaskEntityManagerImpl(this, this.taskDataManager); } if (this.userEntityManager == null) { this.userEntityManager = new UserEntityManagerImpl(this, this.userDataManager); } if (this.variableInstanceEntityManager == null) { this.variableInstanceEntityManager = new VariableInstanceEntityManagerImpl(this, this.variableInstanceDataManager); } } public void initHistoryManager() { if (this.historyManager == null) { this.historyManager = new DefaultHistoryManager(this, this.historyLevel); } } public void initJobManager() { if (this.jobManager == null) { this.jobManager = new DefaultJobManager(this); } this.jobManager.setProcessEngineConfiguration(this); } public void initSessionFactories() { if (this.sessionFactories == null) { this.sessionFactories = new HashMap(); if (this.usingRelationalDatabase) { this.initDbSqlSessionFactory(); } this.addSessionFactory(new GenericManagerFactory(EntityCache.class, EntityCacheImpl.class)); } if (this.customSessionFactories != null) { Iterator var1 = this.customSessionFactories.iterator(); while(var1.hasNext()) { SessionFactory sessionFactory = (SessionFactory)var1.next(); this.addSessionFactory(sessionFactory); } } } public void initDbSqlSessionFactory() { if (this.dbSqlSessionFactory == null) { this.dbSqlSessionFactory = this.createDbSqlSessionFactory(); } this.dbSqlSessionFactory.setDatabaseType(this.databaseType); this.dbSqlSessionFactory.setIdGenerator(this.idGenerator); this.dbSqlSessionFactory.setSqlSessionFactory(this.sqlSessionFactory); this.dbSqlSessionFactory.setDbIdentityUsed(this.isDbIdentityUsed); this.dbSqlSessionFactory.setDbHistoryUsed(this.isDbHistoryUsed); this.dbSqlSessionFactory.setDatabaseTablePrefix(this.databaseTablePrefix); this.dbSqlSessionFactory.setTablePrefixIsSchema(this.tablePrefixIsSchema); this.dbSqlSessionFactory.setDatabaseCatalog(this.databaseCatalog); this.dbSqlSessionFactory.setDatabaseSchema(this.databaseSchema); this.dbSqlSessionFactory.setBulkInsertEnabled(this.isBulkInsertEnabled, this.databaseType); this.dbSqlSessionFactory.setMaxNrOfStatementsInBulkInsert(this.maxNrOfStatementsInBulkInsert); this.addSessionFactory(this.dbSqlSessionFactory); } public DbSqlSessionFactory createDbSqlSessionFactory() { return new DbSqlSessionFactory(); } public void addSessionFactory(SessionFactory sessionFactory) { this.sessionFactories.put(sessionFactory.getSessionType(), sessionFactory); } public void initConfigurators() { this.allConfigurators = new ArrayList(); if (this.configurators != null) { Iterator var1 = this.configurators.iterator(); while(var1.hasNext()) { ProcessEngineConfigurator configurator = (ProcessEngineConfigurator)var1.next(); this.allConfigurators.add(configurator); } } if (this.enableConfiguratorServiceLoader) { ClassLoader classLoader = this.getClassLoader(); if (classLoader == null) { classLoader = ReflectUtil.getClassLoader(); } ServiceLoader configuratorServiceLoader = ServiceLoader.load(ProcessEngineConfigurator.class, classLoader); int nrOfServiceLoadedConfigurators = 0; Iterator var4; ProcessEngineConfigurator configurator; for(var4 = configuratorServiceLoader.iterator(); var4.hasNext(); ++nrOfServiceLoadedConfigurators) { configurator = (ProcessEngineConfigurator)var4.next(); this.allConfigurators.add(configurator); } if (nrOfServiceLoadedConfigurators > 0) { log.info("Found {} auto-discoverable Process Engine Configurator{}", nrOfServiceLoadedConfigurators++, nrOfServiceLoadedConfigurators > 1 ? "s" : ""); } if (!this.allConfigurators.isEmpty()) { Collections.sort(this.allConfigurators, new Comparator() { public int compare(ProcessEngineConfigurator configurator1, ProcessEngineConfigurator configurator2) { int priority1 = configurator1.getPriority(); int priority2 = configurator2.getPriority(); if (priority1 < priority2) { return -1; } else { return priority1 > priority2 ? 1 : 0; } } }); log.info("Found {} Process Engine Configurators in total:", this.allConfigurators.size()); var4 = this.allConfigurators.iterator(); while(var4.hasNext()) { configurator = (ProcessEngineConfigurator)var4.next(); log.info("{} (priority:{})", configurator.getClass(), configurator.getPriority()); } } } } public void configuratorsBeforeInit() { Iterator var1 = this.allConfigurators.iterator(); while(var1.hasNext()) { ProcessEngineConfigurator configurator = (ProcessEngineConfigurator)var1.next(); log.info("Executing beforeInit() of {} (priority:{})", configurator.getClass(), configurator.getPriority()); configurator.beforeInit(this); } } public void configuratorsAfterInit() { Iterator var1 = this.allConfigurators.iterator(); while(var1.hasNext()) { ProcessEngineConfigurator configurator = (ProcessEngineConfigurator)var1.next(); log.info("Executing configure() of {} (priority:{})", configurator.getClass(), configurator.getPriority()); configurator.configure(this); } } public void initProcessDefinitionCache() { if (this.processDefinitionCache == null) { if (this.processDefinitionCacheLimit <= 0) { this.processDefinitionCache = new DefaultDeploymentCache(); } else { this.processDefinitionCache = new DefaultDeploymentCache(this.processDefinitionCacheLimit); } } } public void initProcessDefinitionInfoCache() { if (this.processDefinitionInfoCache == null) { if (this.processDefinitionInfoCacheLimit <= 0) { this.processDefinitionInfoCache = new ProcessDefinitionInfoCache(this.commandExecutor); } else { this.processDefinitionInfoCache = new ProcessDefinitionInfoCache(this.commandExecutor, this.processDefinitionInfoCacheLimit); } } } public void initKnowledgeBaseCache() { if (this.knowledgeBaseCache == null) { if (this.knowledgeBaseCacheLimit <= 0) { this.knowledgeBaseCache = new DefaultDeploymentCache(); } else { this.knowledgeBaseCache = new DefaultDeploymentCache(this.knowledgeBaseCacheLimit); } } } public void initDeployers() { if (this.deployers == null) { this.deployers = new ArrayList(); if (this.customPreDeployers != null) { this.deployers.addAll(this.customPreDeployers); } this.deployers.addAll(this.getDefaultDeployers()); if (this.customPostDeployers != null) { this.deployers.addAll(this.customPostDeployers); } } if (this.deploymentManager == null) { this.deploymentManager = new DeploymentManager(); this.deploymentManager.setDeployers(this.deployers); this.deploymentManager.setProcessDefinitionCache(this.processDefinitionCache); this.deploymentManager.setProcessDefinitionInfoCache(this.processDefinitionInfoCache); this.deploymentManager.setKnowledgeBaseCache(this.knowledgeBaseCache); this.deploymentManager.setProcessEngineConfiguration(this); this.deploymentManager.setProcessDefinitionEntityManager(this.processDefinitionEntityManager); this.deploymentManager.setDeploymentEntityManager(this.deploymentEntityManager); } } public void initBpmnDeployerDependencies() { if (this.parsedDeploymentBuilderFactory == null) { this.parsedDeploymentBuilderFactory = new ParsedDeploymentBuilderFactory(); } if (this.parsedDeploymentBuilderFactory.getBpmnParser() == null) { this.parsedDeploymentBuilderFactory.setBpmnParser(this.bpmnParser); } if (this.timerManager == null) { this.timerManager = new TimerManager(); } if (this.eventSubscriptionManager == null) { this.eventSubscriptionManager = new EventSubscriptionManager(); } if (this.bpmnDeploymentHelper == null) { this.bpmnDeploymentHelper = new BpmnDeploymentHelper(); } if (this.bpmnDeploymentHelper.getTimerManager() == null) { this.bpmnDeploymentHelper.setTimerManager(this.timerManager); } if (this.bpmnDeploymentHelper.getEventSubscriptionManager() == null) { this.bpmnDeploymentHelper.setEventSubscriptionManager(this.eventSubscriptionManager); } if (this.cachingAndArtifactsManager == null) { this.cachingAndArtifactsManager = new CachingAndArtifactsManager(); } if (this.processDefinitionDiagramHelper == null) { this.processDefinitionDiagramHelper = new ProcessDefinitionDiagramHelper(); } } public Collection getDefaultDeployers() { List defaultDeployers = new ArrayList(); if (this.bpmnDeployer == null) { this.bpmnDeployer = new BpmnDeployer(); } this.initBpmnDeployerDependencies(); this.bpmnDeployer.setIdGenerator(this.idGenerator); this.bpmnDeployer.setParsedDeploymentBuilderFactory(this.parsedDeploymentBuilderFactory); this.bpmnDeployer.setBpmnDeploymentHelper(this.bpmnDeploymentHelper); this.bpmnDeployer.setCachingAndArtifactsManager(this.cachingAndArtifactsManager); this.bpmnDeployer.setProcessDefinitionDiagramHelper(this.processDefinitionDiagramHelper); defaultDeployers.add(this.bpmnDeployer); return defaultDeployers; } public void initListenerFactory() { if (this.listenerFactory == null) { DefaultListenerFactory defaultListenerFactory = new DefaultListenerFactory(); defaultListenerFactory.setExpressionManager(this.expressionManager); this.listenerFactory = defaultListenerFactory; } else if (this.listenerFactory instanceof AbstractBehaviorFactory && ((AbstractBehaviorFactory)this.listenerFactory).getExpressionManager() == null) { ((AbstractBehaviorFactory)this.listenerFactory).setExpressionManager(this.expressionManager); } } public void initBehaviorFactory() { if (this.activityBehaviorFactory == null) { DefaultActivityBehaviorFactory defaultActivityBehaviorFactory = new DefaultActivityBehaviorFactory(); defaultActivityBehaviorFactory.setExpressionManager(this.expressionManager); this.activityBehaviorFactory = defaultActivityBehaviorFactory; } else if (this.activityBehaviorFactory instanceof AbstractBehaviorFactory && ((AbstractBehaviorFactory)this.activityBehaviorFactory).getExpressionManager() == null) { ((AbstractBehaviorFactory)this.activityBehaviorFactory).setExpressionManager(this.expressionManager); } } public void initBpmnParser() { if (this.bpmnParser == null) { this.bpmnParser = new BpmnParser(); } if (this.bpmnParseFactory == null) { this.bpmnParseFactory = new DefaultBpmnParseFactory(); } this.bpmnParser.setBpmnParseFactory(this.bpmnParseFactory); this.bpmnParser.setActivityBehaviorFactory(this.activityBehaviorFactory); this.bpmnParser.setListenerFactory(this.listenerFactory); List parseHandlers = new ArrayList(); if (this.getPreBpmnParseHandlers() != null) { parseHandlers.addAll(this.getPreBpmnParseHandlers()); } parseHandlers.addAll(this.getDefaultBpmnParseHandlers()); if (this.getPostBpmnParseHandlers() != null) { parseHandlers.addAll(this.getPostBpmnParseHandlers()); } BpmnParseHandlers bpmnParseHandlers = new BpmnParseHandlers(); bpmnParseHandlers.addHandlers(parseHandlers); this.bpmnParser.setBpmnParserHandlers(bpmnParseHandlers); } public List getDefaultBpmnParseHandlers() { List bpmnParserHandlers = new ArrayList(); bpmnParserHandlers.add(new BoundaryEventParseHandler()); bpmnParserHandlers.add(new BusinessRuleParseHandler()); bpmnParserHandlers.add(new CallActivityParseHandler()); bpmnParserHandlers.add(new CancelEventDefinitionParseHandler()); bpmnParserHandlers.add(new CompensateEventDefinitionParseHandler()); bpmnParserHandlers.add(new EndEventParseHandler()); bpmnParserHandlers.add(new ErrorEventDefinitionParseHandler()); bpmnParserHandlers.add(new EventBasedGatewayParseHandler()); bpmnParserHandlers.add(new ExclusiveGatewayParseHandler()); bpmnParserHandlers.add(new InclusiveGatewayParseHandler()); bpmnParserHandlers.add(new IntermediateCatchEventParseHandler()); bpmnParserHandlers.add(new IntermediateThrowEventParseHandler()); bpmnParserHandlers.add(new ManualTaskParseHandler()); bpmnParserHandlers.add(new MessageEventDefinitionParseHandler()); bpmnParserHandlers.add(new ParallelGatewayParseHandler()); bpmnParserHandlers.add(new ProcessParseHandler()); bpmnParserHandlers.add(new ReceiveTaskParseHandler()); bpmnParserHandlers.add(new ScriptTaskParseHandler()); bpmnParserHandlers.add(new SendTaskParseHandler()); bpmnParserHandlers.add(new SequenceFlowParseHandler()); bpmnParserHandlers.add(new ServiceTaskParseHandler()); bpmnParserHandlers.add(new SignalEventDefinitionParseHandler()); bpmnParserHandlers.add(new StartEventParseHandler()); bpmnParserHandlers.add(new SubProcessParseHandler()); bpmnParserHandlers.add(new EventSubProcessParseHandler()); bpmnParserHandlers.add(new AdhocSubProcessParseHandler()); bpmnParserHandlers.add(new TaskParseHandler()); bpmnParserHandlers.add(new TimerEventDefinitionParseHandler()); bpmnParserHandlers.add(new TransactionParseHandler()); bpmnParserHandlers.add(new UserTaskParseHandler()); if (this.customDefaultBpmnParseHandlers != null) { Map, BpmnParseHandler> customParseHandlerMap = new HashMap(); Iterator var3 = this.customDefaultBpmnParseHandlers.iterator(); BpmnParseHandler defaultBpmnParseHandler; while(var3.hasNext()) { defaultBpmnParseHandler = (BpmnParseHandler)var3.next(); Iterator var5 = defaultBpmnParseHandler.getHandledTypes().iterator(); while(var5.hasNext()) { Class handledType = (Class)var5.next(); customParseHandlerMap.put(handledType, defaultBpmnParseHandler); } } for(int i = 0; i < bpmnParserHandlers.size(); ++i) { defaultBpmnParseHandler = (BpmnParseHandler)bpmnParserHandlers.get(i); if (defaultBpmnParseHandler.getHandledTypes().size() != 1) { StringBuilder supportedTypes = new StringBuilder(); Iterator var12 = defaultBpmnParseHandler.getHandledTypes().iterator(); while(var12.hasNext()) { Class type = (Class)var12.next(); supportedTypes.append(" ").append(type.getCanonicalName()).append(" "); } throw new ActivitiException("The default BPMN parse handlers should only support one type, but " + defaultBpmnParseHandler.getClass() + " supports " + supportedTypes.toString() + ". This is likely a programmatic error"); } Class handledType = (Class)defaultBpmnParseHandler.getHandledTypes().iterator().next(); if (customParseHandlerMap.containsKey(handledType)) { BpmnParseHandler newBpmnParseHandler = (BpmnParseHandler)customParseHandlerMap.get(handledType); log.info("Replacing default BpmnParseHandler " + defaultBpmnParseHandler.getClass().getName() + " with " + newBpmnParseHandler.getClass().getName()); bpmnParserHandlers.set(i, newBpmnParseHandler); } } } return bpmnParserHandlers; } public void initClock() { if (this.clock == null) { this.clock = new DefaultClockImpl(); } } public void initProcessDiagramGenerator() { if (this.processDiagramGenerator == null) { this.processDiagramGenerator = new DefaultProcessDiagramGenerator(); } } public void initAgendaFactory() { if (this.engineAgendaFactory == null) { this.engineAgendaFactory = new DefaultActivitiEngineAgendaFactory(); } } public void initJobHandlers() { this.jobHandlers = new HashMap(); AsyncContinuationJobHandler asyncContinuationJobHandler = new AsyncContinuationJobHandler(); this.jobHandlers.put(asyncContinuationJobHandler.getType(), asyncContinuationJobHandler); TriggerTimerEventJobHandler triggerTimerEventJobHandler = new TriggerTimerEventJobHandler(); this.jobHandlers.put(triggerTimerEventJobHandler.getType(), triggerTimerEventJobHandler); TimerStartEventJobHandler timerStartEvent = new TimerStartEventJobHandler(); this.jobHandlers.put(timerStartEvent.getType(), timerStartEvent); TimerSuspendProcessDefinitionHandler suspendProcessDefinitionHandler = new TimerSuspendProcessDefinitionHandler(); this.jobHandlers.put(suspendProcessDefinitionHandler.getType(), suspendProcessDefinitionHandler); TimerActivateProcessDefinitionHandler activateProcessDefinitionHandler = new TimerActivateProcessDefinitionHandler(); this.jobHandlers.put(activateProcessDefinitionHandler.getType(), activateProcessDefinitionHandler); ProcessEventJobHandler processEventJobHandler = new ProcessEventJobHandler(); this.jobHandlers.put(processEventJobHandler.getType(), processEventJobHandler); if (this.getCustomJobHandlers() != null) { Iterator var7 = this.getCustomJobHandlers().iterator(); while(var7.hasNext()) { JobHandler customJobHandler = (JobHandler)var7.next(); this.jobHandlers.put(customJobHandler.getType(), customJobHandler); } } } public void initAsyncExecutor() { if (this.asyncExecutor == null) { DefaultAsyncJobExecutor defaultAsyncExecutor = new DefaultAsyncJobExecutor(); defaultAsyncExecutor.setMessageQueueMode(this.asyncExecutorMessageQueueMode); defaultAsyncExecutor.setCorePoolSize(this.asyncExecutorCorePoolSize); defaultAsyncExecutor.setMaxPoolSize(this.asyncExecutorMaxPoolSize); defaultAsyncExecutor.setKeepAliveTime(this.asyncExecutorThreadKeepAliveTime); if (this.asyncExecutorThreadPoolQueue != null) { defaultAsyncExecutor.setThreadPoolQueue(this.asyncExecutorThreadPoolQueue); } defaultAsyncExecutor.setQueueSize(this.asyncExecutorThreadPoolQueueSize); defaultAsyncExecutor.setDefaultTimerJobAcquireWaitTimeInMillis(this.asyncExecutorDefaultTimerJobAcquireWaitTime); defaultAsyncExecutor.setDefaultAsyncJobAcquireWaitTimeInMillis(this.asyncExecutorDefaultAsyncJobAcquireWaitTime); defaultAsyncExecutor.setDefaultQueueSizeFullWaitTimeInMillis(this.asyncExecutorDefaultQueueSizeFullWaitTime); defaultAsyncExecutor.setTimerLockTimeInMillis(this.asyncExecutorTimerLockTimeInMillis); defaultAsyncExecutor.setAsyncJobLockTimeInMillis(this.asyncExecutorAsyncJobLockTimeInMillis); if (this.asyncExecutorLockOwner != null) { defaultAsyncExecutor.setLockOwner(this.asyncExecutorLockOwner); } defaultAsyncExecutor.setResetExpiredJobsInterval(this.asyncExecutorResetExpiredJobsInterval); defaultAsyncExecutor.setResetExpiredJobsPageSize(this.asyncExecutorResetExpiredJobsPageSize); defaultAsyncExecutor.setSecondsToWaitOnShutdown(this.asyncExecutorSecondsToWaitOnShutdown); this.asyncExecutor = defaultAsyncExecutor; } this.asyncExecutor.setProcessEngineConfiguration(this); this.asyncExecutor.setAutoActivate(this.asyncExecutorActivate); } public void initHistoryLevel() { if (this.historyLevel == null) { this.historyLevel = HistoryLevel.getHistoryLevelForKey(this.getHistory()); } } public void initIdGenerator() { if (this.idGenerator == null) { CommandExecutor idGeneratorCommandExecutor = null; StandaloneProcessEngineConfiguration processEngineConfiguration; if (this.idGeneratorDataSource != null) { processEngineConfiguration = new StandaloneProcessEngineConfiguration(); processEngineConfiguration.setDataSource(this.idGeneratorDataSource); processEngineConfiguration.setDatabaseSchemaUpdate("false"); processEngineConfiguration.init(); idGeneratorCommandExecutor = processEngineConfiguration.getCommandExecutor(); } else if (this.idGeneratorDataSourceJndiName != null) { processEngineConfiguration = new StandaloneProcessEngineConfiguration(); processEngineConfiguration.setDataSourceJndiName(this.idGeneratorDataSourceJndiName); processEngineConfiguration.setDatabaseSchemaUpdate("false"); processEngineConfiguration.init(); idGeneratorCommandExecutor = processEngineConfiguration.getCommandExecutor(); } else { idGeneratorCommandExecutor = this.getCommandExecutor(); } DbIdGenerator dbIdGenerator = new DbIdGenerator(); dbIdGenerator.setIdBlockSize(this.idBlockSize); dbIdGenerator.setCommandExecutor(idGeneratorCommandExecutor); dbIdGenerator.setCommandConfig(this.getDefaultCommandConfig().transactionRequiresNew()); this.idGenerator = dbIdGenerator; } } public void initCommandContextFactory() { if (this.commandContextFactory == null) { this.commandContextFactory = new CommandContextFactory(); } this.commandContextFactory.setProcessEngineConfiguration(this); } public void initTransactionContextFactory() { if (this.transactionContextFactory == null) { this.transactionContextFactory = new StandaloneMybatisTransactionContextFactory(); } } public void initHelpers() { if (this.processInstanceHelper == null) { this.processInstanceHelper = new ProcessInstanceHelper(); } if (this.listenerNotificationHelper == null) { this.listenerNotificationHelper = new ListenerNotificationHelper(); } } public void initVariableTypes() { if (this.variableTypes == null) { this.variableTypes = new DefaultVariableTypes(); Iterator var1; VariableType customVariableType; if (this.customPreVariableTypes != null) { var1 = this.customPreVariableTypes.iterator(); while(var1.hasNext()) { customVariableType = (VariableType)var1.next(); this.variableTypes.addType(customVariableType); } } this.variableTypes.addType(new NullType()); this.variableTypes.addType(new StringType(this.getMaxLengthString())); this.variableTypes.addType(new LongStringType(this.getMaxLengthString() + 1)); this.variableTypes.addType(new BooleanType()); this.variableTypes.addType(new ShortType()); this.variableTypes.addType(new IntegerType()); this.variableTypes.addType(new LongType()); this.variableTypes.addType(new DateType()); this.variableTypes.addType(new JodaDateType()); this.variableTypes.addType(new JodaDateTimeType()); this.variableTypes.addType(new DoubleType()); this.variableTypes.addType(new UUIDType()); this.variableTypes.addType(new JsonType(this.getMaxLengthString(), this.objectMapper)); this.variableTypes.addType(new LongJsonType(this.getMaxLengthString() + 1, this.objectMapper)); this.variableTypes.addType(new ByteArrayType()); this.variableTypes.addType(new SerializableType(this.serializableVariableTypeTrackDeserializedObjects)); this.variableTypes.addType(new CustomObjectType("item", ItemInstance.class)); this.variableTypes.addType(new CustomObjectType("message", MessageInstance.class)); if (this.customPostVariableTypes != null) { var1 = this.customPostVariableTypes.iterator(); while(var1.hasNext()) { customVariableType = (VariableType)var1.next(); this.variableTypes.addType(customVariableType); } } } } public int getMaxLengthString() { if (this.maxLengthStringVariableType == -1) { return "oracle".equalsIgnoreCase(this.databaseType) ? 2000 : 4000; } else { return this.maxLengthStringVariableType; } } public void initFormEngines() { if (this.formEngines == null) { this.formEngines = new HashMap(); FormEngine defaultFormEngine = new JuelFormEngine(); this.formEngines.put("", defaultFormEngine); this.formEngines.put(defaultFormEngine.getName(), defaultFormEngine); } if (this.customFormEngines != null) { Iterator var3 = this.customFormEngines.iterator(); while(var3.hasNext()) { FormEngine formEngine = (FormEngine)var3.next(); this.formEngines.put(formEngine.getName(), formEngine); } } } public void initFormTypes() { if (this.formTypes == null) { this.formTypes = new FormTypes(); this.formTypes.addFormType(new StringFormType()); this.formTypes.addFormType(new LongFormType()); this.formTypes.addFormType(new DateFormType("dd/MM/yyyy")); this.formTypes.addFormType(new BooleanFormType()); this.formTypes.addFormType(new DoubleFormType()); } if (this.customFormTypes != null) { Iterator var1 = this.customFormTypes.iterator(); while(var1.hasNext()) { AbstractFormType customFormType = (AbstractFormType)var1.next(); this.formTypes.addFormType(customFormType); } } } public void initScriptingEngines() { if (this.resolverFactories == null) { this.resolverFactories = new ArrayList(); this.resolverFactories.add(new VariableScopeResolverFactory()); this.resolverFactories.add(new BeansResolverFactory()); } if (this.scriptingEngines == null) { this.scriptingEngines = new ScriptingEngines(new ScriptBindingsFactory(this, this.resolverFactories)); } } public void initExpressionManager() { if (this.expressionManager == null) { this.expressionManager = new ExpressionManager(this.beans); } } public void initBusinessCalendarManager() { if (this.businessCalendarManager == null) { MapBusinessCalendarManager mapBusinessCalendarManager = new MapBusinessCalendarManager(); mapBusinessCalendarManager.addBusinessCalendar(DurationBusinessCalendar.NAME, new DurationBusinessCalendar(this.clock)); mapBusinessCalendarManager.addBusinessCalendar("dueDate", new DueDateBusinessCalendar(this.clock)); mapBusinessCalendarManager.addBusinessCalendar(CycleBusinessCalendar.NAME, new CycleBusinessCalendar(this.clock)); this.businessCalendarManager = mapBusinessCalendarManager; } } public void initDelegateInterceptor() { if (this.delegateInterceptor == null) { this.delegateInterceptor = new DefaultDelegateInterceptor(); } } public void initEventHandlers() { if (this.eventHandlers == null) { this.eventHandlers = new HashMap(); SignalEventHandler signalEventHandler = new SignalEventHandler(); this.eventHandlers.put(signalEventHandler.getEventHandlerType(), signalEventHandler); CompensationEventHandler compensationEventHandler = new CompensationEventHandler(); this.eventHandlers.put(compensationEventHandler.getEventHandlerType(), compensationEventHandler); MessageEventHandler messageEventHandler = new MessageEventHandler(); this.eventHandlers.put(messageEventHandler.getEventHandlerType(), messageEventHandler); } if (this.customEventHandlers != null) { Iterator var4 = this.customEventHandlers.iterator(); while(var4.hasNext()) { EventHandler eventHandler = (EventHandler)var4.next(); this.eventHandlers.put(eventHandler.getEventHandlerType(), eventHandler); } } } public void initJpa() { if (this.jpaPersistenceUnitName != null) { this.jpaEntityManagerFactory =JpaHelper.createEntityManagerFactory(this.jpaPersistenceUnitName); } if (this.jpaEntityManagerFactory != null) { this.sessionFactories.put(EntityManagerSession.class, new EntityManagerSessionFactory(this.jpaEntityManagerFactory, this.jpaHandleTransaction, this.jpaCloseEntityManager)); VariableType jpaType = this.variableTypes.getVariableType("jpa-entity"); if (jpaType == null) { int serializableIndex = this.variableTypes.getTypeIndex("serializable"); if (serializableIndex > -1) { this.variableTypes.addType(new JPAEntityVariableType(), serializableIndex); } else { this.variableTypes.addType(new JPAEntityVariableType()); } } jpaType = this.variableTypes.getVariableType("jpa-entity-list"); if (jpaType == null) { this.variableTypes.addType(new JPAEntityListVariableType(), this.variableTypes.getTypeIndex("jpa-entity")); } } } public void initBeans() { if (this.beans == null) { this.beans = new HashMap(); } } public void initEventDispatcher() { if (this.eventDispatcher == null) { this.eventDispatcher = new ActivitiEventDispatcherImpl(); } this.eventDispatcher.setEnabled(this.enableEventDispatcher); Iterator var1; if (this.eventListeners != null) { var1 = this.eventListeners.iterator(); while(var1.hasNext()) { ActivitiEventListener listenerToAdd = (ActivitiEventListener)var1.next(); this.eventDispatcher.addEventListener(listenerToAdd); } } if (this.typedEventListeners != null) { var1 = this.typedEventListeners.entrySet().iterator(); while(var1.hasNext()) { Map.Entry> listenersToAdd = (Map.Entry)var1.next(); ActivitiEventType[] types = ActivitiEventType.getTypesFromString((String)listenersToAdd.getKey()); Iterator var4 = ((List)listenersToAdd.getValue()).iterator(); while(var4.hasNext()) { ActivitiEventListener listenerToAdd = (ActivitiEventListener)var4.next(); this.eventDispatcher.addEventListener(listenerToAdd, types); } } } } public void initProcessValidator() { if (this.processValidator == null) { this.processValidator = (new ProcessValidatorFactory()).createDefaultProcessValidator(); } } public void initDatabaseEventLogging() { if (this.enableDatabaseEventLogging) { this.getEventDispatcher().addEventListener(new EventLogger(this.clock, this.objectMapper)); } } public void initActiviti5CompatibilityHandler() { if (!this.isActiviti5CompatibilityEnabled || this.activiti5CompatibilityHandler == null) { if (this.activiti5CompatibilityHandlerFactory == null) { this.activiti5CompatibilityHandlerFactory = new DefaultActiviti5CompatibilityHandlerFactory(); } this.activiti5CompatibilityHandler = this.activiti5CompatibilityHandlerFactory.createActiviti5CompatibilityHandler(); if (this.activiti5CompatibilityHandler != null) { log.info("Found compatibility handler instance : " + this.activiti5CompatibilityHandler.getClass()); } } } protected void postProcessEngineInitialisation() { if (this.performanceSettings.isValidateExecutionRelationshipCountConfigOnBoot()) { this.commandExecutor.execute(new ValidateExecutionRelatedEntityCountCfgCmd()); } } public CommandConfig getDefaultCommandConfig() { return this.defaultCommandConfig; } public void setDefaultCommandConfig(CommandConfig defaultCommandConfig) { this.defaultCommandConfig = defaultCommandConfig; } public CommandConfig getSchemaCommandConfig() { return this.schemaCommandConfig; } public void setSchemaCommandConfig(CommandConfig schemaCommandConfig) { this.schemaCommandConfig = schemaCommandConfig; } public CommandInterceptor getCommandInvoker() { return this.commandInvoker; } public void setCommandInvoker(CommandInterceptor commandInvoker) { this.commandInvoker = commandInvoker; } public List getCustomPreCommandInterceptors() { return this.customPreCommandInterceptors; } public ProcessEngineConfigurationImpl setCustomPreCommandInterceptors(List customPreCommandInterceptors) { this.customPreCommandInterceptors = customPreCommandInterceptors; return this; } public List getCustomPostCommandInterceptors() { return this.customPostCommandInterceptors; } public ProcessEngineConfigurationImpl setCustomPostCommandInterceptors(List customPostCommandInterceptors) { this.customPostCommandInterceptors = customPostCommandInterceptors; return this; } public List getCommandInterceptors() { return this.commandInterceptors; } public ProcessEngineConfigurationImpl setCommandInterceptors(List commandInterceptors) { this.commandInterceptors = commandInterceptors; return this; } public CommandExecutor getCommandExecutor() { return this.commandExecutor; } public ProcessEngineConfigurationImpl setCommandExecutor(CommandExecutor commandExecutor) { this.commandExecutor = commandExecutor; return this; } public RepositoryService getRepositoryService() { return this.repositoryService; } public ProcessEngineConfigurationImpl setRepositoryService(RepositoryService repositoryService) { this.repositoryService = repositoryService; return this; } public RuntimeService getRuntimeService() { return this.runtimeService; } public ProcessEngineConfigurationImpl setRuntimeService(RuntimeService runtimeService) { this.runtimeService = runtimeService; return this; } public HistoryService getHistoryService() { return this.historyService; } public ProcessEngineConfigurationImpl setHistoryService(HistoryService historyService) { this.historyService = historyService; return this; } public IdentityService getIdentityService() { return this.identityService; } public ProcessEngineConfigurationImpl setIdentityService(IdentityService identityService) { this.identityService = identityService; return this; } public TaskService getTaskService() { return this.taskService; } public ProcessEngineConfigurationImpl setTaskService(TaskService taskService) { this.taskService = taskService; return this; } public FormService getFormService() { return this.formService; } public ProcessEngineConfigurationImpl setFormService(FormService formService) { this.formService = formService; return this; } public ManagementService getManagementService() { return this.managementService; } public ProcessEngineConfigurationImpl setManagementService(ManagementService managementService) { this.managementService = managementService; return this; } public DynamicBpmnService getDynamicBpmnService() { return this.dynamicBpmnService; } public ProcessEngineConfigurationImpl setDynamicBpmnService(DynamicBpmnService dynamicBpmnService) { this.dynamicBpmnService = dynamicBpmnService; return this; } public ProcessEngineConfigurationImpl getProcessEngineConfiguration() { return this; } public boolean isFormEngineInitialized() { return this.formEngineInitialized; } public ProcessEngineConfigurationImpl setFormEngineInitialized(boolean formEngineInitialized) { this.formEngineInitialized = formEngineInitialized; return this; } public FormRepositoryService getFormEngineRepositoryService() { return this.formEngineRepositoryService; } public ProcessEngineConfigurationImpl setFormEngineRepositoryService(FormRepositoryService formEngineRepositoryService) { this.formEngineRepositoryService = formEngineRepositoryService; return this; } public org.activiti.form.api.FormService getFormEngineFormService() { return this.formEngineFormService; } public ProcessEngineConfigurationImpl setFormEngineFormService(org.activiti.form.api.FormService formEngineFormService) { this.formEngineFormService = formEngineFormService; return this; } public boolean isDmnEngineInitialized() { return this.dmnEngineInitialized; } public ProcessEngineConfigurationImpl setDmnEngineInitialized(boolean dmnEngineInitialized) { this.dmnEngineInitialized = dmnEngineInitialized; return this; } public DmnRepositoryService getDmnEngineRepositoryService() { return this.dmnEngineRepositoryService; } public ProcessEngineConfigurationImpl setDmnEngineRepositoryService(DmnRepositoryService dmnEngineRepositoryService) { this.dmnEngineRepositoryService = dmnEngineRepositoryService; return this; } public DmnRuleService getDmnEngineRuleService() { return this.dmnEngineRuleService; } public ProcessEngineConfigurationImpl setDmnEngineRuleService(DmnRuleService dmnEngineRuleService) { this.dmnEngineRuleService = dmnEngineRuleService; return this; } public Map, SessionFactory> getSessionFactories() { return this.sessionFactories; } public ProcessEngineConfigurationImpl setSessionFactories(Map, SessionFactory> sessionFactories) { this.sessionFactories = sessionFactories; return this; } public List getConfigurators() { return this.configurators; } public ProcessEngineConfigurationImpl addConfigurator(ProcessEngineConfigurator configurator) { if (this.configurators == null) { this.configurators = new ArrayList(); } this.configurators.add(configurator); return this; } public ProcessEngineConfigurationImpl setConfigurators(List configurators) { this.configurators = configurators; return this; } public void setEnableConfiguratorServiceLoader(boolean enableConfiguratorServiceLoader) { this.enableConfiguratorServiceLoader = enableConfiguratorServiceLoader; } public List getAllConfigurators() { return this.allConfigurators; } public BpmnDeployer getBpmnDeployer() { return this.bpmnDeployer; } public ProcessEngineConfigurationImpl setBpmnDeployer(BpmnDeployer bpmnDeployer) { this.bpmnDeployer = bpmnDeployer; return this; } public BpmnParser getBpmnParser() { return this.bpmnParser; } public ProcessEngineConfigurationImpl setBpmnParser(BpmnParser bpmnParser) { this.bpmnParser = bpmnParser; return this; } public ParsedDeploymentBuilderFactory getParsedDeploymentBuilderFactory() { return this.parsedDeploymentBuilderFactory; } public ProcessEngineConfigurationImpl setParsedDeploymentBuilderFactory(ParsedDeploymentBuilderFactory parsedDeploymentBuilderFactory) { this.parsedDeploymentBuilderFactory = parsedDeploymentBuilderFactory; return this; } public TimerManager getTimerManager() { return this.timerManager; } public void setTimerManager(TimerManager timerManager) { this.timerManager = timerManager; } public EventSubscriptionManager getEventSubscriptionManager() { return this.eventSubscriptionManager; } public void setEventSubscriptionManager(EventSubscriptionManager eventSubscriptionManager) { this.eventSubscriptionManager = eventSubscriptionManager; } public BpmnDeploymentHelper getBpmnDeploymentHelper() { return this.bpmnDeploymentHelper; } public ProcessEngineConfigurationImpl setBpmnDeploymentHelper(BpmnDeploymentHelper bpmnDeploymentHelper) { this.bpmnDeploymentHelper = bpmnDeploymentHelper; return this; } public CachingAndArtifactsManager getCachingAndArtifactsManager() { return this.cachingAndArtifactsManager; } public void setCachingAndArtifactsManager(CachingAndArtifactsManager cachingAndArtifactsManager) { this.cachingAndArtifactsManager = cachingAndArtifactsManager; } public ProcessDefinitionDiagramHelper getProcessDefinitionDiagramHelper() { return this.processDefinitionDiagramHelper; } public ProcessEngineConfigurationImpl setProcessDefinitionDiagramHelper(ProcessDefinitionDiagramHelper processDefinitionDiagramHelper) { this.processDefinitionDiagramHelper = processDefinitionDiagramHelper; return this; } public List getDeployers() { return this.deployers; } public ProcessEngineConfigurationImpl setDeployers(List deployers) { this.deployers = deployers; return this; } public IdGenerator getIdGenerator() { return this.idGenerator; } public ProcessEngineConfigurationImpl setIdGenerator(IdGenerator idGenerator) { this.idGenerator = idGenerator; return this; } public String getWsSyncFactoryClassName() { return this.wsSyncFactoryClassName; } public ProcessEngineConfigurationImpl setWsSyncFactoryClassName(String wsSyncFactoryClassName) { this.wsSyncFactoryClassName = wsSyncFactoryClassName; return this; } public ProcessEngineConfiguration addWsEndpointAddress(QName endpointName, URL address) { this.wsOverridenEndpointAddresses.put(endpointName, address); return this; } public ProcessEngineConfiguration removeWsEndpointAddress(QName endpointName) { this.wsOverridenEndpointAddresses.remove(endpointName); return this; } public ConcurrentMap getWsOverridenEndpointAddresses() { return this.wsOverridenEndpointAddresses; } public ProcessEngineConfiguration setWsOverridenEndpointAddresses(ConcurrentMap wsOverridenEndpointAddress) { this.wsOverridenEndpointAddresses.putAll(wsOverridenEndpointAddress); return this; } public Map getFormEngines() { return this.formEngines; } public ProcessEngineConfigurationImpl setFormEngines(Map formEngines) { this.formEngines = formEngines; return this; } public FormTypes getFormTypes() { return this.formTypes; } public ProcessEngineConfigurationImpl setFormTypes(FormTypes formTypes) { this.formTypes = formTypes; return this; } public ScriptingEngines getScriptingEngines() { return this.scriptingEngines; } public ProcessEngineConfigurationImpl setScriptingEngines(ScriptingEngines scriptingEngines) { this.scriptingEngines = scriptingEngines; return this; } public VariableTypes getVariableTypes() { return this.variableTypes; } public ProcessEngineConfigurationImpl setVariableTypes(VariableTypes variableTypes) { this.variableTypes = variableTypes; return this; } public boolean isSerializableVariableTypeTrackDeserializedObjects() { return this.serializableVariableTypeTrackDeserializedObjects; } public void setSerializableVariableTypeTrackDeserializedObjects(boolean serializableVariableTypeTrackDeserializedObjects) { this.serializableVariableTypeTrackDeserializedObjects = serializableVariableTypeTrackDeserializedObjects; } public ExpressionManager getExpressionManager() { return this.expressionManager; } public ProcessEngineConfigurationImpl setExpressionManager(ExpressionManager expressionManager) { this.expressionManager = expressionManager; return this; } public BusinessCalendarManager getBusinessCalendarManager() { return this.businessCalendarManager; } public ProcessEngineConfigurationImpl setBusinessCalendarManager(BusinessCalendarManager businessCalendarManager) { this.businessCalendarManager = businessCalendarManager; return this; } public int getExecutionQueryLimit() { return this.executionQueryLimit; } public ProcessEngineConfigurationImpl setExecutionQueryLimit(int executionQueryLimit) { this.executionQueryLimit = executionQueryLimit; return this; } public int getTaskQueryLimit() { return this.taskQueryLimit; } public ProcessEngineConfigurationImpl setTaskQueryLimit(int taskQueryLimit) { this.taskQueryLimit = taskQueryLimit; return this; } public int getHistoricTaskQueryLimit() { return this.historicTaskQueryLimit; } public ProcessEngineConfigurationImpl setHistoricTaskQueryLimit(int historicTaskQueryLimit) { this.historicTaskQueryLimit = historicTaskQueryLimit; return this; } public int getHistoricProcessInstancesQueryLimit() { return this.historicProcessInstancesQueryLimit; } public ProcessEngineConfigurationImpl setHistoricProcessInstancesQueryLimit(int historicProcessInstancesQueryLimit) { this.historicProcessInstancesQueryLimit = historicProcessInstancesQueryLimit; return this; } public CommandContextFactory getCommandContextFactory() { return this.commandContextFactory; } public ProcessEngineConfigurationImpl setCommandContextFactory(CommandContextFactory commandContextFactory) { this.commandContextFactory = commandContextFactory; return this; } public TransactionContextFactory getTransactionContextFactory() { return this.transactionContextFactory; } public ProcessEngineConfigurationImpl setTransactionContextFactory(TransactionContextFactory transactionContextFactory) { this.transactionContextFactory = transactionContextFactory; return this; } public List getCustomPreDeployers() { return this.customPreDeployers; } public ProcessEngineConfigurationImpl setCustomPreDeployers(List customPreDeployers) { this.customPreDeployers = customPreDeployers; return this; } public List getCustomPostDeployers() { return this.customPostDeployers; } public ProcessEngineConfigurationImpl setCustomPostDeployers(List customPostDeployers) { this.customPostDeployers = customPostDeployers; return this; } public Map getJobHandlers() { return this.jobHandlers; } public ProcessEngineConfigurationImpl setJobHandlers(Map jobHandlers) { this.jobHandlers = jobHandlers; return this; } public ProcessInstanceHelper getProcessInstanceHelper() { return this.processInstanceHelper; } public ProcessEngineConfigurationImpl setProcessInstanceHelper(ProcessInstanceHelper processInstanceHelper) { this.processInstanceHelper = processInstanceHelper; return this; } public ListenerNotificationHelper getListenerNotificationHelper() { return this.listenerNotificationHelper; } public ProcessEngineConfigurationImpl setListenerNotificationHelper(ListenerNotificationHelper listenerNotificationHelper) { this.listenerNotificationHelper = listenerNotificationHelper; return this; } public SqlSessionFactory getSqlSessionFactory() { return this.sqlSessionFactory; } public ProcessEngineConfigurationImpl setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) { this.sqlSessionFactory = sqlSessionFactory; return this; } public DbSqlSessionFactory getDbSqlSessionFactory() { return this.dbSqlSessionFactory; } public ProcessEngineConfigurationImpl setDbSqlSessionFactory(DbSqlSessionFactory dbSqlSessionFactory) { this.dbSqlSessionFactory = dbSqlSessionFactory; return this; } public TransactionFactory getTransactionFactory() { return this.transactionFactory; } public ProcessEngineConfigurationImpl setTransactionFactory(TransactionFactory transactionFactory) { this.transactionFactory = transactionFactory; return this; } public List getCustomSessionFactories() { return this.customSessionFactories; } public ProcessEngineConfigurationImpl setCustomSessionFactories(List customSessionFactories) { this.customSessionFactories = customSessionFactories; return this; } public List getCustomJobHandlers() { return this.customJobHandlers; } public ProcessEngineConfigurationImpl setCustomJobHandlers(List customJobHandlers) { this.customJobHandlers = customJobHandlers; return this; } public List getCustomFormEngines() { return this.customFormEngines; } public ProcessEngineConfigurationImpl setCustomFormEngines(List customFormEngines) { this.customFormEngines = customFormEngines; return this; } public List getCustomFormTypes() { return this.customFormTypes; } public ProcessEngineConfigurationImpl setCustomFormTypes(List customFormTypes) { this.customFormTypes = customFormTypes; return this; } public List getCustomScriptingEngineClasses() { return this.customScriptingEngineClasses; } public ProcessEngineConfigurationImpl setCustomScriptingEngineClasses(List customScriptingEngineClasses) { this.customScriptingEngineClasses = customScriptingEngineClasses; return this; } public List getCustomPreVariableTypes() { return this.customPreVariableTypes; } public ProcessEngineConfigurationImpl setCustomPreVariableTypes(List customPreVariableTypes) { this.customPreVariableTypes = customPreVariableTypes; return this; } public List getCustomPostVariableTypes() { return this.customPostVariableTypes; } public ProcessEngineConfigurationImpl setCustomPostVariableTypes(List customPostVariableTypes) { this.customPostVariableTypes = customPostVariableTypes; return this; } public List getPreBpmnParseHandlers() { return this.preBpmnParseHandlers; } public ProcessEngineConfigurationImpl setPreBpmnParseHandlers(List preBpmnParseHandlers) { this.preBpmnParseHandlers = preBpmnParseHandlers; return this; } public List getCustomDefaultBpmnParseHandlers() { return this.customDefaultBpmnParseHandlers; } public ProcessEngineConfigurationImpl setCustomDefaultBpmnParseHandlers(List customDefaultBpmnParseHandlers) { this.customDefaultBpmnParseHandlers = customDefaultBpmnParseHandlers; return this; } public List getPostBpmnParseHandlers() { return this.postBpmnParseHandlers; } public ProcessEngineConfigurationImpl setPostBpmnParseHandlers(List postBpmnParseHandlers) { this.postBpmnParseHandlers = postBpmnParseHandlers; return this; } public ActivityBehaviorFactory getActivityBehaviorFactory() { return this.activityBehaviorFactory; } public ProcessEngineConfigurationImpl setActivityBehaviorFactory(ActivityBehaviorFactory activityBehaviorFactory) { this.activityBehaviorFactory = activityBehaviorFactory; return this; } public ListenerFactory getListenerFactory() { return this.listenerFactory; } public ProcessEngineConfigurationImpl setListenerFactory(ListenerFactory listenerFactory) { this.listenerFactory = listenerFactory; return this; } public BpmnParseFactory getBpmnParseFactory() { return this.bpmnParseFactory; } public ProcessEngineConfigurationImpl setBpmnParseFactory(BpmnParseFactory bpmnParseFactory) { this.bpmnParseFactory = bpmnParseFactory; return this; } public Map getBeans() { return this.beans; } public ProcessEngineConfigurationImpl setBeans(Map beans) { this.beans = beans; return this; } public List getResolverFactories() { return this.resolverFactories; } public ProcessEngineConfigurationImpl setResolverFactories(List resolverFactories) { this.resolverFactories = resolverFactories; return this; } public DeploymentManager getDeploymentManager() { return this.deploymentManager; } public ProcessEngineConfigurationImpl setDeploymentManager(DeploymentManager deploymentManager) { this.deploymentManager = deploymentManager; return this; } public ProcessEngineConfigurationImpl setDelegateInterceptor(DelegateInterceptor delegateInterceptor) { this.delegateInterceptor = delegateInterceptor; return this; } public DelegateInterceptor getDelegateInterceptor() { return this.delegateInterceptor; } public EventHandler getEventHandler(String eventType) { return (EventHandler)this.eventHandlers.get(eventType); } public ProcessEngineConfigurationImpl setEventHandlers(Map eventHandlers) { this.eventHandlers = eventHandlers; return this; } public Map getEventHandlers() { return this.eventHandlers; } public List getCustomEventHandlers() { return this.customEventHandlers; } public ProcessEngineConfigurationImpl setCustomEventHandlers(List customEventHandlers) { this.customEventHandlers = customEventHandlers; return this; } public FailedJobCommandFactory getFailedJobCommandFactory() { return this.failedJobCommandFactory; } public ProcessEngineConfigurationImpl setFailedJobCommandFactory(FailedJobCommandFactory failedJobCommandFactory) { this.failedJobCommandFactory = failedJobCommandFactory; return this; } public DataSource getIdGeneratorDataSource() { return this.idGeneratorDataSource; } public ProcessEngineConfigurationImpl setIdGeneratorDataSource(DataSource idGeneratorDataSource) { this.idGeneratorDataSource = idGeneratorDataSource; return this; } public String getIdGeneratorDataSourceJndiName() { return this.idGeneratorDataSourceJndiName; } public ProcessEngineConfigurationImpl setIdGeneratorDataSourceJndiName(String idGeneratorDataSourceJndiName) { this.idGeneratorDataSourceJndiName = idGeneratorDataSourceJndiName; return this; } public int getBatchSizeProcessInstances() { return this.batchSizeProcessInstances; } public ProcessEngineConfigurationImpl setBatchSizeProcessInstances(int batchSizeProcessInstances) { this.batchSizeProcessInstances = batchSizeProcessInstances; return this; } public int getBatchSizeTasks() { return this.batchSizeTasks; } public ProcessEngineConfigurationImpl setBatchSizeTasks(int batchSizeTasks) { this.batchSizeTasks = batchSizeTasks; return this; } public int getProcessDefinitionCacheLimit() { return this.processDefinitionCacheLimit; } public ProcessEngineConfigurationImpl setProcessDefinitionCacheLimit(int processDefinitionCacheLimit) { this.processDefinitionCacheLimit = processDefinitionCacheLimit; return this; } public DeploymentCache getProcessDefinitionCache() { return this.processDefinitionCache; } public ProcessEngineConfigurationImpl setProcessDefinitionCache(DeploymentCache processDefinitionCache) { this.processDefinitionCache = processDefinitionCache; return this; } public int getKnowledgeBaseCacheLimit() { return this.knowledgeBaseCacheLimit; } public ProcessEngineConfigurationImpl setKnowledgeBaseCacheLimit(int knowledgeBaseCacheLimit) { this.knowledgeBaseCacheLimit = knowledgeBaseCacheLimit; return this; } public DeploymentCache getKnowledgeBaseCache() { return this.knowledgeBaseCache; } public ProcessEngineConfigurationImpl setKnowledgeBaseCache(DeploymentCache knowledgeBaseCache) { this.knowledgeBaseCache = knowledgeBaseCache; return this; } public boolean isEnableSafeBpmnXml() { return this.enableSafeBpmnXml; } public ProcessEngineConfigurationImpl setEnableSafeBpmnXml(boolean enableSafeBpmnXml) { this.enableSafeBpmnXml = enableSafeBpmnXml; return this; } public ActivitiEventDispatcher getEventDispatcher() { return this.eventDispatcher; } public ProcessEngineConfigurationImpl setEventDispatcher(ActivitiEventDispatcher eventDispatcher) { this.eventDispatcher = eventDispatcher; return this; } public ProcessEngineConfigurationImpl setEnableEventDispatcher(boolean enableEventDispatcher) { this.enableEventDispatcher = enableEventDispatcher; return this; } public Map> getTypedEventListeners() { return this.typedEventListeners; } public ProcessEngineConfigurationImpl setTypedEventListeners(Map> typedListeners) { this.typedEventListeners = typedListeners; return this; } public List getEventListeners() { return this.eventListeners; } public ProcessEngineConfigurationImpl setEventListeners(List eventListeners) { this.eventListeners = eventListeners; return this; } public ProcessValidator getProcessValidator() { return this.processValidator; } public ProcessEngineConfigurationImpl setProcessValidator(ProcessValidator processValidator) { this.processValidator = processValidator; return this; } public boolean isEnableEventDispatcher() { return this.enableEventDispatcher; } public boolean isEnableDatabaseEventLogging() { return this.enableDatabaseEventLogging; } public ProcessEngineConfigurationImpl setEnableDatabaseEventLogging(boolean enableDatabaseEventLogging) { this.enableDatabaseEventLogging = enableDatabaseEventLogging; return this; } public int getMaxLengthStringVariableType() { return this.maxLengthStringVariableType; } public ProcessEngineConfigurationImpl setMaxLengthStringVariableType(int maxLengthStringVariableType) { this.maxLengthStringVariableType = maxLengthStringVariableType; return this; } public boolean isBulkInsertEnabled() { return this.isBulkInsertEnabled; } public ProcessEngineConfigurationImpl setBulkInsertEnabled(boolean isBulkInsertEnabled) { this.isBulkInsertEnabled = isBulkInsertEnabled; return this; } public int getMaxNrOfStatementsInBulkInsert() { return this.maxNrOfStatementsInBulkInsert; } public ProcessEngineConfigurationImpl setMaxNrOfStatementsInBulkInsert(int maxNrOfStatementsInBulkInsert) { this.maxNrOfStatementsInBulkInsert = maxNrOfStatementsInBulkInsert; return this; } public boolean isUsingRelationalDatabase() { return this.usingRelationalDatabase; } public ProcessEngineConfigurationImpl setUsingRelationalDatabase(boolean usingRelationalDatabase) { this.usingRelationalDatabase = usingRelationalDatabase; return this; } public boolean isEnableVerboseExecutionTreeLogging() { return this.enableVerboseExecutionTreeLogging; } public ProcessEngineConfigurationImpl setEnableVerboseExecutionTreeLogging(boolean enableVerboseExecutionTreeLogging) { this.enableVerboseExecutionTreeLogging = enableVerboseExecutionTreeLogging; return this; } public ProcessEngineConfigurationImpl setEnableEagerExecutionTreeFetching(boolean enableEagerExecutionTreeFetching) { this.performanceSettings.setEnableEagerExecutionTreeFetching(enableEagerExecutionTreeFetching); return this; } public ProcessEngineConfigurationImpl setEnableExecutionRelationshipCounts(boolean enableExecutionRelationshipCounts) { this.performanceSettings.setEnableExecutionRelationshipCounts(enableExecutionRelationshipCounts); return this; } public PerformanceSettings getPerformanceSettings() { return this.performanceSettings; } public void setPerformanceSettings(PerformanceSettings performanceSettings) { this.performanceSettings = performanceSettings; } public ProcessEngineConfigurationImpl setEnableLocalization(boolean enableLocalization) { this.performanceSettings.setEnableLocalization(enableLocalization); return this; } public AttachmentDataManager getAttachmentDataManager() { return this.attachmentDataManager; } public ProcessEngineConfigurationImpl setAttachmentDataManager(AttachmentDataManager attachmentDataManager) { this.attachmentDataManager = attachmentDataManager; return this; } public ByteArrayDataManager getByteArrayDataManager() { return this.byteArrayDataManager; } public ProcessEngineConfigurationImpl setByteArrayDataManager(ByteArrayDataManager byteArrayDataManager) { this.byteArrayDataManager = byteArrayDataManager; return this; } public CommentDataManager getCommentDataManager() { return this.commentDataManager; } public ProcessEngineConfigurationImpl setCommentDataManager(CommentDataManager commentDataManager) { this.commentDataManager = commentDataManager; return this; } public DeploymentDataManager getDeploymentDataManager() { return this.deploymentDataManager; } public ProcessEngineConfigurationImpl setDeploymentDataManager(DeploymentDataManager deploymentDataManager) { this.deploymentDataManager = deploymentDataManager; return this; } public EventLogEntryDataManager getEventLogEntryDataManager() { return this.eventLogEntryDataManager; } public ProcessEngineConfigurationImpl setEventLogEntryDataManager(EventLogEntryDataManager eventLogEntryDataManager) { this.eventLogEntryDataManager = eventLogEntryDataManager; return this; } public EventSubscriptionDataManager getEventSubscriptionDataManager() { return this.eventSubscriptionDataManager; } public ProcessEngineConfigurationImpl setEventSubscriptionDataManager(EventSubscriptionDataManager eventSubscriptionDataManager) { this.eventSubscriptionDataManager = eventSubscriptionDataManager; return this; } public ExecutionDataManager getExecutionDataManager() { return this.executionDataManager; } public ProcessEngineConfigurationImpl setExecutionDataManager(ExecutionDataManager executionDataManager) { this.executionDataManager = executionDataManager; return this; } public GroupDataManager getGroupDataManager() { return this.groupDataManager; } public ProcessEngineConfigurationImpl setGroupDataManager(GroupDataManager groupDataManager) { this.groupDataManager = groupDataManager; return this; } public HistoricActivityInstanceDataManager getHistoricActivityInstanceDataManager() { return this.historicActivityInstanceDataManager; } public ProcessEngineConfigurationImpl setHistoricActivityInstanceDataManager(HistoricActivityInstanceDataManager historicActivityInstanceDataManager) { this.historicActivityInstanceDataManager = historicActivityInstanceDataManager; return this; } public HistoricDetailDataManager getHistoricDetailDataManager() { return this.historicDetailDataManager; } public ProcessEngineConfigurationImpl setHistoricDetailDataManager(HistoricDetailDataManager historicDetailDataManager) { this.historicDetailDataManager = historicDetailDataManager; return this; } public HistoricIdentityLinkDataManager getHistoricIdentityLinkDataManager() { return this.historicIdentityLinkDataManager; } public ProcessEngineConfigurationImpl setHistoricIdentityLinkDataManager(HistoricIdentityLinkDataManager historicIdentityLinkDataManager) { this.historicIdentityLinkDataManager = historicIdentityLinkDataManager; return this; } public HistoricProcessInstanceDataManager getHistoricProcessInstanceDataManager() { return this.historicProcessInstanceDataManager; } public ProcessEngineConfigurationImpl setHistoricProcessInstanceDataManager(HistoricProcessInstanceDataManager historicProcessInstanceDataManager) { this.historicProcessInstanceDataManager = historicProcessInstanceDataManager; return this; } public HistoricTaskInstanceDataManager getHistoricTaskInstanceDataManager() { return this.historicTaskInstanceDataManager; } public ProcessEngineConfigurationImpl setHistoricTaskInstanceDataManager(HistoricTaskInstanceDataManager historicTaskInstanceDataManager) { this.historicTaskInstanceDataManager = historicTaskInstanceDataManager; return this; } public HistoricVariableInstanceDataManager getHistoricVariableInstanceDataManager() { return this.historicVariableInstanceDataManager; } public ProcessEngineConfigurationImpl setHistoricVariableInstanceDataManager(HistoricVariableInstanceDataManager historicVariableInstanceDataManager) { this.historicVariableInstanceDataManager = historicVariableInstanceDataManager; return this; } public IdentityInfoDataManager getIdentityInfoDataManager() { return this.identityInfoDataManager; } public ProcessEngineConfigurationImpl setIdentityInfoDataManager(IdentityInfoDataManager identityInfoDataManager) { this.identityInfoDataManager = identityInfoDataManager; return this; } public IdentityLinkDataManager getIdentityLinkDataManager() { return this.identityLinkDataManager; } public ProcessEngineConfigurationImpl setIdentityLinkDataManager(IdentityLinkDataManager identityLinkDataManager) { this.identityLinkDataManager = identityLinkDataManager; return this; } public JobDataManager getJobDataManager() { return this.jobDataManager; } public ProcessEngineConfigurationImpl setJobDataManager(JobDataManager jobDataManager) { this.jobDataManager = jobDataManager; return this; } public TimerJobDataManager getTimerJobDataManager() { return this.timerJobDataManager; } public ProcessEngineConfigurationImpl setTimerJobDataManager(TimerJobDataManager timerJobDataManager) { this.timerJobDataManager = timerJobDataManager; return this; } public SuspendedJobDataManager getSuspendedJobDataManager() { return this.suspendedJobDataManager; } public ProcessEngineConfigurationImpl setSuspendedJobDataManager(SuspendedJobDataManager suspendedJobDataManager) { this.suspendedJobDataManager = suspendedJobDataManager; return this; } public DeadLetterJobDataManager getDeadLetterJobDataManager() { return this.deadLetterJobDataManager; } public ProcessEngineConfigurationImpl setDeadLetterJobDataManager(DeadLetterJobDataManager deadLetterJobDataManager) { this.deadLetterJobDataManager = deadLetterJobDataManager; return this; } public MembershipDataManager getMembershipDataManager() { return this.membershipDataManager; } public ProcessEngineConfigurationImpl setMembershipDataManager(MembershipDataManager membershipDataManager) { this.membershipDataManager = membershipDataManager; return this; } public ModelDataManager getModelDataManager() { return this.modelDataManager; } public ProcessEngineConfigurationImpl setModelDataManager(ModelDataManager modelDataManager) { this.modelDataManager = modelDataManager; return this; } public ProcessDefinitionDataManager getProcessDefinitionDataManager() { return this.processDefinitionDataManager; } public ProcessEngineConfigurationImpl setProcessDefinitionDataManager(ProcessDefinitionDataManager processDefinitionDataManager) { this.processDefinitionDataManager = processDefinitionDataManager; return this; } public ProcessDefinitionInfoDataManager getProcessDefinitionInfoDataManager() { return this.processDefinitionInfoDataManager; } public ProcessEngineConfigurationImpl setProcessDefinitionInfoDataManager(ProcessDefinitionInfoDataManager processDefinitionInfoDataManager) { this.processDefinitionInfoDataManager = processDefinitionInfoDataManager; return this; } public PropertyDataManager getPropertyDataManager() { return this.propertyDataManager; } public ProcessEngineConfigurationImpl setPropertyDataManager(PropertyDataManager propertyDataManager) { this.propertyDataManager = propertyDataManager; return this; } public ResourceDataManager getResourceDataManager() { return this.resourceDataManager; } public ProcessEngineConfigurationImpl setResourceDataManager(ResourceDataManager resourceDataManager) { this.resourceDataManager = resourceDataManager; return this; } public TaskDataManager getTaskDataManager() { return this.taskDataManager; } public ProcessEngineConfigurationImpl setTaskDataManager(TaskDataManager taskDataManager) { this.taskDataManager = taskDataManager; return this; } public UserDataManager getUserDataManager() { return this.userDataManager; } public ProcessEngineConfigurationImpl setUserDataManager(UserDataManager userDataManager) { this.userDataManager = userDataManager; return this; } public VariableInstanceDataManager getVariableInstanceDataManager() { return this.variableInstanceDataManager; } public ProcessEngineConfigurationImpl setVariableInstanceDataManager(VariableInstanceDataManager variableInstanceDataManager) { this.variableInstanceDataManager = variableInstanceDataManager; return this; } public boolean isEnableConfiguratorServiceLoader() { return this.enableConfiguratorServiceLoader; } public AttachmentEntityManager getAttachmentEntityManager() { return this.attachmentEntityManager; } public ProcessEngineConfigurationImpl setAttachmentEntityManager(AttachmentEntityManager attachmentEntityManager) { this.attachmentEntityManager = attachmentEntityManager; return this; } public ByteArrayEntityManager getByteArrayEntityManager() { return this.byteArrayEntityManager; } public ProcessEngineConfigurationImpl setByteArrayEntityManager(ByteArrayEntityManager byteArrayEntityManager) { this.byteArrayEntityManager = byteArrayEntityManager; return this; } public CommentEntityManager getCommentEntityManager() { return this.commentEntityManager; } public ProcessEngineConfigurationImpl setCommentEntityManager(CommentEntityManager commentEntityManager) { this.commentEntityManager = commentEntityManager; return this; } public DeploymentEntityManager getDeploymentEntityManager() { return this.deploymentEntityManager; } public ProcessEngineConfigurationImpl setDeploymentEntityManager(DeploymentEntityManager deploymentEntityManager) { this.deploymentEntityManager = deploymentEntityManager; return this; } public EventLogEntryEntityManager getEventLogEntryEntityManager() { return this.eventLogEntryEntityManager; } public ProcessEngineConfigurationImpl setEventLogEntryEntityManager(EventLogEntryEntityManager eventLogEntryEntityManager) { this.eventLogEntryEntityManager = eventLogEntryEntityManager; return this; } public EventSubscriptionEntityManager getEventSubscriptionEntityManager() { return this.eventSubscriptionEntityManager; } public ProcessEngineConfigurationImpl setEventSubscriptionEntityManager(EventSubscriptionEntityManager eventSubscriptionEntityManager) { this.eventSubscriptionEntityManager = eventSubscriptionEntityManager; return this; } public ExecutionEntityManager getExecutionEntityManager() { return this.executionEntityManager; } public ProcessEngineConfigurationImpl setExecutionEntityManager(ExecutionEntityManager executionEntityManager) { this.executionEntityManager = executionEntityManager; return this; } public GroupEntityManager getGroupEntityManager() { return this.groupEntityManager; } public ProcessEngineConfigurationImpl setGroupEntityManager(GroupEntityManager groupEntityManager) { this.groupEntityManager = groupEntityManager; return this; } public HistoricActivityInstanceEntityManager getHistoricActivityInstanceEntityManager() { return this.historicActivityInstanceEntityManager; } public ProcessEngineConfigurationImpl setHistoricActivityInstanceEntityManager(HistoricActivityInstanceEntityManager historicActivityInstanceEntityManager) { this.historicActivityInstanceEntityManager = historicActivityInstanceEntityManager; return this; } public HistoricDetailEntityManager getHistoricDetailEntityManager() { return this.historicDetailEntityManager; } public ProcessEngineConfigurationImpl setHistoricDetailEntityManager(HistoricDetailEntityManager historicDetailEntityManager) { this.historicDetailEntityManager = historicDetailEntityManager; return this; } public HistoricIdentityLinkEntityManager getHistoricIdentityLinkEntityManager() { return this.historicIdentityLinkEntityManager; } public ProcessEngineConfigurationImpl setHistoricIdentityLinkEntityManager(HistoricIdentityLinkEntityManager historicIdentityLinkEntityManager) { this.historicIdentityLinkEntityManager = historicIdentityLinkEntityManager; return this; } public HistoricProcessInstanceEntityManager getHistoricProcessInstanceEntityManager() { return this.historicProcessInstanceEntityManager; } public ProcessEngineConfigurationImpl setHistoricProcessInstanceEntityManager(HistoricProcessInstanceEntityManager historicProcessInstanceEntityManager) { this.historicProcessInstanceEntityManager = historicProcessInstanceEntityManager; return this; } public HistoricTaskInstanceEntityManager getHistoricTaskInstanceEntityManager() { return this.historicTaskInstanceEntityManager; } public ProcessEngineConfigurationImpl setHistoricTaskInstanceEntityManager(HistoricTaskInstanceEntityManager historicTaskInstanceEntityManager) { this.historicTaskInstanceEntityManager = historicTaskInstanceEntityManager; return this; } public HistoricVariableInstanceEntityManager getHistoricVariableInstanceEntityManager() { return this.historicVariableInstanceEntityManager; } public ProcessEngineConfigurationImpl setHistoricVariableInstanceEntityManager(HistoricVariableInstanceEntityManager historicVariableInstanceEntityManager) { this.historicVariableInstanceEntityManager = historicVariableInstanceEntityManager; return this; } public IdentityInfoEntityManager getIdentityInfoEntityManager() { return this.identityInfoEntityManager; } public ProcessEngineConfigurationImpl setIdentityInfoEntityManager(IdentityInfoEntityManager identityInfoEntityManager) { this.identityInfoEntityManager = identityInfoEntityManager; return this; } public IdentityLinkEntityManager getIdentityLinkEntityManager() { return this.identityLinkEntityManager; } public ProcessEngineConfigurationImpl setIdentityLinkEntityManager(IdentityLinkEntityManager identityLinkEntityManager) { this.identityLinkEntityManager = identityLinkEntityManager; return this; } public JobEntityManager getJobEntityManager() { return this.jobEntityManager; } public ProcessEngineConfigurationImpl setJobEntityManager(JobEntityManager jobEntityManager) { this.jobEntityManager = jobEntityManager; return this; } public TimerJobEntityManager getTimerJobEntityManager() { return this.timerJobEntityManager; } public ProcessEngineConfigurationImpl setTimerJobEntityManager(TimerJobEntityManager timerJobEntityManager) { this.timerJobEntityManager = timerJobEntityManager; return this; } public SuspendedJobEntityManager getSuspendedJobEntityManager() { return this.suspendedJobEntityManager; } public ProcessEngineConfigurationImpl setSuspendedJobEntityManager(SuspendedJobEntityManager suspendedJobEntityManager) { this.suspendedJobEntityManager = suspendedJobEntityManager; return this; } public DeadLetterJobEntityManager getDeadLetterJobEntityManager() { return this.deadLetterJobEntityManager; } public ProcessEngineConfigurationImpl setDeadLetterJobEntityManager(DeadLetterJobEntityManager deadLetterJobEntityManager) { this.deadLetterJobEntityManager = deadLetterJobEntityManager; return this; } public MembershipEntityManager getMembershipEntityManager() { return this.membershipEntityManager; } public ProcessEngineConfigurationImpl setMembershipEntityManager(MembershipEntityManager membershipEntityManager) { this.membershipEntityManager = membershipEntityManager; return this; } public ModelEntityManager getModelEntityManager() { return this.modelEntityManager; } public ProcessEngineConfigurationImpl setModelEntityManager(ModelEntityManager modelEntityManager) { this.modelEntityManager = modelEntityManager; return this; } public ProcessDefinitionEntityManager getProcessDefinitionEntityManager() { return this.processDefinitionEntityManager; } public ProcessEngineConfigurationImpl setProcessDefinitionEntityManager(ProcessDefinitionEntityManager processDefinitionEntityManager) { this.processDefinitionEntityManager = processDefinitionEntityManager; return this; } public ProcessDefinitionInfoEntityManager getProcessDefinitionInfoEntityManager() { return this.processDefinitionInfoEntityManager; } public ProcessEngineConfigurationImpl setProcessDefinitionInfoEntityManager(ProcessDefinitionInfoEntityManager processDefinitionInfoEntityManager) { this.processDefinitionInfoEntityManager = processDefinitionInfoEntityManager; return this; } public PropertyEntityManager getPropertyEntityManager() { return this.propertyEntityManager; } public ProcessEngineConfigurationImpl setPropertyEntityManager(PropertyEntityManager propertyEntityManager) { this.propertyEntityManager = propertyEntityManager; return this; } public ResourceEntityManager getResourceEntityManager() { return this.resourceEntityManager; } public ProcessEngineConfigurationImpl setResourceEntityManager(ResourceEntityManager resourceEntityManager) { this.resourceEntityManager = resourceEntityManager; return this; } public TaskEntityManager getTaskEntityManager() { return this.taskEntityManager; } public ProcessEngineConfigurationImpl setTaskEntityManager(TaskEntityManager taskEntityManager) { this.taskEntityManager = taskEntityManager; return this; } public UserEntityManager getUserEntityManager() { return this.userEntityManager; } public ProcessEngineConfigurationImpl setUserEntityManager(UserEntityManager userEntityManager) { this.userEntityManager = userEntityManager; return this; } public VariableInstanceEntityManager getVariableInstanceEntityManager() { return this.variableInstanceEntityManager; } public ProcessEngineConfigurationImpl setVariableInstanceEntityManager(VariableInstanceEntityManager variableInstanceEntityManager) { this.variableInstanceEntityManager = variableInstanceEntityManager; return this; } public TableDataManager getTableDataManager() { return this.tableDataManager; } public ProcessEngineConfigurationImpl setTableDataManager(TableDataManager tableDataManager) { this.tableDataManager = tableDataManager; return this; } public HistoryManager getHistoryManager() { return this.historyManager; } public ProcessEngineConfigurationImpl setHistoryManager(HistoryManager historyManager) { this.historyManager = historyManager; return this; } public JobManager getJobManager() { return this.jobManager; } public ProcessEngineConfigurationImpl setJobManager(JobManager jobManager) { this.jobManager = jobManager; return this; } public ProcessEngineConfigurationImpl setClock(Clock clock) { if (this.clock == null) { this.clock = clock; } else { this.clock.setCurrentCalendar(clock.getCurrentCalendar()); } if (this.isActiviti5CompatibilityEnabled && this.activiti5CompatibilityHandler != null) { this.getActiviti5CompatibilityHandler().setClock(clock); } return this; } public void resetClock() { if (this.clock != null) { this.clock.reset(); if (this.isActiviti5CompatibilityEnabled && this.activiti5CompatibilityHandler != null) { this.getActiviti5CompatibilityHandler().resetClock(); } } } public DelegateExpressionFieldInjectionMode getDelegateExpressionFieldInjectionMode() { return this.delegateExpressionFieldInjectionMode; } public ProcessEngineConfigurationImpl setDelegateExpressionFieldInjectionMode(DelegateExpressionFieldInjectionMode delegateExpressionFieldInjectionMode) { this.delegateExpressionFieldInjectionMode = delegateExpressionFieldInjectionMode; return this; } public ObjectMapper getObjectMapper() { return this.objectMapper; } public ProcessEngineConfigurationImpl setObjectMapper(ObjectMapper objectMapper) { this.objectMapper = objectMapper; return this; } public boolean isActiviti5CompatibilityEnabled() { return this.isActiviti5CompatibilityEnabled; } public ProcessEngineConfigurationImpl setActiviti5CompatibilityEnabled(boolean isActiviti5CompatibilityEnabled) { this.isActiviti5CompatibilityEnabled = isActiviti5CompatibilityEnabled; return this; } public Activiti5CompatibilityHandlerFactory getActiviti5CompatibilityHandlerFactory() { return this.activiti5CompatibilityHandlerFactory; } public ProcessEngineConfigurationImpl setActiviti5CompatibilityHandlerFactory(Activiti5CompatibilityHandlerFactory activiti5CompatibilityHandlerFactory) { this.activiti5CompatibilityHandlerFactory = activiti5CompatibilityHandlerFactory; return this; } public Activiti5CompatibilityHandler getActiviti5CompatibilityHandler() { return this.activiti5CompatibilityHandler; } public ProcessEngineConfigurationImpl setActiviti5CompatibilityHandler(Activiti5CompatibilityHandler activiti5CompatibilityHandler) { this.activiti5CompatibilityHandler = activiti5CompatibilityHandler; return this; } public Object getActiviti5ActivityBehaviorFactory() { return this.activiti5ActivityBehaviorFactory; } public ProcessEngineConfigurationImpl setActiviti5ActivityBehaviorFactory(Object activiti5ActivityBehaviorFactory) { this.activiti5ActivityBehaviorFactory = activiti5ActivityBehaviorFactory; return this; } public Object getActiviti5ListenerFactory() { return this.activiti5ListenerFactory; } public ProcessEngineConfigurationImpl setActiviti5ListenerFactory(Object activiti5ListenerFactory) { this.activiti5ListenerFactory = activiti5ListenerFactory; return this; } public List getActiviti5PreBpmnParseHandlers() { return this.activiti5PreBpmnParseHandlers; } public ProcessEngineConfigurationImpl setActiviti5PreBpmnParseHandlers(List activiti5PreBpmnParseHandlers) { this.activiti5PreBpmnParseHandlers = activiti5PreBpmnParseHandlers; return this; } public List getActiviti5PostBpmnParseHandlers() { return this.activiti5PostBpmnParseHandlers; } public ProcessEngineConfigurationImpl setActiviti5PostBpmnParseHandlers(List activiti5PostBpmnParseHandlers) { this.activiti5PostBpmnParseHandlers = activiti5PostBpmnParseHandlers; return this; } public List getActiviti5CustomDefaultBpmnParseHandlers() { return this.activiti5CustomDefaultBpmnParseHandlers; } public ProcessEngineConfigurationImpl setActiviti5CustomDefaultBpmnParseHandlers(List activiti5CustomDefaultBpmnParseHandlers) { this.activiti5CustomDefaultBpmnParseHandlers = activiti5CustomDefaultBpmnParseHandlers; return this; } public Set> getActiviti5CustomMybatisMappers() { return this.activiti5CustomMybatisMappers; } public ProcessEngineConfigurationImpl setActiviti5CustomMybatisMappers(Set> activiti5CustomMybatisMappers) { this.activiti5CustomMybatisMappers = activiti5CustomMybatisMappers; return this; } public Set getActiviti5CustomMybatisXMLMappers() { return this.activiti5CustomMybatisXMLMappers; } public ProcessEngineConfigurationImpl setActiviti5CustomMybatisXMLMappers(Set activiti5CustomMybatisXMLMappers) { this.activiti5CustomMybatisXMLMappers = activiti5CustomMybatisXMLMappers; return this; } public int getAsyncExecutorCorePoolSize() { return this.asyncExecutorCorePoolSize; } public ProcessEngineConfigurationImpl setAsyncExecutorCorePoolSize(int asyncExecutorCorePoolSize) { this.asyncExecutorCorePoolSize = asyncExecutorCorePoolSize; return this; } public int getAsyncExecutorNumberOfRetries() { return this.asyncExecutorNumberOfRetries; } public ProcessEngineConfigurationImpl setAsyncExecutorNumberOfRetries(int asyncExecutorNumberOfRetries) { this.asyncExecutorNumberOfRetries = asyncExecutorNumberOfRetries; return this; } public int getAsyncExecutorMaxPoolSize() { return this.asyncExecutorMaxPoolSize; } public ProcessEngineConfigurationImpl setAsyncExecutorMaxPoolSize(int asyncExecutorMaxPoolSize) { this.asyncExecutorMaxPoolSize = asyncExecutorMaxPoolSize; return this; } public long getAsyncExecutorThreadKeepAliveTime() { return this.asyncExecutorThreadKeepAliveTime; } public ProcessEngineConfigurationImpl setAsyncExecutorThreadKeepAliveTime(long asyncExecutorThreadKeepAliveTime) { this.asyncExecutorThreadKeepAliveTime = asyncExecutorThreadKeepAliveTime; return this; } public int getAsyncExecutorThreadPoolQueueSize() { return this.asyncExecutorThreadPoolQueueSize; } public ProcessEngineConfigurationImpl setAsyncExecutorThreadPoolQueueSize(int asyncExecutorThreadPoolQueueSize) { this.asyncExecutorThreadPoolQueueSize = asyncExecutorThreadPoolQueueSize; return this; } public BlockingQueue getAsyncExecutorThreadPoolQueue() { return this.asyncExecutorThreadPoolQueue; } public ProcessEngineConfigurationImpl setAsyncExecutorThreadPoolQueue(BlockingQueue asyncExecutorThreadPoolQueue) { this.asyncExecutorThreadPoolQueue = asyncExecutorThreadPoolQueue; return this; } public long getAsyncExecutorSecondsToWaitOnShutdown() { return this.asyncExecutorSecondsToWaitOnShutdown; } public ProcessEngineConfigurationImpl setAsyncExecutorSecondsToWaitOnShutdown(long asyncExecutorSecondsToWaitOnShutdown) { this.asyncExecutorSecondsToWaitOnShutdown = asyncExecutorSecondsToWaitOnShutdown; return this; } public int getAsyncExecutorMaxTimerJobsPerAcquisition() { return this.asyncExecutorMaxTimerJobsPerAcquisition; } public ProcessEngineConfigurationImpl setAsyncExecutorMaxTimerJobsPerAcquisition(int asyncExecutorMaxTimerJobsPerAcquisition) { this.asyncExecutorMaxTimerJobsPerAcquisition = asyncExecutorMaxTimerJobsPerAcquisition; return this; } public int getAsyncExecutorMaxAsyncJobsDuePerAcquisition() { return this.asyncExecutorMaxAsyncJobsDuePerAcquisition; } public ProcessEngineConfigurationImpl setAsyncExecutorMaxAsyncJobsDuePerAcquisition(int asyncExecutorMaxAsyncJobsDuePerAcquisition) { this.asyncExecutorMaxAsyncJobsDuePerAcquisition = asyncExecutorMaxAsyncJobsDuePerAcquisition; return this; } public int getAsyncExecutorDefaultTimerJobAcquireWaitTime() { return this.asyncExecutorDefaultTimerJobAcquireWaitTime; } public ProcessEngineConfigurationImpl setAsyncExecutorDefaultTimerJobAcquireWaitTime(int asyncExecutorDefaultTimerJobAcquireWaitTime) { this.asyncExecutorDefaultTimerJobAcquireWaitTime = asyncExecutorDefaultTimerJobAcquireWaitTime; return this; } public int getAsyncExecutorDefaultAsyncJobAcquireWaitTime() { return this.asyncExecutorDefaultAsyncJobAcquireWaitTime; } public ProcessEngineConfigurationImpl setAsyncExecutorDefaultAsyncJobAcquireWaitTime(int asyncExecutorDefaultAsyncJobAcquireWaitTime) { this.asyncExecutorDefaultAsyncJobAcquireWaitTime = asyncExecutorDefaultAsyncJobAcquireWaitTime; return this; } public int getAsyncExecutorDefaultQueueSizeFullWaitTime() { return this.asyncExecutorDefaultQueueSizeFullWaitTime; } public ProcessEngineConfigurationImpl setAsyncExecutorDefaultQueueSizeFullWaitTime(int asyncExecutorDefaultQueueSizeFullWaitTime) { this.asyncExecutorDefaultQueueSizeFullWaitTime = asyncExecutorDefaultQueueSizeFullWaitTime; return this; } public String getAsyncExecutorLockOwner() { return this.asyncExecutorLockOwner; } public ProcessEngineConfigurationImpl setAsyncExecutorLockOwner(String asyncExecutorLockOwner) { this.asyncExecutorLockOwner = asyncExecutorLockOwner; return this; } public int getAsyncExecutorTimerLockTimeInMillis() { return this.asyncExecutorTimerLockTimeInMillis; } public ProcessEngineConfigurationImpl setAsyncExecutorTimerLockTimeInMillis(int asyncExecutorTimerLockTimeInMillis) { this.asyncExecutorTimerLockTimeInMillis = asyncExecutorTimerLockTimeInMillis; return this; } public int getAsyncExecutorAsyncJobLockTimeInMillis() { return this.asyncExecutorAsyncJobLockTimeInMillis; } public ProcessEngineConfigurationImpl setAsyncExecutorAsyncJobLockTimeInMillis(int asyncExecutorAsyncJobLockTimeInMillis) { this.asyncExecutorAsyncJobLockTimeInMillis = asyncExecutorAsyncJobLockTimeInMillis; return this; } public int getAsyncExecutorResetExpiredJobsInterval() { return this.asyncExecutorResetExpiredJobsInterval; } public ProcessEngineConfigurationImpl setAsyncExecutorResetExpiredJobsInterval(int asyncExecutorResetExpiredJobsInterval) { this.asyncExecutorResetExpiredJobsInterval = asyncExecutorResetExpiredJobsInterval; return this; } public ExecuteAsyncRunnableFactory getAsyncExecutorExecuteAsyncRunnableFactory() { return this.asyncExecutorExecuteAsyncRunnableFactory; } public ProcessEngineConfigurationImpl setAsyncExecutorExecuteAsyncRunnableFactory(ExecuteAsyncRunnableFactory asyncExecutorExecuteAsyncRunnableFactory) { this.asyncExecutorExecuteAsyncRunnableFactory = asyncExecutorExecuteAsyncRunnableFactory; return this; } public int getAsyncExecutorResetExpiredJobsPageSize() { return this.asyncExecutorResetExpiredJobsPageSize; } public ProcessEngineConfigurationImpl setAsyncExecutorResetExpiredJobsPageSize(int asyncExecutorResetExpiredJobsPageSize) { this.asyncExecutorResetExpiredJobsPageSize = asyncExecutorResetExpiredJobsPageSize; return this; } public boolean isAsyncExecutorIsMessageQueueMode() { return this.asyncExecutorMessageQueueMode; } public ProcessEngineConfigurationImpl setAsyncExecutorMessageQueueMode(boolean asyncExecutorMessageQueueMode) { this.asyncExecutorMessageQueueMode = asyncExecutorMessageQueueMode; return this; } }