提交 b92bfbee 编写于 作者: F frederikheremans

ACT-330 added DB2 support (experimental)

上级 89aa22f5
db=db2
jdbc.driver=com.ibm.db2.jcc.DB2Driver
jdbc.url=jdbc:db2://localhost:50000/activiti
jdbc.username=activiti
jdbc.password=activiti
......@@ -3,6 +3,7 @@
# Postgres SQL(postgres) and Oracle 10g (oracle) is supported.
#
# SQL Server(mssql) is also supported, but is an EXPERIMENTAL feature.
# IBM DB2(db2) is also supported, but is an EXPERIMENTAL feature.
#
# When using oracle, follow the instructions described in the userguide, chapter
# Configuration > Changing the database > Using Oracle in the demo setup
......
......@@ -187,6 +187,9 @@
<condition property="db.is.mssql">
<equals arg1="${db}" arg2="mssql" casesensitive="false"/>
</condition>
<condition property="db.is.db2">
<equals arg1="${db}" arg2="db2" casesensitive="false"/>
</condition>
<target name="db.create"
description="Creates the Activiti tables in the DB">
......@@ -623,6 +626,7 @@ set JAVA_OPTS=%JAVA_OPTS% @tomcat.java.opts@
<include name="postgresql-*.jar" if="db.is.postgres"/>
<include name="ojdbc5*.jar" if="db.is.oracle"/>
<include name="jtds-*.jar" if="db.is.mssql"/>
<include name="db2jcc*.jar" if="db.is.db2"/>
</fileset>
</target>
......
insert into ACT_ID_GROUP values ('admin', 1, 'System administrator', 'security-role');
insert into ACT_ID_GROUP values ('user', 1, 'User', 'security-role');
insert into ACT_ID_GROUP values ('manager', 1, 'Manager', 'security-role');
insert into ACT_ID_GROUP values ('management', 1, 'Management', 'assignment');
insert into ACT_ID_GROUP values ('accountancy', 1, 'Accountancy', 'assignment');
insert into ACT_ID_GROUP values ('engineering', 1, 'Engineering', 'assignment');
insert into ACT_ID_GROUP values ('sales', 1, 'Sales', 'assignment');
insert into ACT_ID_USER values ('kermit', 1, 'Kermit', 'the Frog', 'kermit@localhost', 'kermit');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'admin');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'manager');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'management');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'accountancy');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'engineering');
insert into ACT_ID_MEMBERSHIP values ('kermit', 'sales');
insert into ACT_ID_USER values ('fozzie', 1, 'Fozzie', 'Bear', 'fozzie@localhost', 'fozzie');
insert into ACT_ID_MEMBERSHIP values ('fozzie', 'user');
insert into ACT_ID_MEMBERSHIP values ('fozzie', 'accountancy');
insert into ACT_ID_USER values ('gonzo', 1, 'Gonzo', 'the Great', 'gonzo@localhost', 'gonzo');
insert into ACT_ID_MEMBERSHIP values ('gonzo', 'manager');
insert into ACT_ID_MEMBERSHIP values ('gonzo', 'management');
insert into ACT_ID_MEMBERSHIP values ('gonzo', 'accountancy');
insert into ACT_ID_MEMBERSHIP values ('gonzo', 'sales');
update ACT_GE_PROPERTY
set VALUE_ = '10'
where NAME_ = 'next.dbid';
insert into ACT_CY_CONN_CONFIG values ('1',
'org.activiti.cycle.impl.connector.fs.FileSystemConnector',
'Eclipse Workspace (File System)',
'Workspace',
'kermit', '',
'<map><entry><string>basePath</string><string>@cycle.base.file.path@</string></entry></map>');
insert into ACT_CY_CONN_CONFIG values ('2',
'org.activiti.cycle.impl.connector.signavio.SignavioConnector',
'Activiti Modeler',
'Activiti',
'kermit', '',
'<map>
<entry><string>signavioBaseUrl</string><string>@activiti.modeler.base.url@</string></entry>
<entry><string>loginRequired</string><boolean>false</boolean></entry>
</map>');
insert into ACT_CY_CONN_CONFIG values ('3',
'org.activiti.cycle.impl.connector.fs.FileSystemConnector',
'Eclipse Workspace (File System)',
'Workspace',
'fozzie', '',
'<map><entry><string>basePath</string><string>@cycle.base.file.path@</string></entry></map>');
insert into ACT_CY_CONN_CONFIG values ('4',
'org.activiti.cycle.impl.connector.signavio.SignavioConnector',
'Activiti Modeler',
'Activiti',
'fozzie', '',
'<map>
<entry><string>signavioBaseUrl</string><string>@activiti.modeler.base.url@</string></entry>
<entry><string>loginRequired</string><boolean>false</boolean></entry>
</map>');
insert into ACT_CY_CONN_CONFIG values ('5',
'org.activiti.cycle.impl.connector.fs.FileSystemConnector',
'Eclipse Workspace (File System)',
'Workspace',
'gonzo', '',
'<map><entry><string>basePath</string><string>@cycle.base.file.path@</string></entry></map>');
insert into ACT_CY_CONN_CONFIG values ('6',
'org.activiti.cycle.impl.connector.signavio.SignavioConnector',
'Activiti Modeler',
'Activiti',
'gonzo', '',
'<map>
<entry><string>signavioBaseUrl</string><string>@activiti.modeler.base.url@</string></entry>
<entry><string>loginRequired</string><boolean>false</boolean></entry>
</map>');
create table ACT_CY_CONN_CONFIG (
ID_ varchar(255) not null,
PLUGIN_ID_ varchar(255) not null,
INSTANCE_NAME_ varchar(255) not null,
INSTANCE_ID_ varchar(255) not null,
USER_ varchar(255),
GROUP_ varchar(255),
VALUES_ varchar(1024),
primary key (ID_)
);
create table ACT_CY_CONFIG (
ID_ varchar(255) not null,
GROUP_ varchar(255) not null,
KEY_ varchar(255) not null,
VALUE_ varchar(255) not null,
primary key (ID_)
);
create table ACT_CY_LINK (
ID_ varchar(255) not null,
SOURCE_CONNECTOR_ID_ varchar(255),
SOURCE_ARTIFACT_ID_ varchar(550),
SOURCE_ELEMENT_ID_ varchar(255) default null,
SOURCE_ELEMENT_NAME_ varchar(255) default null,
SOURCE_REVISION_ bigint default null,
TARGET_CONNECTOR_ID_ varchar(255),
TARGET_ARTIFACT_ID_ varchar(550),
TARGET_ELEMENT_ID_ varchar(255) default null,
TARGET_ELEMENT_NAME_ varchar(255) default null,
TARGET_REVISION_ bigint default null,
LINK_TYPE_ varchar(255) ,
COMMENT_ varchar(1000),
LINKED_BOTH_WAYS_ smallint check(LINKED_BOTH_WAYS_ in (1,0)),
primary key(ID_)
);
create table ACT_CY_PEOPLE_LINK (
ID_ varchar(255) not null,
SOURCE_CONNECTOR_ID_ varchar(255),
SOURCE_ARTIFACT_ID_ varchar(550),
SOURCE_REVISION_ bigint default null,
USER_ID_ varchar(255),
GROUP_ID_ varchar(255),
LINK_TYPE_ varchar(255),
COMMENT_ varchar(1000),
primary key(ID_)
);
create table ACT_CY_TAG (
ID_ varchar(255) not null,
NAME_ varchar(255),
CONNECTOR_ID_ varchar(255),
ARTIFACT_ID_ varchar(550),
ALIAS_ varchar(255),
primary key(ID_)
);
create table ACT_CY_COMMENT (
ID_ varchar(255) not null,
CONNECTOR_ID_ varchar(255) not null,
NODE_ID_ varchar(550) not null,
ELEMENT_ID_ varchar(255) default null,
CONTENT_ varchar(1024) not null,
AUTHOR_ varchar(255),
DATE_ timestamp not null,
ANSWERED_COMMENT_ID_ varchar(255) default null,
primary key(ID_)
);
create index ACT_CY_IDX_COMMENT on ACT_CY_COMMENT(ANSWERED_COMMENT_ID_);
alter table ACT_CY_COMMENT
add constraint FK_CY_COMMENT_COMMENT
foreign key (ANSWERED_COMMENT_ID_)
references ACT_CY_COMMENT (ID_);
drop table ACT_CY_CONN_CONFIG;
drop table ACT_CY_CONFIG;
drop table ACT_CY_LINK;
drop table ACT_CY_PEOPLE_LINK;
drop table ACT_CY_TAG;
drop table ACT_CY_COMMENT;
......@@ -104,7 +104,6 @@
<artifactId>jtds</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
......@@ -309,6 +308,23 @@
</dependency>
</dependencies>
</profile>
<profile>
<id>db2</id>
<activation>
<property>
<name>database</name>
<value>db2</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.ibm.db2.jcc</groupId>
<artifactId>db2jcc4</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
</profiles>
<reporting>
......
......@@ -46,27 +46,45 @@ public class ExecutionBindings implements Bindings {
protected VariableScope variableScope;
public ExecutionBindings(VariableScope variableScope) {
protected Map<String, Object> fixedBindings;
public ExecutionBindings(VariableScope variableScope, Map<String, Object> fixedBindings) {
if (variableScope==null) {
throw new ActivitiException("variableScope cannot be null");
}
this.variableScope = variableScope;
this.fixedBindings = fixedBindings;
}
public boolean containsKey(Object key) {
return EXECUTION_KEY.equals(key) || variableScope.hasVariable((String) key);
boolean keyInFixed = false;
if(fixedBindings != null) {
keyInFixed = fixedBindings.containsKey(key);
}
return keyInFixed || EXECUTION_KEY.equals(key) || variableScope.hasVariable((String) key);
}
public Object get(Object key) {
if (EXECUTION_KEY.equals(key)) {
return variableScope;
} else if(fixedBindings != null) {
Object fixedValue = fixedBindings.get(key);
if(fixedValue != null) {
return fixedValue;
}
}
return variableScope.getVariable((String) key);
}
public Object put(String name, Object value) {
Object oldValue = null;
if (!UNSTORED_KEYS.contains(name)) {
if(fixedBindings != null && fixedBindings.containsKey(name)) {
throw new ActivitiException("Cannot set value in script: " + name);
}
oldValue = variableScope.getVariable(name);
variableScope.setVariable(name, value);
}
......
......@@ -13,6 +13,7 @@
package org.activiti.engine.impl.scripting;
import java.util.List;
import java.util.Map;
import javax.script.Bindings;
import javax.script.ScriptEngine;
......@@ -23,7 +24,6 @@ import javax.script.SimpleBindings;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.impl.pvm.runtime.ExecutionImpl;
/**
* @author Tom Baeyens
......@@ -56,7 +56,11 @@ public class ScriptingEngines {
}
public Object evaluate(String script, String language, DelegateExecution execution) {
Bindings bindings = createBindings(execution);
return evaluate(script, language, execution, null);
}
public Object evaluate(String script, String language, DelegateExecution execution, Map<String, Object> fixedBindings) {
Bindings bindings = createBindings(execution, fixedBindings);
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName(language);
if (scriptEngine == null) {
......@@ -70,10 +74,11 @@ public class ScriptingEngines {
}
}
/** override to build a spring aware ScriptingEngines */
protected Bindings createBindings(DelegateExecution execution) {
/** override to build a spring aware ScriptingEngines
* @param fixedBindings */
protected Bindings createBindings(DelegateExecution execution, Map<String, Object> fixedBindings) {
if (execution != null) {
return new ExecutionBindings(execution);
return new ExecutionBindings(execution, fixedBindings);
}
return new SimpleBindings();
}
......
create table ACT_GE_PROPERTY (
NAME_ varchar(64) not null,
VALUE_ varchar(300),
REV_ integer,
primary key (NAME_)
);
insert into ACT_GE_PROPERTY
values ('schema.version', '5.2-SNAPSHOT', 1);
insert into ACT_GE_PROPERTY
values ('schema.history', 'create(5.2-SNAPSHOT)', 1);
insert into ACT_GE_PROPERTY
values ('next.dbid', '1', 1);
create table ACT_GE_BYTEARRAY (
ID_ varchar(64) not null,
REV_ integer,
NAME_ varchar(255),
DEPLOYMENT_ID_ varchar(64),
BYTES_ BLOB,
primary key (ID_)
);
create table ACT_RE_DEPLOYMENT (
ID_ varchar(64) not null,
NAME_ varchar(255),
DEPLOY_TIME_ timestamp,
primary key (ID_)
);
create table ACT_RU_EXECUTION (
ID_ varchar(64) not null,
REV_ integer,
PROC_INST_ID_ varchar(64),
BUSINESS_KEY_ varchar(255),
PARENT_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
SUPER_EXEC_ varchar(64),
ACT_ID_ varchar(255),
IS_ACTIVE_ smallint check(IS_ACTIVE_ in (1,0)),
IS_CONCURRENT_ smallint check(IS_CONCURRENT_ in (1,0)),
IS_SCOPE_ smallint check(IS_SCOPE_ in (1,0)),
UNI_BUSINESS_KEY varchar (255) not null generated always as (case when "BUSINESS_KEY_" is null then "ID_" else "BUSINESS_KEY_" end),
UNI_PROC_DEF_ID varchar (64) not null generated always as (case when "PROC_DEF_ID_" is null then "ID_" else "PROC_DEF_ID_" end),
primary key (ID_)
);
create table ACT_RU_JOB (
ID_ varchar(64) not null,
REV_ integer,
TYPE_ varchar(255) not null,
LOCK_EXP_TIME_ timestamp,
LOCK_OWNER_ varchar(255),
EXCLUSIVE_ smallint check(EXCLUSIVE_ in (1,0)),
EXECUTION_ID_ varchar(64),
PROCESS_INSTANCE_ID_ varchar(64),
RETRIES_ integer,
EXCEPTION_STACK_ID_ varchar(64),
EXCEPTION_MSG_ varchar(255),
DUEDATE_ timestamp null,
REPEAT_ varchar(255),
HANDLER_TYPE_ varchar(255),
HANDLER_CFG_ varchar(255),
primary key (ID_)
);
create table ACT_ID_GROUP (
ID_ varchar(64) not null,
REV_ integer,
NAME_ varchar(255),
TYPE_ varchar(255),
primary key (ID_)
);
create table ACT_ID_MEMBERSHIP (
USER_ID_ varchar(64) not null,
GROUP_ID_ varchar(64) not null,
primary key (USER_ID_, GROUP_ID_)
);
create table ACT_ID_USER (
ID_ varchar(64) not null,
REV_ integer,
FIRST_ varchar(255),
LAST_ varchar(255),
EMAIL_ varchar(255),
PWD_ varchar(255),
primary key (ID_)
);
create table ACT_RE_PROCDEF (
ID_ varchar(64) not null,
CATEGORY_ varchar(255),
NAME_ varchar(255),
KEY_ varchar(255),
VERSION_ integer,
DEPLOYMENT_ID_ varchar(64),
RESOURCE_NAME_ varchar(255),
DGRM_RESOURCE_NAME_ varchar(255),
HAS_START_FORM_KEY_ smallint check(HAS_START_FORM_KEY_ in (1,0)),
primary key (ID_)
);
create table ACT_RU_TASK (
ID_ varchar(64) not null,
REV_ integer,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
NAME_ varchar(255),
DESCRIPTION_ varchar(255),
TASK_DEF_KEY_ varchar(255),
ASSIGNEE_ varchar(64),
PRIORITY_ integer,
CREATE_TIME_ timestamp,
primary key (ID_)
);
create table ACT_RU_IDENTITYLINK (
ID_ varchar(64) not null,
REV_ integer,
GROUP_ID_ varchar(64),
TYPE_ varchar(255),
USER_ID_ varchar(64),
TASK_ID_ varchar(64),
primary key (ID_)
);
create table ACT_RU_VARIABLE (
ID_ varchar(64) not null,
REV_ integer,
TYPE_ varchar(255) not null,
NAME_ varchar(255) not null,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
TASK_ID_ varchar(64),
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double precision,
LONG_ bigint,
TEXT_ varchar(255),
TEXT2_ varchar(255),
primary key (ID_)
);
create table ACT_HI_PROCINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
BUSINESS_KEY_ varchar(255),
PROC_DEF_ID_ varchar(64) not null,
START_TIME_ timestamp not null,
END_TIME_ timestamp,
DURATION_ bigint,
START_USER_ID_ varchar(255),
START_ACT_ID_ varchar(255),
END_ACT_ID_ varchar(255),
UNI_BUSINESS_KEY varchar (255) not null generated always as (case when "BUSINESS_KEY_" is null then "ID_" else "BUSINESS_KEY_" end),
UNI_PROC_DEF_ID varchar (64) not null generated always as (case when "PROC_DEF_ID_" is null then "ID_" else "PROC_DEF_ID_" end),
primary key (ID_),
unique (PROC_INST_ID_)
);
create table ACT_HI_ACTINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
EXECUTION_ID_ varchar(64) not null,
ACT_ID_ varchar(255) not null,
ACT_NAME_ varchar(255),
ACT_TYPE_ varchar(255) not null,
ASSIGNEE_ varchar(64),
START_TIME_ timestamp not null,
END_TIME_ timestamp,
DURATION_ bigint,
primary key (ID_)
);
create table ACT_HI_TASKINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64),
TASK_DEF_KEY_ varchar(255),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
NAME_ varchar(255),
DESCRIPTION_ varchar(255),
ASSIGNEE_ varchar(64),
START_TIME_ timestamp not null,
END_TIME_ timestamp,
DURATION_ bigint,
DELETE_REASON_ varchar(255),
primary key (ID_)
);
create table ACT_HI_DETAIL (
ID_ varchar(64) not null,
TYPE_ varchar(255) not null,
PROC_INST_ID_ varchar(64) not null,
EXECUTION_ID_ varchar(64) not null,
TASK_ID_ varchar(64),
ACT_INST_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(255),
REV_ integer,
TIME_ timestamp not null,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double precision,
LONG_ bigint,
TEXT_ varchar(255),
TEXT2_ varchar(255),
primary key (ID_)
);
create unique index ACT_UNIQ_RU_BUS_KEY on ACT_RU_EXECUTION(UNI_PROC_DEF_ID, UNI_BUSINESS_KEY);
create unique index ACT_UNIQ_HI_BUS_KEY on ACT_HI_PROCINST(UNI_PROC_DEF_ID, UNI_BUSINESS_KEY);
create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
alter table ACT_GE_BYTEARRAY
add constraint ACT_FK_BYTEARR_DEPL
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PARENT
foreign key (PARENT_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_SUPER
foreign key (SUPER_EXEC_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_GROUP
foreign key (GROUP_ID_)
references ACT_ID_GROUP (ID_);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_USER
foreign key (USER_ID_)
references ACT_ID_USER (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_TSKASS_TASK
foreign key (TASK_ID_)
references ACT_RU_TASK (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION(ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_BYTEARRAY
foreign key (BYTEARRAY_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RU_JOB
add constraint ACT_FK_JOB_EXCEPTION
foreign key (EXCEPTION_STACK_ID_)
references ACT_GE_BYTEARRAY (ID_);
drop index ACT_IDX_EXEC_BUSKEY;
drop index ACT_IDX_TASK_CREATE;
drop index ACT_IDX_IDENT_LNK_USER;
drop index ACT_IDX_IDENT_LNK_GROUP;
drop index ACT_IDX_HI_PRO_INST_END;
drop index ACT_IDX_HI_PRO_I_BUSKEY;
drop index ACT_IDX_HI_ACT_INST_START;
drop index ACT_IDX_HI_ACT_INST_END;
drop index ACT_IDX_HI_DETAIL_PROC_INST;
drop index ACT_IDX_HI_DETAIL_ACT_INST;
drop index ACT_IDX_HI_DETAIL_TIME;
drop index ACT_IDX_HI_DETAIL_NAME;
alter table ACT_GE_BYTEARRAY
drop foreign key ACT_FK_BYTEARR_DEPL;
alter table ACT_RU_EXECUTION
drop foreign key ACT_FK_EXE_PROCINST;
alter table ACT_RU_EXECUTION
drop foreign key ACT_FK_EXE_PARENT;
alter table ACT_RU_EXECUTION
drop foreign key ACT_FK_EXE_SUPER;
alter table ACT_ID_MEMBERSHIP
drop foreign key ACT_FK_MEMB_GROUP;
alter table ACT_ID_MEMBERSHIP
drop foreign key ACT_FK_MEMB_USER;
alter table ACT_RU_IDENTITYLINK
drop foreign key ACT_FK_TSKASS_TASK;
alter table ACT_RU_TASK
drop foreign key ACT_FK_TASK_EXE;
alter table ACT_RU_TASK
drop foreign key ACT_FK_TASK_PROCINST;
alter table ACT_RU_TASK
drop foreign key ACT_FK_TASK_PROCDEF;
alter table ACT_RU_VARIABLE
drop foreign key ACT_FK_VAR_EXE;
alter table ACT_RU_VARIABLE
drop foreign key ACT_FK_VAR_PROCINST;
alter table ACT_RU_VARIABLE
drop foreign key ACT_FK_VAR_BYTEARRAY;
alter table ACT_RU_JOB
drop foreign key ACT_FK_JOB_EXCEPTION;
drop table ACT_GE_PROPERTY;
drop table ACT_RU_VARIABLE;
drop table ACT_GE_BYTEARRAY;
drop table ACT_RE_DEPLOYMENT;
drop table ACT_RU_IDENTITYLINK;
drop table ACT_RU_TASK;
drop table ACT_RE_PROCDEF;
drop table ACT_RU_EXECUTION;
drop table ACT_ID_MEMBERSHIP;
drop table ACT_ID_GROUP;
drop table ACT_ID_USER;
drop table ACT_RU_JOB;
drop table ACT_HI_PROCINST;
drop table ACT_HI_ACTINST;
drop table ACT_HI_TASKINST;
drop table ACT_HI_DETAIL;
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.engine.test.bpmn.event.timer;
import org.activiti.engine.impl.test.ResourceActivitiTestCase;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.test.Deployment;
/**
* @author Frederik Heremans
*/
public class BoundaryTimerEventFullHistoryTest extends ResourceActivitiTestCase {
public BoundaryTimerEventFullHistoryTest() {
super("org/activiti/standalone/history/fullhistory.activiti.cfg.xml");
}
@Deployment
public void testSetProcessVariablesFromTaskWhenTimerOnTask() {
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("timerVariablesProcess");
runtimeService.setVariable(processInstance.getId(), "myVar", 123456L);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<definitions id="definitions"
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti="http://activiti.org/bpmn"
targetNamespace="Examples">
<process id="timerVariablesProcess">
<startEvent id="theStart" />
<sequenceFlow id="flow1" sourceRef="theStart" targetRef="task" />
<userTask id="task" name="Task rigged with timer" />
<sequenceFlow id="flow2" sourceRef="task" targetRef="theEnd" />
<boundaryEvent id="boundaryTimer" cancelActivity="true" attachedToRef="task">
<timerEventDefinition>
<timeDuration>PT2H</timeDuration>
</timerEventDefinition>
</boundaryEvent>
<sequenceFlow id="flow3" sourceRef="boundaryTimer" targetRef="theEnd" />
<endEvent id="theEnd" />
</process>
</definitions>
\ No newline at end of file
......@@ -144,6 +144,12 @@
<version>1.2.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.ibm.db2.jcc</groupId>
<artifactId>db2jcc4</artifactId>
<version>9.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
......
......@@ -333,8 +333,8 @@ ProcessEngine processEngine = ProcessEngineConfiguration.createStandaloneInMemPr
</row>
<row>
<entry>db2</entry>
<entry></entry>
<entry>not yet supported (coming soon, see <ulink url="http://jira.codehaus.org/browse/ACT-330">ACT-330</ulink>)</entry>
<entry>DB2 9.7 using db2jcc4</entry>
<entry><link linkend="experimental"><emphasis role="bold">[EXPERIMENTAL]</emphasis></link></entry>
</row>
<row>
<entry>mssql</entry>
......@@ -357,7 +357,7 @@ ProcessEngine processEngine = ProcessEngineConfiguration.createStandaloneInMemPr
<listitem>
<para>
Edit <literal>setup/build.properties</literal> and change the <literal>db</literal>
parameter to your type of database {<literal>oracle | mysql | postgres | h2</literal>}.
parameter to your type of database {<literal>oracle | mysql | postgres | h2 | db2 | mssql</literal>}.
</para>
</listitem>
<listitem>
......@@ -397,8 +397,8 @@ ProcessEngine processEngine = ProcessEngineConfiguration.createStandaloneInMemPr
</listitem>
<listitem>
<para>
Copy the downloaded ojdbc5.jar to <literal>setup/files/dependencies/libs/</literal>
This filename is
Copy the downloaded ojdbc5.jar to <literal>setup/files/dependencies/libs/</literal>. Make sure the filename is 'ojdbc5.jar' in order to
be picked up by the activiti demo installation (eg. when taking the driver from your maven repo).
</para>
</listitem>
</itemizedlist>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册