mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged HEAD-QA to HEAD (4.2) (including moving test classes into separate folders)
51903 to 54309 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@54310 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
25
config/org/alfresco/repo/workflow/activiti/activiti.cfg.xml
Normal file
25
config/org/alfresco/repo/workflow/activiti/activiti.cfg.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
|
||||
|
||||
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
|
||||
|
||||
<property name="databaseType" value="mysql" />
|
||||
<property name="jdbcUrl" value="jdbc:mysql:///actint" />
|
||||
<property name="jdbcDriver" value="org.gjt.mm.mysql.Driver" />
|
||||
<property name="jdbcUsername" value="alfresco" />
|
||||
<property name="jdbcPassword" value="alfresco" />
|
||||
|
||||
<!-- Database configurations -->
|
||||
<property name="databaseSchemaUpdate" value="check-version" />
|
||||
|
||||
<!-- job executor configurations -->
|
||||
<property name="jobExecutorActivate" value="false" />
|
||||
|
||||
<!-- mail server configurations -->
|
||||
<property name="mailServerPort" value="5025" />
|
||||
</bean>
|
||||
|
||||
</beans>
|
@@ -0,0 +1,235 @@
|
||||
create table ACT_GE_PROPERTY (
|
||||
NAME_ varchar(255),
|
||||
VALUE_ varchar(255),
|
||||
REV_ integer,
|
||||
primary key (NAME_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
insert into ACT_GE_PROPERTY
|
||||
values ('schema.version', '5.0.beta1', 1);
|
||||
|
||||
insert into ACT_GE_PROPERTY
|
||||
values ('next.dbid', '1', 1);
|
||||
|
||||
create table ACT_GE_BYTEARRAY (
|
||||
ID_ varchar(255),
|
||||
REV_ integer,
|
||||
NAME_ varchar(255),
|
||||
DEPLOYMENT_ID_ varchar(255),
|
||||
BYTES_ LONGBLOB,
|
||||
primary key (ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_RE_DEPLOYMENT (
|
||||
ID_ varchar(255),
|
||||
NAME_ varchar(255),
|
||||
DEPLOY_TIME_ timestamp,
|
||||
primary key (ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_RU_EXECUTION (
|
||||
ID_ varchar(255),
|
||||
REV_ integer,
|
||||
PROC_INST_ID_ varchar(255),
|
||||
PARENT_ID_ varchar(255),
|
||||
PROC_DEF_ID_ varchar(255),
|
||||
SUPER_EXEC_ varchar(255),
|
||||
ACTIVITY_ID_ varchar(255),
|
||||
IS_ACTIVE_ TINYINT,
|
||||
IS_CONCURRENT_ TINYINT,
|
||||
IS_SCOPE_ TINYINT,
|
||||
primary key (ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_RU_JOB (
|
||||
ID_ varchar(255) NOT NULL,
|
||||
REV_ integer,
|
||||
TYPE_ varchar(255) NOT NULL,
|
||||
LOCK_EXP_TIME_ timestamp,
|
||||
LOCK_OWNER_ varchar(255),
|
||||
EXCLUSIVE_ boolean,
|
||||
EXECUTION_ID_ varchar(255),
|
||||
PROCESS_INSTANCE_ID_ varchar(255),
|
||||
RETRIES_ integer,
|
||||
EXCEPTION_ varchar(255),
|
||||
DUEDATE_ timestamp NULL,
|
||||
REPEAT_ varchar(255),
|
||||
HANDLER_TYPE_ varchar(255),
|
||||
HANDLER_CFG_ varchar(255),
|
||||
primary key (ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_ID_GROUP (
|
||||
ID_ varchar(255),
|
||||
REV_ integer,
|
||||
NAME_ varchar(255),
|
||||
TYPE_ varchar(255),
|
||||
primary key (ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_ID_MEMBERSHIP (
|
||||
USER_ID_ varchar(255),
|
||||
GROUP_ID_ varchar(255),
|
||||
primary key (USER_ID_, GROUP_ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_ID_USER (
|
||||
ID_ varchar(255),
|
||||
REV_ integer,
|
||||
FIRST_ varchar(255),
|
||||
LAST_ varchar(255),
|
||||
EMAIL_ varchar(255),
|
||||
PWD_ varchar(255),
|
||||
primary key (ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_RE_PROC_DEF (
|
||||
ID_ varchar(255),
|
||||
NAME_ varchar(255),
|
||||
KEY_ varchar(255),
|
||||
VERSION_ integer,
|
||||
DEPLOYMENT_ID_ varchar(255),
|
||||
RESOURCE_NAME_ varchar(255),
|
||||
primary key (ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_RU_TASK (
|
||||
ID_ varchar(255),
|
||||
REV_ integer,
|
||||
EXECUTION_ID_ varchar(255),
|
||||
PROC_INST_ID_ varchar(255),
|
||||
PROC_DEF_ID_ varchar(255),
|
||||
NAME_ varchar(255),
|
||||
DESCRIPTION_ varchar(255),
|
||||
FORM_ varchar(255),
|
||||
ASSIGNEE_ varchar(255),
|
||||
PRIORITY_ integer,
|
||||
CREATE_TIME_ timestamp,
|
||||
START_DEADLINE_ timestamp,
|
||||
COMPLETION_DEADLINE_ timestamp,
|
||||
SKIPPABLE_ TINYINT,
|
||||
primary key (ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_RU_TASKINVOLVEMENT (
|
||||
ID_ varchar(255),
|
||||
REV_ integer,
|
||||
GROUP_ID_ varchar(255),
|
||||
TYPE_ varchar(255),
|
||||
USER_ID_ varchar(255),
|
||||
TASK_ID_ varchar(255),
|
||||
primary key (ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_RU_VARIABLE (
|
||||
ID_ varchar(255) not null,
|
||||
REV_ integer,
|
||||
TYPE_ varchar(255) not null,
|
||||
NAME_ varchar(255) not null,
|
||||
EXECUTION_ID_ varchar(255),
|
||||
PROC_INST_ID_ varchar(255),
|
||||
TASK_ID_ varchar(255),
|
||||
BYTEARRAY_ID_ varchar(255),
|
||||
DATE_ timestamp,
|
||||
DOUBLE_ double,
|
||||
LONG_ bigint,
|
||||
TEXT_ varchar(255),
|
||||
primary key (ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_HI_PROC_INST (
|
||||
ID_ varchar(255) not null,
|
||||
PROC_INST_ID_ varchar(255) not null,
|
||||
PROC_DEF_ID_ varchar(255) not null,
|
||||
START_TIME_ datetime not null,
|
||||
END_TIME_ datetime,
|
||||
DURATION_ bigint,
|
||||
-- TODO: check endStateName length
|
||||
END_ACT_ID_ varchar(255),
|
||||
primary key (ID_),
|
||||
unique (PROC_INST_ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
create table ACT_HI_ACT_INST (
|
||||
ID_ varchar(255) not null,
|
||||
ACT_ID_ varchar(255) not null,
|
||||
ACT_NAME_ varchar(255),
|
||||
ACT_TYPE_ varchar(255) not null,
|
||||
PROC_INST_ID_ varchar(255) not null,
|
||||
PROC_DEF_ID_ varchar(255) not null,
|
||||
START_TIME_ datetime not null,
|
||||
END_TIME_ datetime,
|
||||
DURATION_ bigint,
|
||||
primary key (ID_),
|
||||
unique (ACT_ID_, PROC_INST_ID_)
|
||||
) TYPE=InnoDB;
|
||||
|
||||
alter table ACT_GE_BYTEARRAY
|
||||
add constraint FK_ACT_BYTEARR_DEPL
|
||||
foreign key (DEPLOYMENT_ID_)
|
||||
references ACT_RE_DEPLOYMENT (ID_);
|
||||
|
||||
alter table ACT_RU_EXECUTION
|
||||
add constraint FK_ACT_EXE_PROCINST
|
||||
foreign key (PROC_INST_ID_)
|
||||
references ACT_RU_EXECUTION (ID_) on delete cascade on update cascade;
|
||||
|
||||
alter table ACT_RU_EXECUTION
|
||||
add constraint FK_ACT_EXE_PARENT
|
||||
foreign key (PARENT_ID_)
|
||||
references ACT_RU_EXECUTION (ID_);
|
||||
|
||||
alter table ACT_RU_EXECUTION
|
||||
add constraint FK_ACT_EXE_SUPER
|
||||
foreign key (SUPER_EXEC_)
|
||||
references ACT_RU_EXECUTION (ID_);
|
||||
|
||||
alter table ACT_ID_MEMBERSHIP
|
||||
add constraint FK_ACT_MEMB_GROUP
|
||||
foreign key (GROUP_ID_)
|
||||
references ACT_ID_GROUP (ID_);
|
||||
|
||||
alter table ACT_ID_MEMBERSHIP
|
||||
add constraint FK_ACT_MEMB_USER
|
||||
foreign key (USER_ID_)
|
||||
references ACT_ID_USER (ID_);
|
||||
|
||||
alter table ACT_RU_TASKINVOLVEMENT
|
||||
add constraint FK_ACT_TSKASS_TASK
|
||||
foreign key (TASK_ID_)
|
||||
references ACT_RU_TASK (ID_);
|
||||
|
||||
alter table ACT_RU_TASK
|
||||
add constraint FK_ACT_TASK_EXEC
|
||||
foreign key (EXECUTION_ID_)
|
||||
references ACT_RU_EXECUTION (ID_);
|
||||
|
||||
alter table ACT_RU_TASK
|
||||
add constraint FK_ACT_TASK_PROCINST
|
||||
foreign key (PROC_INST_ID_)
|
||||
references ACT_RU_EXECUTION (ID_);
|
||||
|
||||
alter table ACT_RU_TASK
|
||||
add constraint FK_ACT_TASK_PROCDEF
|
||||
foreign key (PROC_DEF_ID_)
|
||||
references ACT_RE_PROC_DEF (ID_);
|
||||
|
||||
alter table ACT_RU_VARIABLE
|
||||
add constraint FK_ACT_VAR_TASK
|
||||
foreign key (TASK_ID_)
|
||||
references ACT_RU_TASK (ID_);
|
||||
|
||||
alter table ACT_RU_VARIABLE
|
||||
add constraint FK_ACT_VAR_EXE
|
||||
foreign key (EXECUTION_ID_)
|
||||
references ACT_RU_EXECUTION (ID_);
|
||||
|
||||
alter table ACT_RU_VARIABLE
|
||||
add constraint FK_ACT_VAR_PROCINST
|
||||
foreign key (PROC_INST_ID_)
|
||||
references ACT_RU_EXECUTION(ID_);
|
||||
|
||||
alter table ACT_RU_VARIABLE
|
||||
add constraint FK_ACT_VAR_BYTEARRAY
|
||||
foreign key (BYTEARRAY_ID_)
|
||||
references ACT_GE_BYTEARRAY (ID_);
|
55
config/org/alfresco/repo/workflow/activiti/adhoc.bpmn20.xml
Normal file
55
config/org/alfresco/repo/workflow/activiti/adhoc.bpmn20.xml
Normal file
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<definitions id="adhoc-definitions"
|
||||
typeLanguage="http://www.w3.org/2001/XMLSchema"
|
||||
expressionLanguage="http://www.w3.org/1999/XPath"
|
||||
targetNamespace="http://activiti.org/bpmn20"
|
||||
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:activiti="http://activiti.org/bpmn">
|
||||
|
||||
<process isExecutable="true" id="adhoc" name="Adhoc Process">
|
||||
|
||||
<startEvent id="start"
|
||||
activiti:formKey="adhocStart.form" />
|
||||
|
||||
<sequenceFlow id='flow1'
|
||||
sourceRef='start'
|
||||
targetRef='adhocTask' />
|
||||
|
||||
<userTask id="adhocTask" name="Adhoc Task"
|
||||
activiti:formKey="adhocTask.form" >
|
||||
<documentation>
|
||||
Perform some arbitrary human task.
|
||||
</documentation>
|
||||
<humanPerformer>
|
||||
<resourceAssignmentExpression>
|
||||
<formalExpression>${taskAssignee}</formalExpression>
|
||||
</resourceAssignmentExpression>
|
||||
</humanPerformer>
|
||||
</userTask>
|
||||
|
||||
<sequenceFlow id='flow2'
|
||||
sourceRef='adhocTask'
|
||||
targetRef='verifyTaskDone' />
|
||||
|
||||
<userTask id="verifyTaskDone" name="Verify Adhoc Task Completed."
|
||||
activiti:formKey="adhocDone.form" >
|
||||
<documentation>
|
||||
Verify the arbitrary task was completed.
|
||||
</documentation>
|
||||
<humanPerformer>
|
||||
<resourceAssignmentExpression>
|
||||
<formalExpression>${initiator}</formalExpression>
|
||||
</resourceAssignmentExpression>
|
||||
</humanPerformer>
|
||||
</userTask>
|
||||
|
||||
<sequenceFlow id='flow3' sourceRef='verifyTaskDone'
|
||||
targetRef='theEnd' />
|
||||
|
||||
<endEvent id="theEnd" />
|
||||
|
||||
</process>
|
||||
|
||||
</definitions>
|
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
|
||||
<hibernate-mapping default-access="field">
|
||||
|
||||
<subclass name="org.alfresco.repo.workflow.jbpm.WorkflowTaskInstance"
|
||||
extends="org.jbpm.taskmgmt.exe.TaskInstance" discriminator-value="W">
|
||||
<property name="jbpmEngineName" type="string" length="50"
|
||||
column="JBPM_ENGINE_NAME" />
|
||||
</subclass>
|
||||
|
||||
</hibernate-mapping>
|
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
|
||||
<hibernate-mapping default-access="field">
|
||||
|
||||
<subclass name="org.alfresco.repo.workflow.jbpm.AlfrescoCreateTimerAction"
|
||||
extends="org.jbpm.graph.def.Action"
|
||||
discriminator-value="C">
|
||||
|
||||
<property name="timerName" column="TIMERNAME_" />
|
||||
<property name="dueDate" column="DUEDATE_" />
|
||||
<property name="repeat" column="REPEAT_" />
|
||||
<property name="transitionName" column="TRANSITIONNAME_" />
|
||||
|
||||
<many-to-one name="timerAction"
|
||||
column="TIMERACTION_"
|
||||
foreign-key="FK_CRTETIMERACT_TA"
|
||||
cascade="all" />
|
||||
|
||||
</subclass>
|
||||
|
||||
</hibernate-mapping>
|
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
|
||||
<hibernate-mapping default-access="field">
|
||||
|
||||
<subclass name="org.alfresco.repo.workflow.jbpm.AlfrescoExecuteNodeJob"
|
||||
discriminator-value="X"
|
||||
extends="org.jbpm.job.ExecuteNodeJob">
|
||||
|
||||
</subclass>
|
||||
|
||||
</hibernate-mapping>
|
12
config/org/alfresco/repo/workflow/jbpm/jbpm.Join.hbm.xml
Normal file
12
config/org/alfresco/repo/workflow/jbpm/jbpm.Join.hbm.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
|
||||
<hibernate-mapping default-access="field" >
|
||||
|
||||
<subclass name="org.alfresco.repo.workflow.jbpm.Join"
|
||||
discriminator-value="J"
|
||||
extends="org.jbpm.graph.def.Node" />
|
||||
|
||||
</hibernate-mapping>
|
15
config/org/alfresco/repo/workflow/jbpm/jbpm.TaskNode.hbm.xml
Normal file
15
config/org/alfresco/repo/workflow/jbpm/jbpm.TaskNode.hbm.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
|
||||
<hibernate-mapping default-access="field">
|
||||
|
||||
<subclass name="org.alfresco.repo.workflow.jbpm.AlfrescoTaskNode"
|
||||
discriminator-value="S"
|
||||
extends="org.jbpm.graph.node.TaskNode">
|
||||
|
||||
</subclass>
|
||||
|
||||
</hibernate-mapping>
|
15
config/org/alfresco/repo/workflow/jbpm/jbpm.Timer.hbm.xml
Normal file
15
config/org/alfresco/repo/workflow/jbpm/jbpm.Timer.hbm.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
|
||||
<hibernate-mapping default-access="field">
|
||||
|
||||
<subclass name="org.alfresco.repo.workflow.jbpm.AlfrescoTimer"
|
||||
discriminator-value="S"
|
||||
extends="org.jbpm.job.Timer">
|
||||
|
||||
</subclass>
|
||||
|
||||
</hibernate-mapping>
|
@@ -0,0 +1,7 @@
|
||||
<action-types>
|
||||
<action-type element="action" class="org.jbpm.graph.def.Action" />
|
||||
<action-type element="create-timer" class="org.alfresco.repo.workflow.jbpm.CreateTimerAction" />
|
||||
<action-type element="cancel-timer" class="org.jbpm.scheduler.def.CancelTimerAction" />
|
||||
<action-type element="script" class="org.jbpm.graph.action.Script" />
|
||||
<action-type element="mail" class="org.jbpm.graph.action.MailAction" />
|
||||
</action-types>
|
91
config/org/alfresco/repo/workflow/jbpm/jbpm.cfg.xml
Normal file
91
config/org/alfresco/repo/workflow/jbpm/jbpm.cfg.xml
Normal file
@@ -0,0 +1,91 @@
|
||||
|
||||
<jbpm-configuration>
|
||||
|
||||
<jbpm-context>
|
||||
<service name="persistence">
|
||||
<factory>
|
||||
<bean class="org.jbpm.persistence.db.DbPersistenceServiceFactory">
|
||||
<field name="isCurrentSessionEnabled">
|
||||
<true />
|
||||
</field>
|
||||
<field name="isTransactionEnabled">
|
||||
<false />
|
||||
</field>
|
||||
</bean>
|
||||
</factory>
|
||||
</service>
|
||||
<service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
|
||||
<service name="message" factory="org.jbpm.msg.db.DbMessageServiceFactory" />
|
||||
<service name="scheduler"
|
||||
factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory" />
|
||||
<service name="logging"
|
||||
factory="org.jbpm.logging.db.DbLoggingServiceFactory" />
|
||||
<service name="authentication"
|
||||
factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" />
|
||||
</jbpm-context>
|
||||
|
||||
<!--
|
||||
configuration resource files pointing to default configuration
|
||||
files in jbpm-{version}.jar
|
||||
-->
|
||||
<string name="resource.business.calendar"
|
||||
value="org/jbpm/calendar/jbpm.business.calendar.properties" />
|
||||
<string name="resource.default.modules"
|
||||
value="org/jbpm/graph/def/jbpm.default.modules.properties" />
|
||||
<string name='resource.converter'
|
||||
value='org/alfresco/repo/workflow/jbpm/jbpm.converter.properties' />
|
||||
<string name="resource.action.types"
|
||||
value="org/alfresco/repo/workflow/jbpm/jbpm.action.types.xml" />
|
||||
<string name="resource.node.types"
|
||||
value="org/alfresco/repo/workflow/jbpm/jbpm.node.types.xml" />
|
||||
<string name="resource.parsers"
|
||||
value="org/alfresco/repo/workflow/jbpm/jbpm.parsers.xml" />
|
||||
<string name="resource.varmapping"
|
||||
value="org/alfresco/repo/workflow/jbpm/jbpm.varmapping.xml" />
|
||||
<string name="resource.mail.templates" value="jbpm.mail.templates.xml" />
|
||||
|
||||
<int name="jbpm.byte.block.size" value="1024" singleton="true" />
|
||||
<string name="jbpm.mail.smtp.host" value="localhost" />
|
||||
<bean name="jbpm.task.instance.factory"
|
||||
class="org.alfresco.repo.workflow.jbpm.WorkflowTaskInstanceFactory"
|
||||
singleton="true">
|
||||
<field name="jbpmEngineName">
|
||||
<string value="jbpm_engine" />
|
||||
</field>
|
||||
</bean>
|
||||
<bean name="jbpm.variable.resolver" class="org.jbpm.jpdl.el.impl.JbpmVariableResolver"
|
||||
singleton="true" />
|
||||
<bean name="jbpm.mail.address.resolver" class="org.jbpm.identity.mail.IdentityAddressResolver"
|
||||
singleton="true" />
|
||||
|
||||
<bean name="jbpm.job.executor" class="org.alfresco.repo.workflow.jbpm.AlfrescoJobExecutor">
|
||||
<field name="jbpmConfiguration">
|
||||
<ref bean="jbpmConfiguration" />
|
||||
</field>
|
||||
<field name="name">
|
||||
<string value="AlfrescoJbpmJobExecutor" />
|
||||
</field>
|
||||
<field name="nbrOfThreads">
|
||||
<int value="1" />
|
||||
</field>
|
||||
<field name="idleInterval">
|
||||
<int value="90000" />
|
||||
</field> <!-- 15 minutes -->
|
||||
<field name="maxIdleInterval">
|
||||
<int value="3600000" />
|
||||
</field> <!-- 1 hour -->
|
||||
<field name="historyMaxSize">
|
||||
<int value="20" />
|
||||
</field>
|
||||
<field name="maxLockTime">
|
||||
<int value="600000" />
|
||||
</field> <!-- 10 minutes -->
|
||||
<field name="lockMonitorInterval">
|
||||
<int value="60000" />
|
||||
</field> <!-- 1 minute -->
|
||||
<field name="lockBufferTime">
|
||||
<int value="5000" />
|
||||
</field> <!-- 5 seconds -->
|
||||
</bean>
|
||||
|
||||
</jbpm-configuration>
|
@@ -0,0 +1,19 @@
|
||||
# this file contains the mappings between converter types
|
||||
# and the char that is used in the database. this mapping
|
||||
# is used by the ConverterEnumType to store the VariableInstance
|
||||
# converter field. The Converters class provides singleton access
|
||||
# to these converter classes.
|
||||
|
||||
B org.jbpm.context.exe.converter.BooleanToStringConverter
|
||||
Y org.jbpm.context.exe.converter.BytesToByteArrayConverter
|
||||
E org.jbpm.context.exe.converter.ByteToLongConverter
|
||||
C org.jbpm.context.exe.converter.CharacterToStringConverter
|
||||
A org.jbpm.context.exe.converter.DateToLongConverter
|
||||
D org.jbpm.context.exe.converter.DoubleToStringConverter
|
||||
F org.jbpm.context.exe.converter.FloatToStringConverter
|
||||
G org.jbpm.context.exe.converter.FloatToDoubleConverter
|
||||
I org.jbpm.context.exe.converter.IntegerToLongConverter
|
||||
R org.jbpm.context.exe.converter.SerializableToByteArrayConverter
|
||||
H org.jbpm.context.exe.converter.ShortToLongConverter
|
||||
N org.alfresco.repo.workflow.jbpm.NodeConverter
|
||||
L org.alfresco.repo.workflow.jbpm.NodeListConverter
|
105
config/org/alfresco/repo/workflow/jbpm/jbpm.ext.queries.hbm.xml
Normal file
105
config/org/alfresco/repo/workflow/jbpm/jbpm.ext.queries.hbm.xml
Normal file
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
|
||||
<hibernate-mapping>
|
||||
|
||||
<sql-query name="org.alfresco.repo.workflow.findTaskInstancesByActorId">
|
||||
<!--
|
||||
Query Result Object[]:
|
||||
0=> TaskInstance,
|
||||
1=> TaskMgmtDefinition,
|
||||
2=> Token,
|
||||
3=> ProcessInstance,
|
||||
4=> StartState (Node),
|
||||
5=> Task,
|
||||
6=> ProcessDefinition,
|
||||
7=> Task (StartTask),
|
||||
8=> ContextInstance
|
||||
-->
|
||||
|
||||
<return alias="taskInstance" class="org.jbpm.taskmgmt.exe.TaskInstance" />
|
||||
<return alias="taskMgmtDefinition" class="org.jbpm.taskmgmt.def.TaskMgmtDefinition" />
|
||||
<return-join alias="token" property="taskInstance.token" />
|
||||
<return-join alias="processInstance" property="token.processInstance" />
|
||||
<return-join alias="node" property="token.node" />
|
||||
<return-join alias="task" property="taskInstance.task" />
|
||||
<return-join alias="processDefinition1" property="task.processDefinition" />
|
||||
<return-join alias="startTask" property="taskMgmtDefinition.startTask" />
|
||||
<return alias="contextInstance" class="org.jbpm.context.exe.ContextInstance" />
|
||||
|
||||
<![CDATA[
|
||||
SELECT
|
||||
{taskInstance.*},
|
||||
{token.*},
|
||||
{processInstance.*},
|
||||
{node.*},
|
||||
{task.*},
|
||||
{processDefinition1.*},
|
||||
{taskMgmtDefinition.*},
|
||||
{startTask.*},
|
||||
{contextInstance.*}
|
||||
FROM
|
||||
JBPM_TASKINSTANCE taskInstance
|
||||
JOIN JBPM_TOKEN token ON (taskInstance.TOKEN_ = token.ID_)
|
||||
LEFT JOIN JBPM_NODE node ON (token.NODE_ = node.ID_)
|
||||
JOIN JBPM_TASK task ON (taskInstance.TASK_ = task.ID_)
|
||||
JOIN JBPM_PROCESSINSTANCE processInstance ON (taskInstance.PROCINST_ = processInstance.ID_)
|
||||
JOIN JBPM_MODULEINSTANCE contextInstance ON (contextInstance.PROCESSINSTANCE_ = processInstance.ID_)
|
||||
JOIN JBPM_PROCESSDEFINITION processDefinition1 ON (task.PROCESSDEFINITION_ = processDefinition1.ID_)
|
||||
JOIN JBPM_PROCESSDEFINITION processDefinition2 ON (processInstance.PROCESSDEFINITION_ = processDefinition2.ID_)
|
||||
JOIN JBPM_MODULEDEFINITION taskMgmtDefinition ON (taskMgmtDefinition.PROCESSDEFINITION_ = processDefinition2.ID_)
|
||||
JOIN JBPM_TASK startTask ON (taskMgmtDefinition.STARTTASK_ = startTask.ID_)
|
||||
WHERE
|
||||
taskInstance.ACTORID_=:actorId
|
||||
AND taskMgmtDefinition.NAME_ = 'org.jbpm.taskmgmt.def.TaskMgmtDefinition'
|
||||
AND contextInstance.NAME_='org.jbpm.context.exe.ContextInstance'
|
||||
AND taskInstance.ISSUSPENDED_ <> :true
|
||||
AND taskInstance.ISOPEN_= :true
|
||||
]]>
|
||||
</sql-query>
|
||||
|
||||
<query name="org.alfresco.repo.workflow.findTaskInstancesByActorIdHQL">
|
||||
select taskInstance
|
||||
from org.jbpm.taskmgmt.exe.TaskInstance as taskInstance
|
||||
left join fetch taskInstance.token as token
|
||||
left join fetch taskInstance.task as task
|
||||
left join fetch token.processInstance as processInstance
|
||||
left join fetch processInstance.processDefinition as processDefinition
|
||||
left join fetch processDefinition.definitions as taskMgmtDefinition
|
||||
where taskInstance.actorId = :actorId
|
||||
and taskInstance.isSuspended != true
|
||||
and taskInstance.isOpen = true
|
||||
</query>
|
||||
|
||||
<query name="org.alfresco.repo.workflow.cacheTaskInstanceProperties">
|
||||
<![CDATA[
|
||||
select taskInstance
|
||||
from org.jbpm.taskmgmt.exe.TaskInstance as taskInstance
|
||||
left join fetch taskInstance.variableInstances
|
||||
left join fetch taskInstance.comments
|
||||
left join fetch taskInstance.pooledActors
|
||||
left join fetch taskInstance.swimlaneInstance as swimlaneInstance
|
||||
left join fetch swimlaneInstance.pooledActors
|
||||
left join fetch taskInstance.token as token
|
||||
left join fetch token.processInstance as processInstance
|
||||
left join fetch processInstance.rootToken as rootToken
|
||||
left join fetch processInstance.instances
|
||||
left join fetch token.node as node
|
||||
left join fetch node.leavingTransitions
|
||||
where taskInstance.id in (:ids)
|
||||
]]>
|
||||
</query>
|
||||
|
||||
<query name="org.alfresco.repo.workflow.cacheInstanceVariables">
|
||||
<![CDATA[
|
||||
select variableMap
|
||||
from org.jbpm.context.exe.TokenVariableMap as variableMap
|
||||
left join fetch variableMap.contextInstance as contextInstance
|
||||
left join fetch variableMap.variableInstances
|
||||
where contextInstance.id in (:ids)
|
||||
]]>
|
||||
</query>
|
||||
|
||||
</hibernate-mapping>
|
19
config/org/alfresco/repo/workflow/jbpm/jbpm.node.types.xml
Normal file
19
config/org/alfresco/repo/workflow/jbpm/jbpm.node.types.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<node-types>
|
||||
<node-type element="start-state" class="org.jbpm.graph.node.StartState" />
|
||||
<node-type element="end-state" class="org.jbpm.graph.node.EndState" />
|
||||
<node-type element="node" class="org.jbpm.graph.def.Node" />
|
||||
<node-type element="state" class="org.jbpm.graph.node.State" />
|
||||
<node-type element="task-node" class="org.jbpm.graph.node.TaskNode" />
|
||||
<node-type element="fork" class="org.jbpm.graph.node.Fork" />
|
||||
<node-type element="join" class="org.alfresco.repo.workflow.jbpm.Join" />
|
||||
<node-type element="decision" class="org.jbpm.graph.node.Decision" />
|
||||
<node-type element="process-state" class="org.jbpm.graph.node.ProcessState" />
|
||||
<node-type element="super-state" class="org.jbpm.graph.def.SuperState" />
|
||||
<node-type element="merge" class="org.jbpm.graph.node.Merge" />
|
||||
<node-type element="milestone-node" class="org.jbpm.graph.node.MilestoneNode" />
|
||||
<node-type element="interleave-start" class="org.jbpm.graph.node.InterleaveStart" />
|
||||
<node-type element="interleave-end" class="org.jbpm.graph.node.InterleaveEnd" />
|
||||
<node-type element="mail-node" class="org.jbpm.graph.node.MailNode" />
|
||||
<node-type element="page" class="org.jboss.seam.pageflow.Page" />
|
||||
<node-type element="start-page" class="org.jboss.seam.pageflow.Page" />
|
||||
</node-types>
|
4
config/org/alfresco/repo/workflow/jbpm/jbpm.parsers.xml
Normal file
4
config/org/alfresco/repo/workflow/jbpm/jbpm.parsers.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<parsers>
|
||||
<parser class="org.alfresco.repo.workflow.jbpm.JBPMJpdlArchiveParser" />
|
||||
<parser class="org.jbpm.jpdl.par.FileArchiveParser" />
|
||||
</parsers>
|
198
config/org/alfresco/repo/workflow/jbpm/jbpm.varmapping.xml
Normal file
198
config/org/alfresco/repo/workflow/jbpm/jbpm.varmapping.xml
Normal file
@@ -0,0 +1,198 @@
|
||||
<!--
|
||||
# This file specifies how jbpm will store variables into the database.
|
||||
#
|
||||
# If jbpm needs to determine how to store a variable into the database,
|
||||
# the jbpm-types below or scanned in sequence as they are specified here.
|
||||
# For each jbpm-type, jbpm will see if the give variable object matches
|
||||
# with the matcher bean. If there is a match, the converter (optional)
|
||||
# and the variable instance will be used to store and retrieve
|
||||
# the variable value for the rest of its lifetime till the variable is
|
||||
# deleted.
|
||||
-->
|
||||
<jbpm-types>
|
||||
|
||||
<list name="jbpm.types" singleton="true">
|
||||
|
||||
<!-- java.lang.String -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="java.lang.String" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.StringInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- java.lang.Boolean -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="java.lang.Boolean" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<converter class="org.jbpm.context.exe.converter.BooleanToStringConverter" />
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.StringInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- java.lang.Character -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="java.lang.Character" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<converter class="org.jbpm.context.exe.converter.CharacterToStringConverter" />
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.StringInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- java.lang.Long -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="java.lang.Long" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.LongInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- java.lang.Byte -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="java.lang.Byte" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<converter class="org.jbpm.context.exe.converter.ByteToLongConverter" />
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.LongInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- java.lang.Short -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="java.lang.Short" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<converter class="org.jbpm.context.exe.converter.ShortToLongConverter" />
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.LongInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- java.lang.Integer -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="java.lang.Integer" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<converter class="org.jbpm.context.exe.converter.IntegerToLongConverter" />
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.LongInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- java.lang.Double -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="java.lang.Double" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.DoubleInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- java.lang.Float -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="java.lang.Float" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<converter class="org.jbpm.context.exe.converter.FloatToDoubleConverter" />
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.DoubleInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- java.util.Date -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="java.util.Date" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.DateInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- org.alfresco.repo.workflow.jbpm.JBPMNode -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="org.alfresco.repo.workflow.jbpm.JBPMNode" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<converter class="org.alfresco.repo.workflow.jbpm.NodeConverter" />
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.StringInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- org.alfresco.repo.workflow.jbpm.JBPMNodeList -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="org.alfresco.repo.workflow.jbpm.JBPMNodeList" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<converter class="org.alfresco.repo.workflow.jbpm.NodeListConverter" />
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.ByteArrayInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- byte[] -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.ClassNameMatcher">
|
||||
<field name="className"><string value="[B" /></field>
|
||||
</bean>
|
||||
</matcher>
|
||||
<converter class="org.jbpm.context.exe.converter.BytesToByteArrayConverter" />
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.ByteArrayInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- hibernatable long id types -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.HibernateLongIdMatcher" />
|
||||
</matcher>
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.HibernateLongInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- hibernatable string id types -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.HibernateStringIdMatcher" />
|
||||
</matcher>
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.HibernateStringInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- java.io.Serializable -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.SerializableMatcher" />
|
||||
</matcher>
|
||||
<converter class="org.jbpm.context.exe.converter.SerializableToByteArrayConverter" />
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.ByteArrayInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- hibernatable ejb3 types -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.Ejb3Matcher" />
|
||||
</matcher>
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.Ejb3Instance" />
|
||||
</jbpm-type>
|
||||
|
||||
<!-- JSR 170 JCR Node -->
|
||||
<jbpm-type>
|
||||
<matcher>
|
||||
<bean class="org.jbpm.context.exe.matcher.JcrNodeMatcher" />
|
||||
</matcher>
|
||||
<variable-instance class="org.jbpm.context.exe.variableinstance.JcrNodeInstance" />
|
||||
</jbpm-type>
|
||||
|
||||
</list>
|
||||
|
||||
</jbpm-types>
|
Reference in New Issue
Block a user