TSK-1971 support for oracle databases (#2050)
* local testcontainer, sql script to setup table * handle empty strings and null values * prepare all SQL Staments for oracle * run external oracle db
This commit is contained in:
parent
f25b6eb550
commit
291cc38ea6
|
@ -266,20 +266,30 @@ jobs:
|
|||
database: POSTGRES
|
||||
- module: taskana-core
|
||||
database: DB2
|
||||
- module: taskana-core
|
||||
database: ORACLE
|
||||
- module: taskana-core-test
|
||||
database: POSTGRES
|
||||
- module: taskana-core-test
|
||||
database: DB2
|
||||
- module: taskana-core-test
|
||||
database: ORACLE
|
||||
- module: taskana-test-api
|
||||
database: POSTGRES
|
||||
- module: taskana-test-api
|
||||
database: DB2
|
||||
- module: taskana-test-api
|
||||
database: ORACLE
|
||||
- module: taskana-simplehistory-provider
|
||||
database: DB2
|
||||
- module: taskana-simplehistory-provider
|
||||
database: POSTGRES
|
||||
- module: taskana-simplehistory-provider
|
||||
database: ORACLE
|
||||
- module: taskana-rest-spring-example-boot
|
||||
database: DB2
|
||||
- module: taskana-rest-spring-example-boot
|
||||
database: ORACLE
|
||||
- module: taskana-rest-spring-example-wildfly
|
||||
database: POSTGRES
|
||||
steps:
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="All in taskana-routing-rest" type="JUnit" factoryName="JUnit" folderName="routing" nameIsGenerated="true">
|
||||
<configuration default="false" name="All in taskana-routing-rest" type="JUnit" factoryName="JUnit"
|
||||
folderName="routing" nameIsGenerated="true">
|
||||
<module name="taskana-routing-rest"/>
|
||||
<option name="PACKAGE_NAME" value=""/>
|
||||
<option name="MAIN_CLASS_NAME" value=""/>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="All in taskana-simplehistory-provider H2" type="JUnit" factoryName="JUnit" folderName="history">
|
||||
<configuration default="false" name="All in taskana-simplehistory-provider H2" type="JUnit"
|
||||
factoryName="JUnit" folderName="history">
|
||||
<module name="taskana-simplehistory-provider"/>
|
||||
<option name="PACKAGE_NAME" value=""/>
|
||||
<option name="MAIN_CLASS_NAME" value=""/>
|
||||
|
|
|
@ -78,8 +78,7 @@ public class SampleDataGenerator {
|
|||
|
||||
private List<String> parseScripts(Stream<String> scripts) {
|
||||
try (Connection connection = dataSource.getConnection()) {
|
||||
String dbProductId =
|
||||
DB.getDatabaseProductId(connection.getMetaData().getDatabaseProductName());
|
||||
String dbProductId = DB.getDatabaseProductId(connection);
|
||||
return scripts
|
||||
.map(script -> SqlReplacer.getScriptAsSql(dbProductId, now, script))
|
||||
.collect(Collectors.toList());
|
||||
|
@ -93,7 +92,7 @@ public class SampleDataGenerator {
|
|||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(
|
||||
"Generating sample data for database of type '{}' with url '{}' and schema '{}'.",
|
||||
connection.getMetaData().getDatabaseProductName(),
|
||||
DB.getDatabaseProductName(connection),
|
||||
connection.getMetaData().getURL(),
|
||||
schema);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package pro.taskana.sampledata;
|
||||
|
||||
import static pro.taskana.common.internal.persistence.StringTypeHandler.EMPTY_PLACEHOLDER;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
@ -64,12 +66,21 @@ final class SqlReplacer {
|
|||
return sql.replaceAll("(?i)true", "1").replaceAll("(?i)false", "0");
|
||||
}
|
||||
|
||||
private static String replaceEmptyStringWithPlaceholder(String sql) {
|
||||
return sql.replace("''", String.format("'%s'", EMPTY_PLACEHOLDER));
|
||||
}
|
||||
|
||||
private static String parseAndReplace(
|
||||
BufferedReader bufferedReader, ZonedDateTime now, String dbProductId) {
|
||||
String sql = bufferedReader.lines().collect(Collectors.joining(System.lineSeparator()));
|
||||
if (DB.isDb2(dbProductId)) {
|
||||
if (DB.isDb2(dbProductId) || DB.isOracle(dbProductId)) {
|
||||
sql = replaceBooleanWithInteger(sql);
|
||||
}
|
||||
if (DB.isOracle(dbProductId)) {
|
||||
sql = replaceEmptyStringWithPlaceholder(sql);
|
||||
// Oracle needs to be informed about the timestamp format used in data scripts
|
||||
sql = "ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF3';\n" + sql;
|
||||
}
|
||||
return replaceDatePlaceholder(now, sql);
|
||||
}
|
||||
|
||||
|
|
|
@ -15,4 +15,5 @@ DROP TABLE SCHEDULED_JOB;
|
|||
DROP TABLE USER_INFO;
|
||||
DROP TABLE GROUP_INFO;
|
||||
DROP SEQUENCE SCHEDULED_JOB_SEQ;
|
||||
DROP SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ;
|
||||
COMMIT;
|
||||
|
|
|
@ -84,6 +84,7 @@ INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000050', 'ETI:0000000
|
|||
INSERT INTO TASK VALUES('TKI:100000000000000000000000000000000050', 'ETI:100000000000000000000000000000000050', RELATIVE_DATE(0) , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(700000), 'Task50', 'teamlead-2', 'Some description.', 'Some custom Note', 1 , -1 , 'IN_REVIEW' , 'MANUAL' , 'L40000' , 'CLI:000000000000000000000000000000000004', 'WBI:000000000000000000000000000000000002', 'USER-1-2' , 'DOMAIN_C', 'BPI21' , 'PBPI21' , 'John', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true , false , null , 'NONE' , null , 'Geschaeftsstelle A' , 'Teilkasko' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'VALUE_50' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:200000000000000000000000000000000050', 'ETI:200000000000000000000000000000000050', RELATIVE_DATE(0) , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(700000), 'Task50', 'teamlead-2', 'Some description.', 'Some custom Note', 1 , -1 , 'READY_FOR_REVIEW' , 'MANUAL' , 'L40000' , 'CLI:000000000000000000000000000000000004', 'WBI:000000000000000000000000000000000002', 'USER-1-2' , 'DOMAIN_C', 'BPI21' , 'PBPI21' , 'John', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true , false , null , 'NONE' , null , 'Geschaeftsstelle A' , 'Teilkasko' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'VALUE_50' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
-- Task for TransferAccTest
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , MODIFIED , RECEIVED, PLANNED , DUE , NAME , CREATOR , DESCRIPTION , NOTE , PRIORITY, MANUAL_PRIORITY, STATE , CLASSIFICATION_CATEGORY , CLASSIFICATION_KEY, CLASSIFICATION_ID , WORKBASKET_ID , WORKBASKET_KEY, DOMAIN , BUSINESS_PROCESS_ID, PARENT_BUSINESS_PROCESS_ID, OWNER , POR_COMPANY , POR_SYSTEM , POR_INSTANCE , POR_TYPE , POR_VALUE , IS_READ, IS_TRANSFERRED, CALLBACK_INFO, callback_state, CUSTOM_ATTRIBUTES, CUSTOM_1 , CUSTOM_2 , CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, CUSTOM_9, CUSTOM_10 , CUSTOM_11 , CUSTOM_12 , CUSTOM_13 , CUSTOM_14 , CUSTOM_15 , CUSTOM_16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8 );
|
||||
INSERT INTO TASK VALUES('TKI:100000000000000000000000000000000098', 'ETI:100000000000000000000000000000000098', RELATIVE_DATE(0) , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(7) , 'Task51', 'teamlead-1', 'Some description.', 'Some custom Note', 305 , -1 , 'READY' , 'EXTERN' , 'L50000' , 'CLI:000000000000000000000000000000000005', 'WBI:000000000000000000000000000000000005', 'GPK-1' , 'DOMAIN_C', 'BPI21' , 'PBPI21' , 'John', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true , false , null , 'NONE' , null , 'Geschaeftsstelle B' , 'Teilkasko' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'VALUE_41' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:200000000000000000000000000000000099', 'ETI:200000000000000000000000000000000099', RELATIVE_DATE(0) , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(14) , 'Task52', 'teamlead-1', 'Some description.', 'Some custom Note', 505 , -1 , 'CLAIMED' , 'EXTERN' , 'L50000' , 'CLI:000000000000000000000000000000000005', 'WBI:000000000000000000000000000000000005', 'GPK-1' , 'DOMAIN_C', 'BPI21' , 'PBPI21' , 'John', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true , false , null , 'NONE' , null , 'Geschaeftsstelle C' , 'Teilkasko' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'VALUE_42' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:200000000000000000000000000000000100', 'ETI:200000000000000000000000000000000100', RELATIVE_DATE(0) , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(14) , 'Task53', 'teamlead-2', 'Some description.', 'Some custom Note', 605 , -1 , 'CLAIMED' , 'EXTERN' , 'L50000' , 'CLI:000000000000000000000000000000000005', 'WBI:000000000000000000000000000000000006', 'TPK-VIP-1' , 'DOMAIN_B', 'BPI21' , 'PBPI21' , 'John', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true , false , null , 'NONE' , null , 'Geschaeftsstelle C' , 'Vollkasko' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'VALUE_43' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
-- sample-data is used for rest tests and for the example application
|
||||
|
||||
-- ATTACHMENT TABLE (ID , task_ID , CREATED , MODIFIED , classif key, classif Id , refCompany, ref sys, ref inst, ref type, ref val, channel, received, custAtts)
|
||||
|
||||
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000000','TKI:000000000000000000000000000000000000', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L1050' , 'CLI:100000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ1' , 'val1' , 'ch1' , null , null );
|
||||
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000001','TKI:000000000000000000000000000000000001', '2018-01-29 15:55:01', '2018-01-30 15:55:00', 'L10303' , 'CLI:000000000000000000000000000000000002', 'novatec' , 'novasys', 'nvinst', 'typ1' , 'val1' , 'ch1' , null , null );
|
||||
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000002','TKI:000000000000000000000000000000000001', '2018-01-29 15:55:02', '2018-01-30 15:55:00', 'L1050' , 'CLI:000000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ1' , 'val1' , 'ch1' , null , null );
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
-- sample-data is used for rest tests and for the example application
|
||||
|
||||
-- ID, KEY, PARENT_ID, PARENT_KEY, CATEGORY, TYPE, DOMAIN, VALID_IN_DOMAIN, CREATED, MODIFIED, NAME, DESCRIPTION, PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1 - 8
|
||||
--INSE INTO CLASSIFICATION VALUES(ID , KEY , PARENT_ID , PARENT_KEY , CATEGORY , TYPE , DOMAIN , VALID_IN_DOMAIN , CREATED , MODIFIED , NAME , DESCRIPTION , PRIORITY , SERVICE_LEVEL , APPLICATION_ENTRY_POINT , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4 , CUSTOM_5 , CUSTOM_6 , CUSTOM_7 , CUSTOM_8 );
|
||||
-- MASTER CLASSIFICATIONS
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000001', 'L10000' , '' , '' , 'EXTERNAL' , 'TASK' , '' , FALSE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'OLD-Leistungsfall' , 'OLD-Leistungsfall' , 999 , 'P1D' , '' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000002', 'L10303' , '' , '' , 'EXTERNAL' , 'TASK' , '' , FALSE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Beratungsprotokoll' , 'Beratungsprotokoll' , 1 , 'P2D' , '' , 'VNR,RVNR,KOLVNR, ANR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
@ -43,6 +43,7 @@ INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000043', 'L
|
|||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000044', 'L4044' , '' , '' , 'PROCESS' , 'TASK' , '' , FALSE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Mindestprämie' , '' , 2 , 'P1D' , '' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
||||
|
||||
--INSE INTO CLASSIFICATION VALUES(ID , KEY , PARENT_ID , PARENT_KEY , CATEGORY , TYPE , DOMAIN , VALID_IN_DOMAIN , CREATED , MODIFIED , NAME , DESCRIPTION , PRIORITY , SERVICE_LEVEL , APPLICATION_ENTRY_POINT , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4 , CUSTOM_5 , CUSTOM_6 , CUSTOM_7 , CUSTOM_8 );
|
||||
-- DOMAIN_A CLASSIFICATIONS
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000002', 'L10303' , '' , '' , 'EXTERNAL' , 'TASK' , 'DOMAIN_A', TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Beratungsprotokoll' , 'Beratungsprotokoll' , 101 , 'P1D' , '' , 'VNR,RVNR,KOLVNR, ANR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000003', 'L1050' , '' , '' , 'EXTERNAL' , 'TASK' , 'DOMAIN_A', TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf' , 'Widerruf' , 1 , 'P13D' , '' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
@ -84,6 +85,7 @@ INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000044', 'L
|
|||
|
||||
|
||||
|
||||
--INSE INTO CLASSIFICATION VALUES(ID , KEY , PARENT_ID , PARENT_KEY , CATEGORY , TYPE , DOMAIN , VALID_IN_DOMAIN , CREATED , MODIFIED , NAME , DESCRIPTION , PRIORITY , SERVICE_LEVEL , APPLICATION_ENTRY_POINT , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4 , CUSTOM_5 , CUSTOM_6 , CUSTOM_7 , CUSTOM_8 );
|
||||
-- DOMAIN_B CLASSIFICATIONS
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:200000000000000000000000000000000015', 'T2100' , '' , '' , 'MANUAL' , 'TASK' , 'DOMAIN_B', TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'T-Vertragstermin VERA' , 'T-Vertragstermin VERA' , 22 , 'P2D' , '' , 'VNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:200000000000000000000000000000000017', 'L1060' , '' , '' , 'EXTERNAL' , 'TASK' , 'DOMAIN_B', TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf neu' , 'Widerruf neu' , 1 , 'P1D' , 'point0816' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
-- sample-data is used for rest tests and for the example application
|
||||
|
||||
--SERT INTO DISTRIBUTION_TARGETS VALUES (SOURCE_ID , TARGET_ID );
|
||||
INSERT INTO DISTRIBUTION_TARGETS VALUES ('1' , '2' );
|
||||
INSERT INTO DISTRIBUTION_TARGETS VALUES ('WBI:100000000000000000000000000000000001' , 'WBI:100000000000000000000000000000000002' );
|
||||
INSERT INTO DISTRIBUTION_TARGETS VALUES ('WBI:100000000000000000000000000000000001' , 'WBI:100000000000000000000000000000000003' );
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
-- sample-data is used for rest tests and for the example application
|
||||
|
||||
--SERT INTO OBJECT_REFERENCE VALUES (ID , TASK_ID , COMPANY , SYSTEM , SYSTEM_INSTANCE , TYPE , VALUE );
|
||||
INSERT INTO OBJECT_REFERENCE VALUES ('ID1' , 'TKI:000000000000000000000000000000000000' , 'Company1' , 'System1' , 'Instance1' , 'Type1' , 'Value1' );
|
||||
INSERT INTO OBJECT_REFERENCE VALUES ('ID2' , 'TKI:000000000000000000000000000000000000' , 'Company2' , 'System2' , 'Instance2' , 'Type2' , 'Value2' );
|
||||
INSERT INTO OBJECT_REFERENCE VALUES ('ID3' , 'TKI:000000000000000000000000000000000001' , 'Company3' , 'System3' , 'Instance3' , 'Type3' , 'Value2' );
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
-- sample-data is used for rest tests and for the example application
|
||||
|
||||
-- TASK_COMMENT TABLE ID , TASK_ID ,TEXTFIELD ,CREATOR ,CREATED ,MODIFIED
|
||||
|
||||
-- TASK_COMMENT TABLE ( ID , TASK_ID , TEXTFIELD , CREATOR , CREATED , MODIFIED
|
||||
-- TaskComments for GetTaskCommentAccTest + UpdateTaskCommentAccTest
|
||||
INSERT INTO TASK_COMMENT VALUES('TCI:000000000000000000000000000000000000' , 'TKI:000000000000000000000000000000000000' , 'some text in textfield' , 'user-1-1' , '2017-01-29 15:55:00' , '2018-01-30 15:55:00');
|
||||
INSERT INTO TASK_COMMENT VALUES('TCI:000000000000000000000000000000000001' , 'TKI:000000000000000000000000000000000000' , 'some other text in textfield' , 'user-1-2' , '2015-01-29 15:55:00' , '2022-01-30 15:55:00');
|
||||
|
|
|
@ -26,6 +26,8 @@ INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000021', 'ETI:0000000
|
|||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000022', 'ETI:000000000000000000000000000000000022', RELATIVE_DATE(-10) , null , null , RELATIVE_DATE(-4) , null , RELATIVE_DATE(-10) , RELATIVE_DATE(-1) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000001' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000022' , 'DOC_0000000000000000022' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000023', 'ETI:000000000000000000000000000000000023', RELATIVE_DATE(-10) , null , null , RELATIVE_DATE(-5) , RELATIVE_DATE(-10) , RELATIVE_DATE(-10) , RELATIVE_DATE(-1) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000001' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000023' , 'DOC_0000000000000000023' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , 'NONE' , null , null , null , null , null , null , null , null , 'lnp' , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000024', 'ETI:000000000000000000000000000000000024', RELATIVE_DATE(-10) , null , null , RELATIVE_DATE(-5) , RELATIVE_DATE(0) , RELATIVE_DATE(-10) , RELATIVE_DATE(-1) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000001' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000024' , 'DOC_0000000000000000024' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , 'bbq' , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , modified , received , planned , due , name , creator , description , note , priority, manual_priority, state , classification_category , classification_key, classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred, callback_info, callback_state, custom_attributes , custom1 , custom2 , custom3, , custom4 , custom5 , custom6 , custom7 ,custom8 ,custom9 ,custom10 ,custom11, ,custom12 ,custom13 ,custom14 ,custom15 ,custom16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8
|
||||
-- Tasks for WorkOnTaskAccTest
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000025', 'ETI:000000000000000000000000000000000025', RELATIVE_DATE(0) , null , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000025' , 'DOC_0000000000000000025' , null , 'abcd00' , 'PASystem' , '00' , 'SDNR' , '98765432' , false , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , null , 'ert' , 'ert' , 'ert' , 'ert' , 'ert' , 'ert' , 'ert' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000026', 'ETI:000000000000000000000000000000000026', RELATIVE_DATE(0) , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CLAIMED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000026' , 'DOC_0000000000000000026' , 'user-1-1' , 'bcde00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
@ -44,12 +46,16 @@ INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000101', 'ETI:0000000
|
|||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000102', 'ETI:000000000000000000000000000000000102', RELATIVE_DATE(-2) , RELATIVE_DATE(-1) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(-2) , RELATIVE_DATE(2) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CLAIMED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000102' , 'DOC_0000000000000000102' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000103', 'ETI:000000000000000000000000000000000103', RELATIVE_DATE(-2) , RELATIVE_DATE(-1) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(-1) , RELATIVE_DATE(3) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CLAIMED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000103' , 'DOC_0000000000000000103' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000104', 'ETI:000000000000000000000000000000000104', RELATIVE_DATE(-2) , RELATIVE_DATE(-1) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(-1) , RELATIVE_DATE(3) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY_FOR_REVIEW', 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000103' , 'DOC_0000000000000000103' , null , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , modified , received , planned , due , name , creator , description , note , priority, manual_priority, state , classification_category , classification_key, classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred, callback_info, callback_state, custom_attributes , custom1 , custom2 , custom3, , custom4 , custom5 , custom6 , custom7 ,custom8 ,custom9 ,custom10 ,custom11, ,custom12 ,custom13 ,custom14 ,custom15 ,custom16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8
|
||||
-- Tasks for DeleteTaskAccTest
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000036', 'ETI:000000000000000000000000000000000036', RELATIVE_DATE(0) , RELATIVE_DATE(0) , RELATIVE_DATE(0) , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000036' , 'DOC_0000000000000000036' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , null , null , null , null , 'ew' , null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000037', 'ETI:000000000000000000000000000000000037', RELATIVE_DATE(0) , RELATIVE_DATE(0) , RELATIVE_DATE(0) , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000037' , 'DOC_0000000000000000037' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000038', 'ETI:000000000000000000000000000000000038', RELATIVE_DATE(-1) , RELATIVE_DATE(-1) , RELATIVE_DATE(-1) , RELATIVE_DATE(-1) , null , RELATIVE_DATE(-1) , RELATIVE_DATE(0) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000038' , 'DOC_0000000000000000038' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , null , null , null , null , 'al' , '11' , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000039', 'ETI:000000000000000000000000000000000039', RELATIVE_DATE(-2) , RELATIVE_DATE(-2) , RELATIVE_DATE(-1) , RELATIVE_DATE(-1) , null , RELATIVE_DATE(-2) , RELATIVE_DATE(0) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000039' , 'DOC_0000000000000000039' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000040', 'ETI:000000000000000000000000000000000040', RELATIVE_DATE(-3) , RELATIVE_DATE(-2) , RELATIVE_DATE(-2) , RELATIVE_DATE(-2) , null , RELATIVE_DATE(-3) , RELATIVE_DATE(0) , 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000040' , 'DOC_0000000000000000040' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , modified , received , planned , due , name , creator , description , note , priority, manual_priority, state , classification_category , classification_key, classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred, callback_info, callback_state, custom_attributes , custom1 , custom2 , custom3, , custom4 , custom5 , custom6 , custom7 ,custom8 ,custom9 ,custom10 ,custom11, ,custom12 ,custom13 ,custom14 ,custom15 ,custom16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8
|
||||
-- Tasks for QueryTasksWithSortingTest
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000041', 'ETI:000000000000000000000000000000000041', RELATIVE_DATE(0) , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Task99' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 1 , -1 , 'CLAIMED' , 'AUTOMATIC' , 'T6310' , 'CLI:000000000000000000000000000000000011', 'WBI:100000000000000000000000000000000011' , 'USER-B-2' , 'DOMAIN_B', 'BPI21' , 'PBPI21' , 'user-b-1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , 'NONE' , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000042', 'ETI:000000000000000000000000000000000042', RELATIVE_DATE(0) , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Task01' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 2 , -1 , 'CLAIMED' , 'EXTERN' , 'L110102' , 'CLI:100000000000000000000000000000000005', 'WBI:100000000000000000000000000000000015' , 'USER-B-2' , 'DOMAIN_B', 'BPI21' , 'PBPI21' , 'user-b-1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , 'NONE' , null , null , null , 'abcd' , 'defg' , 'important', null , null , null , null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
@ -83,6 +89,7 @@ INSERT INTO TASK VALUES('TKI:100000000000000000000000000000000000', 'ETI:1000000
|
|||
|
||||
|
||||
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , modified , received , planned , due , name , creator , description , note , priority, manual_priority, state , classification_category , classification_key, classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred, callback_info, callback_state, custom_attributes , custom1 , custom2 , custom3, , custom4 , custom5 , custom6 , custom7 ,custom8 ,custom9 ,custom10 ,custom11, ,custom12 ,custom13 ,custom14 ,custom15 ,custom16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000066', 'ETI:000000000000000000000000000000000066', RELATIVE_DATE(0) , null , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(1) , 'Schadenfall' , 'creator_user_id' , 'Schadenfall' , null , 1 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:000000000000000000000000000000000000' , 'ADMIN' , 'DOMAIN_A', 'PI_0000000000066' , 'DOC_0000000000000000066' , null , '00' , 'PASystem' , '00' , 'SDNR' , '98769432' , false , false , null , 'NONE' , null , null , null , null , null , null , null , null , null ,null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000067', 'ETI:000000000000000000000000000000000067', RELATIVE_DATE(0) , null , null , RELATIVE_DATE(0) , null , RELATIVE_DATE(0) , RELATIVE_DATE(1) , 'Widerruf' , 'creator_user_id' , 'Wideruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'T2000' , 'CLI:100000000000000000000000000000000016', 'WBI:000000000000000000000000000000000000' , 'ADMIN' , 'DOMAIN_A', 'PI_0000000000067' , 'DOC_0000000000000000067' , null , '00' , 'PASystem' , '00' , 'SDNR' , '98769432' , false , false , null , 'NONE' , null , null , null , null , null , null , null , null , null ,null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000068', 'ETI:000000000000000000000000000000000068', RELATIVE_DATE(-2) , RELATIVE_DATE(-1) , null , RELATIVE_DATE(-1) , null , RELATIVE_DATE(0) , RELATIVE_DATE(1) , 'TaskXY' , 'creator_user_id' , 'TaskXY' , null , 2 , -1 , 'CLAIMED' , 'EXTERN' , 'T6310' , 'CLI:000000000000000000000000000000000011', 'WBI:000000000000000000000000000000000000' , 'ADMIN' , 'DOMAIN_A', 'PI_0000000000068' , 'DOC_0000000000000000068' , null , '00' , 'PASystem' , '00' , 'SDNR' , '98769432' , true , false , null , 'NONE' , null , null , null , null , null , null , null , null , null ,null , null , null , null , null , 'abc' , null , null , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
-- sample-data is used for rest tests and for the example application
|
||||
|
||||
-- USER_INFO TABLE (USER_ID , FIRST_NAME , LASTNAME , FULL_NAME , LONG_NAME , E_MAIL , PHONE , MOBILE_PHONE , ORG_LEVEL_4 , ORG_LEVEL_3 , ORG_LEVEL_2 , ORG_LEVEL_1 , DATA
|
||||
INSERT INTO USER_INFO VALUES('teamlead-1' , 'Titus' , 'Toll' , 'Toll, Titus' , 'Toll, Titus - (teamlead-1)' , 'titus.toll@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , 'xy' );
|
||||
INSERT INTO USER_INFO VALUES('user-1-1' , 'Max' , 'Mustermann' , 'Mustermann, Max' , 'Mustermann, Max - (user-1-1)' , 'max.mustermann@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-1-2' , 'Elena' , 'Eifrig' , 'Eifrig, Elena' , 'Eifrig, Elena - (user-1-2)' , 'elena.eifrig@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-1-3' , 'Elena' , 'Faul' , 'Faul, Elena' , 'Faul, Elena - (user-1-3)' , 'elena.faul@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-2-1' , 'Simone' , 'Müller' , 'Müller, Simone' , 'Müller, Simone - (user-2-1)' , 'simone.müller@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-2-2' , 'Tim' , 'Schläfrig' , 'Schläfrig, Tim' , 'Schläfrig, Tim - (user-2-2)' , 'tim.schläfrig@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-2-3' , 'Thomas' , 'Bach' , 'Bach, Thomas' , 'Bach, Thomas - (user-2-3)' , 'thomas.bach@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-2-4' , 'Rolf' , 'Wieland' , 'Wieland, Rolf' , 'Wieland, Rolf - (user-2-4)' , 'rolf.wieland@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-2-5' , 'Heike' , 'Schmidt' , 'Schmidt, Heike' , 'Schmidt, Heike - (user-2-5)' , 'heike.schmidt@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-2-6' , 'Kurt' , 'Maier' , 'Maier, Kurt' , 'Maier, Kurt - (user-2-6)' , 'kurt.maier@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-2-7' , 'Wiebke' , 'Meyer' , 'Meyer, Wiebke' , 'Meyer, Wiebke - (user-2-7)' , 'wiebke.meyer@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-2-9' , 'Nathalie' , 'Fuchs' , 'Fuchs, Nathalie' , 'Fuchs, Nathalie - (user-2-9)' , 'nathalie.fuchs@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-2-10' , 'Johannes' , 'Renz' , 'Renz, Johannes' , 'Renz, Johannes - (user-2-10)' , 'johannes.renz@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
INSERT INTO USER_INFO VALUES('user-2-11' , 'Max' , 'Renz' , 'Renz, Max' , 'Renz, Max - (user-2-11)' , 'max.renz@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('teamlead-1' , 'Titus' , 'Toll' , 'Toll, Titus' , 'Toll, Titus - (teamlead-1)' , 'titus.toll@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , 'xy' );
|
||||
insert into USER_INFO values('user-1-1' , 'Max' , 'Mustermann' , 'Mustermann, Max' , 'Mustermann, Max - (user-1-1)' , 'max.mustermann@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-1-2' , 'Elena' , 'Eifrig' , 'Eifrig, Elena' , 'Eifrig, Elena - (user-1-2)' , 'elena.eifrig@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-1-3' , 'Elena' , 'Faul' , 'Faul, Elena' , 'Faul, Elena - (user-1-3)' , 'elena.faul@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-2-1' , 'Simone' , 'Müller' , 'Müller, Simone' , 'Müller, Simone - (user-2-1)' , 'simone.müller@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-2-2' , 'Tim' , 'Schläfrig' , 'Schläfrig, Tim' , 'Schläfrig, Tim - (user-2-2)' , 'tim.schläfrig@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-2-3' , 'Thomas' , 'Bach' , 'Bach, Thomas' , 'Bach, Thomas - (user-2-3)' , 'thomas.bach@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-2-4' , 'Rolf' , 'Wieland' , 'Wieland, Rolf' , 'Wieland, Rolf - (user-2-4)' , 'rolf.wieland@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-2-5' , 'Heike' , 'Schmidt' , 'Schmidt, Heike' , 'Schmidt, Heike - (user-2-5)' , 'heike.schmidt@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-2-6' , 'Kurt' , 'Maier' , 'Maier, Kurt' , 'Maier, Kurt - (user-2-6)' , 'kurt.maier@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-2-7' , 'Wiebke' , 'Meyer' , 'Meyer, Wiebke' , 'Meyer, Wiebke - (user-2-7)' , 'wiebke.meyer@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-2-9' , 'Nathalie' , 'Fuchs' , 'Fuchs, Nathalie' , 'Fuchs, Nathalie - (user-2-9)' , 'nathalie.fuchs@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-2-10' , 'Johannes' , 'Renz' , 'Renz, Johannes' , 'Renz, Johannes - (user-2-10)' , 'johannes.renz@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
insert into USER_INFO values('user-2-11' , 'Max' , 'Renz' , 'Renz, Max' , 'Renz, Max - (user-2-11)' , 'max.renz@web.de' , '040-2951854' , '015637683197' , 'Novatec' , 'BPM' , 'Human Workflow' , 'TASKANA' , '' );
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
-- sample-data is used for rest tests and for the example application
|
||||
|
||||
-- KSC authorizations (ID , WB_ID , ACCESS_ID , ACCESS_NAME , READ , OPEN , APPEND, TRANSFER, DISTRIBUTE, C1, .., C12)
|
||||
--SERT INTO WORKBASKET_ACCESS_LIST VALUES (ID , WB_ID , ACCESS_ID , ACCESS_NAME , READ , OPEN , APPEND, TRANSFER, DISTRIBUTE, C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10 , C11 , C12 )
|
||||
-- KSC authorizations
|
||||
-- PPKs
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000001', 'WBI:100000000000000000000000000000000004', 'teamlead-1' , 'Titus Toll' , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true );
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000002', 'WBI:100000000000000000000000000000000005', 'teamlead-2' , 'Frauke Faul' , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true );
|
||||
|
@ -35,6 +36,8 @@ INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:10000000000000000000000000000000
|
|||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000007', 'cn=organisationseinheit ksc 2,cn=organisationseinheit ksc,cn=organisation,ou=test,o=taskana', 'Organisationseinheit KSC 2', true , false, true , false , false , false , false , false , false , false , false , false , false , false , false , false , false );
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000017', 'WBI:100000000000000000000000000000000008', 'cn=organisationseinheit ksc 1,cn=organisationseinheit ksc,cn=organisation,ou=test,o=taskana', 'Organisationseinheit KSC 1', true , false, false , false , false , false , false , false , false , false , false , false , false , false , false , false , false );
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000018', 'WBI:100000000000000000000000000000000009', 'cn=organisationseinheit ksc 1,cn=organisationseinheit ksc,cn=organisation,ou=test,o=taskana', 'Organisationseinheit KSC 1', true , false, true , false , false , false , false , false , false , false , false , false , false , false , false , false , false );
|
||||
|
||||
--SERT INTO WORKBASKET_ACCESS_LIST VALUES (ID , WB_ID , ACCESS_ID , ACCESS_NAME , READ , OPEN , APPEND, TRANSFER, DISTRIBUTE, C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10 , C11 , C12 )
|
||||
-- Team GPK access
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000019', 'WBI:100000000000000000000000000000000002', 'cn=organisationseinheit ksc 1,cn=organisationseinheit ksc,cn=organisation,ou=test,o=taskana', 'Organisationseinheit KSC 1', true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true );
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000020', 'WBI:100000000000000000000000000000000003', 'cn=organisationseinheit ksc 2,cn=organisationseinheit ksc,cn=organisation,ou=test,o=taskana', 'Organisationseinheit KSC 2', true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true );
|
||||
|
|
|
@ -16,6 +16,8 @@ INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000010', 'TPK_
|
|||
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000016', 'TPK_VIP_2' , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Themenpostkorb VIP 2' , 'DOMAIN_A' , 'TOPIC' , 'Themenpostkorb VIP' , '' , '' , '' , '' , '' , '' , '' , '' , '' , false );
|
||||
|
||||
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000017', 'das_ist_ein_sehr_sehr_sehr_sehr_sehr_sehr_sehr_sehr_langer_key_1', RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Testpostkorb' , 'DOMAIN_TEST', 'TOPIC' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , false );
|
||||
|
||||
-- WORKBASKET TABLE (ID , KEY , CREATED , MODIFIED , NAME , DOMAIN , TYPE , DESCRIPTION , OWNER , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4 , ORG_LEVEL_1 , ORG_LEVEL_2, ORG_LEVEL_3, ORG_LEVEL_4, MARKED_FOR_DELETION );
|
||||
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000018', 'das_ist_eine_lange_description_und_ein_langer_owner' , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Testpostkorb' , 'DOMAIN_TEST', 'TOPIC' , CONCAT('Lorem ipsum dolor sit amet, consetetur sadipscing',
|
||||
CONCAT('sed diam nonumy eirmod tempor invidunt ut labore ',
|
||||
CONCAT('sed diam nonumy eirmod tempor invidunt ut labore ',
|
||||
|
@ -32,6 +34,7 @@ INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000023', 'lang
|
|||
's et accusam et justo duo dolores abcdfiskdk ekeke')))), 'das_ist_eine_sehr_sehr_sehr_sehr_sehr_lange_user_id', '' , '' , '' , '' , '' , '' , '' , '' , false );
|
||||
|
||||
|
||||
-- WORKBASKET TABLE (ID , KEY , CREATED , MODIFIED , NAME , DOMAIN , TYPE , DESCRIPTION , OWNER , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4 , ORG_LEVEL_1 , ORG_LEVEL_2, ORG_LEVEL_3, ORG_LEVEL_4, MARKED_FOR_DELETION );
|
||||
-- KSC workbaskets Domain_B
|
||||
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000011', 'GPK_B_KSC' , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Gruppenpostkorb KSC B' , 'DOMAIN_B' , 'GROUP' , 'Gruppenpostkorb KSC' , '' , '' , '' , '' , '' , '' , '' , '' , '' , false );
|
||||
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000012', 'GPK_B_KSC_1' , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Gruppenpostkorb KSC B1' , 'DOMAIN_B' , 'GROUP' , 'Gruppenpostkorb KSC 1' , '' , 'custom1', 'custom2' , 'custom3', 'custom4' , 'orgl1' , 'orgl2' , 'orgl3' , 'aorgl4' , false );
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
-- test-data is used for all tests except for the rest tests
|
||||
|
||||
-- ATTACHMENT TABLE (ID , task_ID , CREATED , MODIFIED , classif key, classif Id , refCompany, ref sys, ref inst, ref type, ref val, channel, received, custAtts)
|
||||
|
||||
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000000','TKI:000000000000000000000000000000000000', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'L1050' , 'CLI:100000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ1' , 'val1' , 'ch1' , null , null);
|
||||
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000001','TKI:000000000000000000000000000000000001', '2018-01-29 15:55:01', '2018-01-30 15:55:00', 'L10303' , 'CLI:100000000000000000000000000000000002', 'novatec' , 'novasys', 'nvinst', 'typ2' , 'val1' , 'ch2' , '2018-01-30 12:00:00' , null);
|
||||
INSERT INTO ATTACHMENT VALUES('TAI:000000000000000000000000000000000002','TKI:000000000000000000000000000000000001', '2018-01-29 15:55:02', '2018-01-30 15:55:00', 'L1050' , 'CLI:000000000000000000000000000000000003', 'novatec' , 'novasys', 'nvinst', 'typ2' , 'val2' , 'ch2' , null , null);
|
||||
|
|
|
@ -1,15 +1,14 @@
|
|||
-- test-data is used for all tests except for the rest tests
|
||||
|
||||
INSERT INTO CLASSIFICATION_HISTORY_EVENT (ID,EVENT_TYPE, CREATED, USER_ID, CLASSIFICATION_ID, APPLICATION_ENTRY_POINT, CATEGORY, DOMAIN, KEY, NAME, PARENT_ID, PARENT_KEY, PRIORITY, SERVICE_LEVEL, TYPE, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, DETAILS) VALUES
|
||||
-- BUSINESS_PROCESS_ID, PARENT_BUSINESS_PROCESS_ID, TASK_ID, EVENT_TYPE, CREATED, USER_ID, DOMAIN, WORKBASKET_KEY, POR_COMPANY , POR_SYSTEM, POR_INSTANCE , POR_TYPE , POR_VALUE , TASK_CLASSIFICATION_KEY, TASK_CLASSIFICATION_CATEGORY , ATTACHMENT_CLASSIFICATION_KEY , OLD_VALUE , NEW_VALUE , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4, details
|
||||
('CHI:000000000000000000000000000000000000','CREATED' ,'2018-01-29 15:55:00' ,'peter', 'CLI:000000000000000000000000000000000001', '', 'MANUAL', 'DOMAIN_A', 'L10000', 'OLD-Leistungsfall', '', '', 1, 'P1D', 'TASK', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'custom5','custom6', 'custom7','custom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' ),
|
||||
('CHI:000000000000000000000000000000000001','UPDATED' ,'2018-01-29 15:55:01' ,'admin', 'CLI:000000000000000000000000000000000001', 'someEntryPoint', 'MANUAL', 'DOMAIN_A', 'L10000', 'OLD-Leistungsfall', '', '', 1, 'P1D', 'TASK', 'otherCustom1' ,'otherCustom2' , 'otherCustom3' ,'otherCustom4', 'otherCustom5','otherCustom6', 'otherCustom7','otherCustom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' ),
|
||||
('CHI:000000000000000000000000000000000002','CREATED' ,'2018-01-29 15:55:02' ,'peter', 'CLI:000000000000000000000000000000000002', '', 'EXTERNAL', 'DOMAIN_A', 'L10001', 'ABC-Leistungsfall', 'someParentId', 'someParentKey', 2, 'P2D', 'DOCUMENT', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'custom5','custom6', 'custom7','custom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' ),
|
||||
('CHI:000000000000000000000000000000000003','UPDATED' ,'2018-01-29 15:55:03' ,'peter', 'CLI:000000000000000000000000000000000002', 'someEntryPoint', 'EXTERNAL', 'DOMAIN_A', 'L10001', 'ABC-Leistungsfall', '', '', 2, 'P2D', 'DOCUMENT', 'otherCustom1' ,'otherCustom2' , 'otherCustom3' ,'otherCustom4', 'otherCustom5','otherCustom6', 'otherCustom7','otherCustom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' ),
|
||||
('CHI:000000000000000000000000000000000004','CREATED' ,'2018-01-29 15:55:04' ,'peter', 'CLI:000000000000000000000000000000000003', '', 'MANUAL', 'DOMAIN_A', 'L10004', 'DFG-Leistungsfall', '', '', 3, 'P1D', 'TASK', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'custom5','custom6', 'custom7','custom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' ),
|
||||
('CHI:000000000000000000000000000000000005','UPDATED' ,'2018-01-29 15:55:05' ,'sven', 'CLI:000000000000000000000000000000000003', '', 'MANUAL', 'DOMAIN_A', 'L10004', 'DFG-Leistungsfall', '', '', 3, 'P1D', 'TASK', 'otherCustom1' ,'otherCustom2' , 'otherCustom3' ,'otherCustom4', 'otherCustom5','otherCustom6', 'otherCustom7','otherCustom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' ),
|
||||
('CHI:000000000000000000000000000000000006','CREATED' ,'2018-01-29 15:55:06' ,'peter', 'CLI:000000000000000000000000000000000004', 'otherEntryPoint', 'EXTERNAL', 'DOMAIN_A', 'L10002', 'ZDF-Leistungsfall', '', '', 4, 'P3D', 'DOCUMENT', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'custom5','custom6', 'custom7','custom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' ),
|
||||
('CHI:000000000000000000000000000000000007','UPDATED' ,'2018-01-29 15:55:07' ,'peter', 'CLI:000000000000000000000000000000000004', '', 'EXTERNAL', 'DOMAIN_A', 'L10002', 'ZDF-Leistungsfall', 'otherParentId', 'otherParentKey', 4, 'P3D', 'DOCUMENT', 'otherCustom1' ,'otherCustom2' , 'otherCustom3' ,'otherCustom4', 'otherCustom5','otherCustom6', 'otherCustom7','otherCustom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' ),
|
||||
('CHI:000000000000000000000000000000000008','CREATED' ,'2018-01-29 15:55:08' ,'claudia', 'CLI:000000000000000000000000000000000005', '', 'MANUAL', 'DOMAIN_A', 'L10003', 'POK-Leistungsfall', '', '', 5, 'P1D', 'TASK', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'custom5','custom6', 'custom7','custom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' ),
|
||||
('CHI:000000000000000000000000000000000009','UPDATED' ,'2018-01-29 15:55:09' ,'peter', 'CLI:000000000000000000000000000000000005', '', 'MANUAL', 'DOMAIN_A', 'L10003', 'POK-Leistungsfall', '', '', 5, 'P1D', 'TASK', 'otherCustom1' ,'otherCustom2' , 'otherCustom3' ,'otherCustom4', 'otherCustom5','otherCustom6', 'otherCustom7','otherCustom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' ),
|
||||
('CHI:000000000000000000000000000000000010','CREATED' ,'2018-01-29 15:55:10' ,'admin', 'CLI:000000000000000000000000000000000006', '', 'MANUAL', 'DOMAIN_A', 'L10005', 'LAX-Leistungsfall', '', '', 1, 'P4D', 'TASK', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'custom5','custom6', 'custom7','custom8', '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
--SERT INTO CLASSIFICATION_HISTORY_EVENT VALUES(ID , EVENT_TYPE , CREATED , USER_ID , CLASSIFICATION_ID , APPLICATION_ENTRY_POINT , CATEGORY , DOMAIN , KEY , NAME , PARENT_ID , PARENT_KEY , PRIORITY, SERVICE_LEVEL , TYPE , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4 , CUSTOM_5 , CUSTOM_6 , CUSTOM_7 , CUSTOM_8 , DETAILS );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000000' , 'CREATED' , '2018-01-29 15:55:00' , 'peter' , 'CLI:000000000000000000000000000000000001' , '' , 'MANUAL' , 'DOMAIN_A' , 'L10000' , 'OLD-Leistungsfall' , '' , '' , 1 , 'P1D' , 'TASK' , 'custom1' ,'custom2' , 'custom3' ,'custom4' , 'custom5' , 'custom6' , 'custom7' , 'custom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000001' , 'UPDATED' , '2018-01-29 15:55:01' , 'admin' , 'CLI:000000000000000000000000000000000001' , 'someEntryPoint' , 'MANUAL' , 'DOMAIN_A' , 'L10000' , 'OLD-Leistungsfall' , '' , '' , 1 , 'P1D' , 'TASK' , 'otherCustom1' ,'otherCustom2' , 'otherCustom3' , 'otherCustom4' , 'otherCustom5' , 'otherCustom6' , 'otherCustom7' , 'otherCustom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000002' , 'CREATED' , '2018-01-29 15:55:02' , 'peter' , 'CLI:000000000000000000000000000000000002' , '' , 'EXTERNAL' , 'DOMAIN_A' , 'L10001' , 'ABC-Leistungsfall' , 'someParentId' , 'someParentKey' , 2 , 'P2D' , 'DOCUMENT' , 'custom1' ,'custom2' , 'custom3' , 'custom4' , 'custom5' , 'custom6' , 'custom7' , 'custom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000003' , 'UPDATED' , '2018-01-29 15:55:03' , 'peter' , 'CLI:000000000000000000000000000000000002' , 'someEntryPoint' , 'EXTERNAL' , 'DOMAIN_A' , 'L10001' , 'ABC-Leistungsfall' , '' , '' , 2 , 'P2D' , 'DOCUMENT' , 'otherCustom1' ,'otherCustom2' , 'otherCustom3' , 'otherCustom4' , 'otherCustom5' , 'otherCustom6' , 'otherCustom7' , 'otherCustom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000004' , 'CREATED' , '2018-01-29 15:55:04' , 'peter' , 'CLI:000000000000000000000000000000000003' , '' , 'MANUAL' , 'DOMAIN_A' , 'L10004' , 'DFG-Leistungsfall' , '' , '' , 3 , 'P1D' , 'TASK' , 'custom1' ,'custom2' , 'custom3' , 'custom4' , 'custom5' , 'custom6' , 'custom7' , 'custom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000005' , 'UPDATED' , '2018-01-29 15:55:05' , 'sven' , 'CLI:000000000000000000000000000000000003' , '' , 'MANUAL' , 'DOMAIN_A' , 'L10004' , 'DFG-Leistungsfall' , '' , '' , 3 , 'P1D' , 'TASK' , 'otherCustom1' ,'otherCustom2' , 'otherCustom3' , 'otherCustom4' , 'otherCustom5' , 'otherCustom6' , 'otherCustom7' , 'otherCustom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000006' , 'CREATED' , '2018-01-29 15:55:06' , 'peter' , 'CLI:000000000000000000000000000000000004' , 'otherEntryPoint' , 'EXTERNAL' , 'DOMAIN_A' , 'L10002' , 'ZDF-Leistungsfall' , '' , '' , 4 , 'P3D' , 'DOCUMENT' , 'custom1' ,'custom2' , 'custom3' , 'custom4' , 'custom5' , 'custom6' , 'custom7' , 'custom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000007' , 'UPDATED' , '2018-01-29 15:55:07' , 'peter' , 'CLI:000000000000000000000000000000000004' , '' , 'EXTERNAL' , 'DOMAIN_A' , 'L10002' , 'ZDF-Leistungsfall' , 'otherParentId' , 'otherParentKey' , 4 , 'P3D' , 'DOCUMENT' , 'otherCustom1' ,'otherCustom2' , 'otherCustom3' , 'otherCustom4' , 'otherCustom5' , 'otherCustom6' , 'otherCustom7' , 'otherCustom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000008' , 'CREATED' , '2018-01-29 15:55:08' , 'claudia' , 'CLI:000000000000000000000000000000000005' , '' , 'MANUAL' , 'DOMAIN_A' , 'L10003' , 'POK-Leistungsfall' , '' , '' , 5 , 'P1D' , 'TASK' , 'custom1' ,'custom2' , 'custom3' , 'custom4' , 'custom5' , 'custom6' , 'custom7' , 'custom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000009' , 'UPDATED' , '2018-01-29 15:55:09' , 'peter' , 'CLI:000000000000000000000000000000000005' , '' , 'MANUAL' , 'DOMAIN_A' , 'L10003' , 'POK-Leistungsfall' , '' , '' , 5 , 'P1D' , 'TASK' , 'otherCustom1' ,'otherCustom2' , 'otherCustom3' , 'otherCustom4' , 'otherCustom5' , 'otherCustom6' , 'otherCustom7' , 'otherCustom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
insert into CLASSIFICATION_HISTORY_EVENT values('CHI:000000000000000000000000000000000010' , 'CREATED' , '2018-01-29 15:55:10' , 'admin' , 'CLI:000000000000000000000000000000000006' , '' , 'MANUAL' , 'DOMAIN_A' , 'L10005' , 'LAX-Leistungsfall' , '' , '' , 1 , 'P4D' , 'TASK' , 'custom1' ,'custom2' , 'custom3' , 'custom4' , 'custom5' , 'custom6' , 'custom7' , 'custom8' , '{"changes":[{"newValue":"CHI:000000000000000000000000000000000000","fieldName":"id","oldValue":""}]}' );
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
-- test-data is used for all tests except for the rest tests
|
||||
|
||||
-- ID, KEY, PARENT_ID, PARENT_KEY, CATEGORY, TYPE, DOMAIN, VALID_IN_DOMAIN, CREATED, MODIFIED, NAME, DESCRIPTION, PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1 - 8
|
||||
-- ID , KEY , PARENT_ID , PARENT_KEY , CATEGORY , TYPE , DOMAIN , VALID_IN_DOMAIN , CREATED , MODIFIED , NAME , DESCRIPTION , PRIORITY , SERVICE_LEVEL , APPLICATION_ENTRY_POINT , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4 , CUSTOM_5 , CUSTOM_6 , CUSTOM_7 , CUSTOM_8 );
|
||||
-- MASTER CLASSIFICATIONS
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000001', 'L10000' , '' , '' , 'EXTERNAL' , 'TASK' , '' , FALSE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'OLD-Leistungsfall' , 'OLD-Leistungsfall' , 999 , 'P1D' , '' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000002', 'L10303' , '' , '' , 'EXTERNAL' , 'TASK' , '' , FALSE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Beratungsprotokoll' , 'Beratungsprotokoll' , 1 , 'P2D' , '' , 'VNR,RVNR,KOLVNR, ANR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
@ -22,7 +22,6 @@ INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000022', 'A
|
|||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000023', 'T2000' , '' , '' , 'MANUAL' , 'TASK' , '' , FALSE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'T-Vertragstermin' , 'T-Vertragstermin' , 1 , 'P1D' , 'z' , 'VNR,KOLVNR,RVNR' , 'CUSTOM2' , 'Custom3' , 'custom4' , 'custom5' , 'custom6' , 'custom7' , 'custom8' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000024', 'T2001' , '' , '' , 'MANUAL' , 'TASK' , '' , FALSE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'T-Vertragstermin' , 'T-Vertragstermin' , 1 , 'P0D' , 'z' , 'VNR,KOLVNR,RVNR' , 'CUSTOM2' , 'Custom3' , 'custom4' , 'custom5' , 'custom6' , 'custom7' , 'custom8' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:300000000000000000000000000000000017', 'L3060' , '' , '' , 'EXTERNAL' , 'TASK' , '' , FALSE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf neu' , 'Widerruf neu' , 1 , 'P1D' , '' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
||||
-- DOMAIN_A CLASSIFICATIONS
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000002', 'L10303' , '' , '' , 'EXTERNAL' , 'TASK' , 'DOMAIN_A' , TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Beratungsprotokoll' , 'Beratungsprotokoll' , 101 , 'P2D' , '' , 'VNR,RVNR,KOLVNR, ANR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000003', 'L1050' , '' , '' , 'EXTERNAL' , 'TASK' , 'DOMAIN_A' , TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf' , 'Widerruf' , 1 , 'P13D' , '' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
@ -40,12 +39,11 @@ INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000016', 'T
|
|||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000024', 'T2001' , '' , '' , 'MANUAL' , 'TASK' , 'DOMAIN_A' , TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'T-Vertragstermin' , 'T-Vertragstermin' , 1 , 'P0D' , 'z' , 'VNR,KOLVNR,RVNR' , 'CUSTOM2' , 'Custom3' , 'custom4' , 'custom5' , 'custom6' , 'custom7' , 'custom8' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000017', 'L1060' , '' , '' , 'EXTERNAL' , 'TASK' , 'DOMAIN_A' , TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf neu' , 'Widerruf neu' , 1 , 'P1D' , 'specialPoint' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:400000000000000000000000000000000017', 'L3060' , '' , '' , 'EXTERNAL' , 'TASK' , 'DOMAIN_A' , FALSE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf neu' , 'Widerruf neu' , 1 , 'P1D' , '' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
||||
-- ID , KEY , PARENT_ID , PARENT_KEY , CATEGORY , TYPE , DOMAIN , VALID_IN_DOMAIN , CREATED , MODIFIED , NAME , DESCRIPTION , PRIORITY , SERVICE_LEVEL , APPLICATION_ENTRY_POINT , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4 , CUSTOM_5 , CUSTOM_6 , CUSTOM_7 , CUSTOM_8 );
|
||||
-- DOMAIN_B CLASSIFICATIONS
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:200000000000000000000000000000000015', 'T2100' , '' , '' , 'MANUAL' , 'TASK' , 'DOMAIN_B' , TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'T-Vertragstermin VERA' , 'T-Vertragstermin VERA' , 22 , 'P2D' , '' , 'VNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:200000000000000000000000000000000017', 'L1060' , '' , '' , 'EXTERNAL' , 'TASK' , 'DOMAIN_B' , TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Widerruf neu' , 'Widerruf neu' , 1 , 'P1D' , 'point0816' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:200000000000000000000000000000000018', 'L19001' , '' , '' , 'EXTERNAL' , 'TASK' , 'DOMAIN_B' , TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'Beratungszustimmung' , 'Beratungszustimmung' , 1 , 'P1D' , '' , 'VNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
||||
-- WITH PARENT CLASSIFICATIONS (MIXED DOMAIN) ---
|
||||
-- DOMAIN_A
|
||||
INSERT INTO CLASSIFICATION VALUES('CLI:200000000000000000000000000000000001', 'A12' , 'CLI:100000000000000000000000000000000014' , 'L10000' , 'EXTERNAL' , 'TASK' , 'DOMAIN_A' , TRUE , RELATIVE_DATE(0) , RELATIVE_DATE(0) , 'OLD-Leistungsfall' , 'OLD-Leistungsfall' , 1 , 'P1D' , '' , 'VNR,RVNR,KOLVNR' , '' , '' , '' , '' , '' , '' , '' );
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
-- test-data is used for all tests except for the rest tests
|
||||
|
||||
--SERT INTO DISTRIBUTION_TARGETS VALUES (SOURCE_ID , TARGET_ID );
|
||||
INSERT INTO DISTRIBUTION_TARGETS VALUES ('1' , '2' );
|
||||
INSERT INTO DISTRIBUTION_TARGETS VALUES ('WBI:100000000000000000000000000000000001' , 'WBI:100000000000000000000000000000000002' );
|
||||
INSERT INTO DISTRIBUTION_TARGETS VALUES ('WBI:100000000000000000000000000000000001' , 'WBI:100000000000000000000000000000000003' );
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
-- test-data is used for all tests except for the rest tests
|
||||
|
||||
--SERT INTO OBJECT_REFERENCE VALUES (ID , TASK_ID , COMPANY , SYSTEM , SYSTEM_INSTANCE , TYPE , VALUE );
|
||||
INSERT INTO OBJECT_REFERENCE VALUES ('1' , 'TaskId1' , 'Company1' , 'System1' , 'Instance1' , 'Type1' , 'Value1' );
|
||||
INSERT INTO OBJECT_REFERENCE VALUES ('2' , 'TaskId2' , 'Company2' , 'System2' , 'Instance2' , 'Type2' , 'Value2' );
|
||||
INSERT INTO OBJECT_REFERENCE VALUES ('3' , 'TaskId3' , 'Company3' , 'System3' , 'Instance3' , 'Type3' , 'Value3' );
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
-- test-data is used for all tests except for the rest tests
|
||||
|
||||
-- TASK_COMMENT TABLE ID , TASK_ID , TEXTFIELD , CREATOR , CREATED , MODIFIED
|
||||
|
||||
-- TaskComments for GetTaskCommentAccTest + UpdateTaskCommentAccTest
|
||||
INSERT INTO TASK_COMMENT VALUES('TCI:000000000000000000000000000000000000' , 'TKI:000000000000000000000000000000000000' , 'some text in textfield' , 'user-1-1' , '2017-01-29 15:55:00' , '2018-01-30 15:55:00');
|
||||
INSERT INTO TASK_COMMENT VALUES('TCI:000000000000000000000000000000000001' , 'TKI:000000000000000000000000000000000000' , 'some other text in textfield' , 'user-1-2' , '2015-01-29 15:55:00' , '2022-01-30 15:55:00');
|
||||
|
|
|
@ -1,20 +1,16 @@
|
|||
-- test-data is used for all tests except for the rest tests
|
||||
|
||||
INSERT INTO TASK_HISTORY_EVENT (ID,BUSINESS_PROCESS_ID, PARENT_BUSINESS_PROCESS_ID, TASK_ID, EVENT_TYPE, CREATED, USER_ID, DOMAIN, WORKBASKET_KEY, POR_COMPANY, POR_SYSTEM, POR_INSTANCE, POR_TYPE, POR_VALUE, TASK_OWNER, TASK_CLASSIFICATION_KEY,
|
||||
TASK_CLASSIFICATION_CATEGORY, ATTACHMENT_CLASSIFICATION_KEY, OLD_VALUE, NEW_VALUE, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, DETAILS) VALUES
|
||||
-- BUSINESS_PROCESS_ID, PARENT_BUSINESS_PROCESS_ID, TASK_ID, EVENT_TYPE, CREATED, USER_ID, DOMAIN, WORKBASKET_KEY, POR_COMPANY , POR_SYSTEM, POR_INSTANCE , POR_TYPE , POR_VALUE , TASK_CLASSIFICATION_KEY, TASK_CLASSIFICATION_CATEGORY , ATTACHMENT_CLASSIFICATION_KEY , OLD_VALUE , NEW_VALUE , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4, details
|
||||
('THI:000000000000000000000000000000000000','BPI:01' ,'' ,'TKI:000000000000000000000000000000000000', 'UPDATED', '2018-01-29 15:55:00' , 'user-1-1', 'DOMAIN_B', 'WBI:100000000000000000000000000000000001', '00' , 'PASystem', '00' , 'VNR' , '11223344', 'user-1-1', 'L140101' , 'TASK' ,'' ,'old_val' ,'new_val' ,'custom1' ,'custom2' , 'custom3' ,'custom4', '{"changes":[{"newValue":"BPI:01","fieldName":"businessProcessId","oldValue":"BPI:02"},{"newValue":"user-1-1","fieldName":"owner","oldValue":"owner1"}]}' ),
|
||||
('THI:000000000000000000000000000000000001','BPI:02' ,'' ,'TKI:000000000000000000000000000000000000', 'CREATED', '2018-01-29 15:55:01','peter', 'DOMAIN_A', 'WBI:100000000000000000000000000000000001', '00' , 'PASystem', '00' , 'VNR' , '11223344', 'user-1-1', '' , '' ,'' ,'2old_val' ,'new_val2' ,'custom1' ,'' , 'custom2' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000002','BPI:03' ,'BPI:01','TKI:000000000000000000000000000000000036','CREATED', '2018-01-29 15:55:02' , 'admin', 'DOMAIN_A', 'WBI:100000000000000000000000000000000002', '11' , '' , '22' , '' , '' , 'user-1-2', 'L140101' , 'TASK' ,'DOCTYPE_DEFAULT' ,'' ,'' ,'custom1' ,'' , 'custom3' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000003','BPI:02' ,'' ,'TKI:000000000000000000000000000000000036', 'CREATED', '2018-01-29 15:55:03','peter', 'DOMAIN_A', 'WBI:100000000000000000000000000000000001', '00' , 'PASystem', '00' , 'VNR' , '11223344', 'user-1-2', '' , '' ,'' ,'2old_val' ,'new_val2' ,'custom1' ,'' , 'custom2' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000004','BPI:03' ,'BPI:01','TKI:000000000000000000000000000000000037','CREATED', '2018-01-29 15:55:04' , 'admin', 'DOMAIN_A', 'WBI:100000000000000000000000000000000002', '11' , '' , '22' , '' , '' , 'user-1-2', 'L140101' , 'TASK' ,'DOCTYPE_DEFAULT' ,'' ,'' ,'custom1' ,'' , 'custom3' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000005','BPI:02' ,'' ,'TKI:000000000000000000000000000000000038', 'CREATED', '2018-01-29 15:55:05','peter', 'DOMAIN_A', 'WBI:100000000000000000000000000000000001', '00' , 'PASystem', '00' , 'VNR' , '11223344', 'user-1-2', '' , '' ,'' ,'2old_val' ,'new_val2' ,'custom1' ,'' , 'custom2' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000006','BPI:03' ,'BPI:01','TKI:000000000000000000000000000000000038','CREATED', '2018-01-29 15:55:06' , 'admin', 'DOMAIN_A', 'WBI:100000000000000000000000000000000002', '11' , '' , '22' , '' , '' , 'user-1-2', 'L140101' , 'TASK' ,'DOCTYPE_DEFAULT' ,'' ,'' ,'custom1' ,'' , 'custom3' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000007','BPI:02' ,'' ,'TKI:000000000000000000000000000000000039', 'CREATED', '2018-01-29 15:55:07','peter', 'DOMAIN_A', 'WBI:100000000000000000000000000000000001', '00' , 'PASystem', '00' , 'VNR' , '11223344', 'user-1-2', '' , '' ,'' ,'2old_val' ,'new_val2' ,'custom1' ,'' , 'custom2' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000008','BPI:03' ,'BPI:01','TKI:000000000000000000000000000000000039','CREATED', '2018-01-29 15:55:08' , 'admin', 'DOMAIN_A', 'WBI:100000000000000000000000000000000002', '11' , '' , '22' , '' , '' , 'user-1-2', 'L140101' , 'TASK' ,'DOCTYPE_DEFAULT' ,'' ,'' ,'custom1' ,'' , 'custom3' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000009','BPI:02' ,'' ,'TKI:000000000000000000000000000000000040', 'CREATED', '2018-01-29 15:55:09','peter', 'DOMAIN_A', 'WBI:100000000000000000000000000000000001', '00' , 'PASystem', '00' , 'VNR' , '11223344', 'user-1-2', '' , '' ,'' ,'2old_val' ,'new_val2' ,'custom1' ,'' , 'custom2' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000010','BPI:03' ,'BPI:01','TKI:000000000000000000000000000000000040','CREATED', '2018-01-29 15:55:10' , 'admin', 'DOMAIN_A', 'WBI:100000000000000000000000000000000002', '11' , '' , '22' , '' , '' , 'user-1-2', 'L140101' , 'TASK' ,'DOCTYPE_DEFAULT' ,'' ,'' ,'custom1' ,'' , 'custom3' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000011','BPI:02' ,'' ,'TKI:000000000000000000000000000000000066', 'CREATED', '2018-01-29 15:55:11','peter', 'DOMAIN_A', 'WBI:100000000000000000000000000000000001', '00' , 'PASystem', '00' , 'VNR' , '11223344', 'user-1-1', '' , '' ,'' ,'2old_val' ,'new_val2' ,'custom1' ,'' , 'custom2' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000012','BPI:03' ,'BPI:01','TKI:000000000000000000000000000000000066','CREATED', '2018-01-29 15:55:12' , 'admin', 'DOMAIN_A', 'WBI:100000000000000000000000000000000002', '11' , '' , '22' , '' , '' , 'user-1-1', 'L140101' , 'TASK' ,'DOCTYPE_DEFAULT' ,'' ,'' ,'custom1' ,'' , 'custom3' ,'' ,'someDetails' ),
|
||||
('THI:000000000000000000000000000000000013','BPI:03' ,'BPI:01','TKI:000000000000000000000000000000000000','CREATED', '2018-01-29 15:55:12' , 'user-1-2', 'DOMAIN_A', 'WBI:100000000000000000000000000000000002', '11' , '' , '22' , '' , '' , 'user-1-1', 'L140101' , 'TASK' ,'DOCTYPE_DEFAULT' ,'' ,'' ,'custom1' ,'' , 'custom3' ,'' ,'someDetails' )
|
||||
;
|
||||
--sert into TASK_HISTORY_EVENT values (ID , BUSINESS_PROCESS_ID , PARENT_BUSINESS_PROCESS_ID , TASK_ID , EVENT_TYPE , CREATED , USER_ID , DOMAIN , WORKBASKET_KEY , WORKBASKET_NAME , POR_COMPANY , POR_SYSTEM , POR_INSTANCE , POR_TYPE , POR_VALUE , TASK_PRIORITY , TASK_PLANNED , TASK_DUE , TASK_OWNER , TASK_CLASSIFICATION_KEY , TASK_CLASSIFICATION_NAME , TASK_CLASSIFICATION_CATEGORY , ATTACHMENT_CLASSIFICATION_KEY , ATTACHMENT_CLASSIFICATION_NAME , OLD_VALUE , NEW_VALUE , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4 , DETAILS );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000000' , 'BPI:01' , '' , 'TKI:000000000000000000000000000000000000' , 'UPDATED' , '2018-01-29 15:55:00' , 'user-1-1' , 'DOMAIN_B' , 'WBI:100000000000000000000000000000000001' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , null , null , null , 'user-1-1' , 'L140101' , null , 'TASK' , '' , null , 'old_val' , 'new_val' , 'custom1' , 'custom2' , 'custom3' , 'custom4' , '{"changes":[{"newValue":"BPI:01","fieldName":"businessProcessId","oldValue":"BPI:02"},{"newValue":"user-1-1","fieldName":"owner","oldValue":"owner1"}]}' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000001' , 'BPI:02' , '' , 'TKI:000000000000000000000000000000000000', 'CREATED' , '2018-01-29 15:55:01' , 'peter' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000001' , null , '00' , 'PASystem', '00' , 'VNR' , '11223344' , null , null , null , 'user-1-1' , '' , null , '' , '' , null , '2old_val' , 'new_val2' , 'custom1' , '' , 'custom2' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000002' , 'BPI:03' , 'BPI:01' , 'TKI:000000000000000000000000000000000036' , 'CREATED' , '2018-01-29 15:55:02' , 'admin' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000002' , null , '11' , '' , '22' , '' , '' , null , null , null , 'user-1-2' , 'L140101' , null , 'TASK' , 'DOCTYPE_DEFAULT' , null , '' , '' , 'custom1' , '' , 'custom3' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000003' , 'BPI:02' , '' , 'TKI:000000000000000000000000000000000036' , 'CREATED' , '2018-01-29 15:55:03' , 'peter' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000001' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , null , null , null , 'user-1-2' , '' , null , '' , '' , null , '2old_val' , 'new_val2' , 'custom1' , '' , 'custom2' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000004' , 'BPI:03' , 'BPI:01' , 'TKI:000000000000000000000000000000000037' , 'CREATED' , '2018-01-29 15:55:04' , 'admin' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000002' , null , '11' , '' , '22' , '' , '' , null , null , null , 'user-1-2' , 'L140101' , null , 'TASK' , 'DOCTYPE_DEFAULT' , null , '' , '' , 'custom1' , '' , 'custom3' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000005' , 'BPI:02' , '' , 'TKI:000000000000000000000000000000000038' , 'CREATED' , '2018-01-29 15:55:05' , 'peter' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000001' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , null , null , null , 'user-1-2' , '' , null , '' , '' , null , '2old_val' ,'new_val2' ,'custom1' , '' , 'custom2' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000006' , 'BPI:03' , 'BPI:01' , 'TKI:000000000000000000000000000000000038' , 'CREATED' , '2018-01-29 15:55:06' , 'admin' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000002' , null , '11' , '' , '22' , '' , '' , null , null , null , 'user-1-2' , 'L140101' , null , 'TASK' , 'DOCTYPE_DEFAULT' , null , '' , '' , 'custom1' , '' , 'custom3' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000007' , 'BPI:02' , '' , 'TKI:000000000000000000000000000000000039' , 'CREATED' , '2018-01-29 15:55:07' , 'peter' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000001' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , null , null , null , 'user-1-2' , '' , null , '' , '' , null , '2old_val' , 'new_val2' ,'custom1' , '' , 'custom2' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000008' , 'BPI:03' , 'BPI:01' , 'TKI:000000000000000000000000000000000039' , 'CREATED' , '2018-01-29 15:55:08' , 'admin' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000002' , null , '11' , '' , '22' , '' , '' , null , null , null , 'user-1-2' , 'L140101' , null , 'TASK' , 'DOCTYPE_DEFAULT' , null , '' , '' , 'custom1' , '' , 'custom3' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000009' , 'BPI:02' , '' , 'TKI:000000000000000000000000000000000040' , 'CREATED' , '2018-01-29 15:55:09' , 'peter' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000001' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , null , null , null , 'user-1-2' , '' , null , '' , '' , null , '2old_val' , 'new_val2' ,'custom1' , '' , 'custom2' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000010' , 'BPI:03' , 'BPI:01' , 'TKI:000000000000000000000000000000000040' , 'CREATED' , '2018-01-29 15:55:10' , 'admin' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000002' , null , '11' , '' , '22' , '' , '' , null , null , null , 'user-1-2' , 'L140101' , null , 'TASK' , 'DOCTYPE_DEFAULT' , null , '' , '' , 'custom1' , '' , 'custom3' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000011' , 'BPI:02' , '' , 'TKI:000000000000000000000000000000000066' , 'CREATED' , '2018-01-29 15:55:11' , 'peter' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000001' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , null , null , null , 'user-1-1' , '' , null , '' , '' , null , '2old_val' , 'new_val2' , 'custom1' , '' , 'custom2' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000012' , 'BPI:03' , 'BPI:01' , 'TKI:000000000000000000000000000000000066' , 'CREATED' , '2018-01-29 15:55:12' , 'admin' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000002' , null , '11' , '' , '22' , '' , '' , null , null , null , 'user-1-1' , 'L140101' , null , 'TASK' , 'DOCTYPE_DEFAULT' , null , '' , '' , 'custom1' , '' , 'custom3' , '' , 'someDetails' );
|
||||
insert into TASK_HISTORY_EVENT values ('THI:000000000000000000000000000000000013' , 'BPI:03' , 'BPI:01' , 'TKI:000000000000000000000000000000000000' , 'CREATED' , '2018-01-29 15:55:12' , 'user-1-2' , 'DOMAIN_A' , 'WBI:100000000000000000000000000000000002' , null , '11' , '' , '22' , '' , '' , null , null , null , 'user-1-1' , 'L140101' , null , 'TASK' , 'DOCTYPE_DEFAULT' , null , '' , '' , 'custom1' , '' , 'custom3' , '' , 'someDetails' );
|
||||
|
|
|
@ -29,6 +29,7 @@ INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000021', 'ETI:0000000
|
|||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000022', 'ETI:000000000000000000000000000000000022', '2018-01-29 15:55:22', null , null , '2018-01-29 15:55:22', null , '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000001' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000022' , 'DOC_0000000000000000022' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000023', 'ETI:000000000000000000000000000000000023', '2018-01-29 15:55:23', null , null , '2018-01-29 15:55:23', null , '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000001' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000023' , 'DOC_0000000000000000023' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , 'lnp' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000024', 'ETI:000000000000000000000000000000000024', '2018-01-29 15:55:24', null , null , '2018-01-29 15:55:24', null , '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000001' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000024' , 'DOC_0000000000000000024' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , null , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , modified , received , planned , due , name , creator , description , note , priority, manual_priority, state , classification_category , classification_key, classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred,callback_info , callback_state , custom_attributes ,custom1 ,custom2, ,custom3, ,custom4 ,custom5 ,custom6 ,custom7 ,custom8 ,custom9 ,custom10 ,custom11, ,custom12 ,custom13 ,custom14 ,custom15 ,custom16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8
|
||||
-- Tasks for WorkOnTaskAccTest
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000025', 'ETI:000000000000000000000000000000000025', '2018-01-29 15:55:24', null , null , '2018-01-29 15:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000025' , 'DOC_0000000000000000025' , null , 'abcd00' , 'PASystem' , '00' , 'SDNR' , '98765432' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'ert' , 'ert' , 'ert' , 'ert' , 'abc' , 'ert' , 'ert' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:100000000000000000000000000000000025', 'ETI:100000000000000000000000000000000025', '2018-01-29 15:55:24', null , null , '2018-01-29 15:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY_FOR_REVIEW' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000025' , 'DOC_0000000000000000025' , null , 'abcd00' , 'PASystem' , '00' , 'SDNR' , '98765432' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'ert' , 'ert' , 'ert' , 'ert' , 'abc' , 'ert' , 'ert' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
@ -54,6 +55,7 @@ INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000100', 'ETI:0000000
|
|||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000101', 'ETI:000000000000000000000000000000000101', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CLAIMED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000101' , 'DOC_0000000000000000101' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , 'NONE' , null , '' , '' , '' , '' , 'el' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000102', 'ETI:000000000000000000000000000000000102', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CLAIMED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000102' , 'DOC_0000000000000000102' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000103', 'ETI:000000000000000000000000000000000103', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CLAIMED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000103' , 'DOC_0000000000000000103' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , modified , received , planned , due , name , creator , description , note , priority, manual_priority, state , classification_category , classification_key, classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred,callback_info , callback_state , custom_attributes ,custom1 ,custom2, ,custom3, ,custom4 ,custom5 ,custom6 ,custom7 ,custom8 ,custom9 ,custom10 ,custom11, ,custom12 ,custom13 ,custom14 ,custom15 ,custom16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8
|
||||
-- Tasks for DeleteTaskAccTest
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000036', 'ETI:000000000000000000000000000000000036', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000036' , 'DOC_0000000000000000036' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , 'ew' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000037', 'ETI:000000000000000000000000000000000037', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000037' , 'DOC_0000000000000000037' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
@ -64,6 +66,7 @@ INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000067', 'ETI:0000000
|
|||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000068', 'ETI:000000000000000000000000000000000068', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'T2000' , 'CLI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000006' , 'USER-1-1' , 'DOMAIN_A', 'PI_0000000000068' , 'DOC_0000000000000000068' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000069', 'ETI:000000000000000000000000000000000069', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'T2000' , 'CLI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000006' , 'USER-1-1' , 'DOMAIN_A', 'PI_0000000000068' , 'DOC_0000000000000000068' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , modified , received , planned , due , name , creator , description , note , priority, manual_priority, state , classification_category , classification_key, classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred,callback_info , callback_state , custom_attributes ,custom1 ,custom2, ,custom3, ,custom4 ,custom5 ,custom6 ,custom7 ,custom8 ,custom9 ,custom10 ,custom11, ,custom12 ,custom13 ,custom14 ,custom15 ,custom16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8
|
||||
-- Tasks for QueryTasksWithSortingTest
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000041', 'ETI:000000000000000000000000000000000041', '2018-01-29 15:55:00', '2018-01-30 15:55:00', null , '2018-01-30 15:55:00', '2018-01-29 15:55:00', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task99' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 1 , -1 , 'CLAIMED' , 'AUTOMATIC' , 'T6310' , 'CLI:000000000000000000000000000000000011', 'WBI:100000000000000000000000000000000015' , 'USER-B-2' , 'DOMAIN_B', 'BPI21' , 'PBPI21' , 'user-b-1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000042', 'ETI:000000000000000000000000000000000042', '2018-01-29 15:55:01', '2018-01-30 15:55:00', null , '2018-01-30 15:55:01', '2018-01-29 15:55:01', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task01' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 2 , -1 , 'CLAIMED' , 'EXTERN' , 'L110102' , 'CLI:100000000000000000000000000000000005', 'WBI:100000000000000000000000000000000015' , 'USER-B-2' , 'DOMAIN_B', 'BPI21' , 'PBPI21' , 'user-b-1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
@ -90,17 +93,20 @@ INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000062', 'ETI:0000000
|
|||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000063', 'ETI:000000000000000000000000000000000063', '2018-01-29 15:55:22', null , null , '2018-01-29 15:55:22', '2018-01-29 15:55:22', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1060' , 'CLI:200000000000000000000000000000000017', 'WBI:100000000000000000000000000000000015' , 'USER-B-2' , 'DOMAIN_B', 'PI_0000000000022' , 'DOC_0000000000000000022' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000064', 'ETI:000000000000000000000000000000000064', '2018-01-29 15:55:23', null , null , '2018-01-29 15:55:23', '2018-01-29 15:55:23', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1060' , 'CLI:200000000000000000000000000000000017', 'WBI:100000000000000000000000000000000015' , 'USER-B-2' , 'DOMAIN_B', 'PI_0000000000020' , 'DOC_0000000000000000021' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000065', 'ETI:000000000000000000000000000000000065', '2018-01-29 15:55:24', null , null , '2018-01-29 15:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1060' , 'CLI:200000000000000000000000000000000017', 'WBI:100000000000000000000000000000000015' , 'USER-B-2' , 'DOMAIN_B', 'PI_0000000000024' , 'DOC_0000000000000000024' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , modified , received , planned , due , name , creator , description , note , priority, manual_priority, state , classification_category , classification_key, classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred,callback_info , callback_state , custom_attributes ,custom1 ,custom2, ,custom3, ,custom4 ,custom5 ,custom6 ,custom7 ,custom8 ,custom9 ,custom10 ,custom11, ,custom12 ,custom13 ,custom14 ,custom15 ,custom16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8
|
||||
-- Task for TransferAccTest
|
||||
INSERT INTO TASK VALUES('TKI:100000000000000000000000000000000006', 'ETI:100000000000000000000000000000000006', '2018-01-29 15:55:06', '2018-01-30 15:55:06', '2018-01-30 16:55:06', '2018-01-30 16:55:06', '2018-01-29 15:55:06', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000004' , 'TEAMLEAD-1' , 'DOMAIN_A', 'PI_0000000000041' , 'DOC_0000000000000000041' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:200000000000000000000000000000000006', 'ETI:200000000000000000000000000000000006', '2018-03-29 15:55:06', '2018-03-30 15:55:06', null , '2018-03-30 15:55:06', '2018-03-29 15:55:06', '2018-03-29 15:55:00', '2018-03-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000005' , 'TEAMLEAD-2' , 'DOMAIN_A', 'PI_0000000000006' , 'DOC_0000000000000000006' , null , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:200000000000000000000000000000000007', 'ETI:200000000000000000000000000000000007', '2018-03-29 15:55:06', '2018-03-30 15:55:06', null , '2018-03-30 15:55:06', '2018-03-29 15:55:06', '2018-03-29 15:55:00', '2018-03-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000005' , 'TEAMLEAD-2' , 'DOMAIN_A', 'PI_0000000000006' , 'DOC_0000000000000000006' , null , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:200000000000000000000000000000000008', 'ETI:200000000000000000000000000000000008', '2018-03-29 15:55:06', '2018-03-30 15:55:06', null , '2018-03-30 15:55:06', '2018-03-29 15:55:06', '2018-03-29 15:55:00', '2018-03-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'READY' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000010' , 'TPK_VIP' , 'DOMAIN_A', '' , '' , null , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , false , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , modified , received , planned , due , name , creator , description , note , priority, manual_priority, state , classification_category , classification_key, classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred,callback_info , callback_state , custom_attributes ,custom1 ,custom2, ,custom3, ,custom4 ,custom5 ,custom6 ,custom7 ,custom8 ,custom9 ,custom10 ,custom11, ,custom12 ,custom13 ,custom14 ,custom15 ,custom16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8
|
||||
-- Tasks for state cancelled
|
||||
INSERT INTO TASK VALUES('TKI:300000000000000000000000000000000000', 'ETI:300000000000000000000000000000000000', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CANCELLED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000036' , 'DOC_0000000000000000036' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , 'ew' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:300000000000000000000000000000000001', 'ETI:300000000000000000000000000000000001', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CANCELLED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000037' , 'DOC_0000000000000000037' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:300000000000000000000000000000000002', 'ETI:300000000000000000000000000000000002', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CANCELLED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000038' , 'DOC_0000000000000000038' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , 'al' , '11' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:300000000000000000000000000000000003', 'ETI:300000000000000000000000000000000003', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CANCELLED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000039' , 'DOC_0000000000000000039' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:300000000000000000000000000000000004', 'ETI:300000000000000000000000000000000004', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'CANCELLED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000040' , 'DOC_0000000000000000040' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
-- TASK TABLE (ID , EXTERNAL_ID , CREATED , CLAIMED , COMPLETED , modified , received , planned , due , name , creator , description , note , priority, manual_priority, state , classification_category , classification_key, classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred,callback_info , callback_state , custom_attributes ,custom1 ,custom2, ,custom3, ,custom4 ,custom5 ,custom6 ,custom7 ,custom8 ,custom9 ,custom10 ,custom11, ,custom12 ,custom13 ,custom14 ,custom15 ,custom16 , custom-int-1, custom-int-2, custom-int-3, custom-int-4, custom-int-5, custom-int-6, custom-int-7, custom-int-8
|
||||
-- Tasks for state terminated
|
||||
INSERT INTO TASK VALUES('TKI:300000000000000000000000000000000010', 'ETI:300000000000000000000000000000000010', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'TERMINATED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000036' , 'DOC_0000000000000000036' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , 'ew' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
INSERT INTO TASK VALUES('TKI:300000000000000000000000000000000011', 'ETI:300000000000000000000000000000000011', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , -1 , 'TERMINATED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000007' , 'USER-1-2' , 'DOMAIN_A', 'PI_0000000000037' , 'DOC_0000000000000000037' , 'user-1-2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , 'NONE' , null , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , '' , 'abc' , '' , '' , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 );
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
-- test-data is used for all tests except for the rest tests
|
||||
|
||||
-- KSC authorizations (ID , WB_ID , ACCESS_ID , ACCESS_NAME , READ , OPEN , APPEND, TRANSFER, DISTRIBUTE, C1, .., C12)
|
||||
-- KSC authorizations (ID , WB_ID , ACCESS_ID , ACCESS_NAME , READ , OPEN , APPEND, TRANSFER, DISTRIBUTE, C1 , C2 , C3 , C4 , C5 , C6 , C7 , C8 , C9 , C10 , C11 , C12)
|
||||
-- PPKs
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000001', 'WBI:100000000000000000000000000000000004', 'teamlead-1' , 'Titus Toll' , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true);
|
||||
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000002', 'WBI:100000000000000000000000000000000005', 'teamlead-2' , 'Frauke Faul' , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true);
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
-- test-data is used for all tests except for the rest tests
|
||||
|
||||
INSERT INTO WORKBASKET_HISTORY_EVENT (ID,EVENT_TYPE, CREATED, USER_ID, DOMAIN, WORKBASKET_ID, KEY, TYPE, OWNER, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, ORGLEVEL_1, ORGLEVEL_2, ORGLEVEL_3, ORGLEVEL_4, DETAILS) VALUES
|
||||
-- BUSINESS_PROCESS_ID, PARENT_BUSINESS_PROCESS_ID, TASK_ID, EVENT_TYPE, CREATED, USER_ID, DOMAIN, WORKBASKET_KEY, POR_COMPANY , POR_SYSTEM, POR_INSTANCE , POR_TYPE , POR_VALUE , TASK_CLASSIFICATION_KEY, TASK_CLASSIFICATION_CATEGORY , ATTACHMENT_CLASSIFICATION_KEY , OLD_VALUE , NEW_VALUE , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4, details
|
||||
('WHI:000000000000000000000000000000000000','CREATED' ,'2018-01-29 15:55:00' ,'peter', 'DOMAIN_A', 'WBI:000000000000000000000000000000000903', 'soRt004', 'TOPIC', 'admin', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'orgLevel1' ,'orgLevel2' , 'orgLevel3' ,'orgLevel4', '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' ),
|
||||
('WHI:000000000000000000000000000000000001','UPDATED' ,'2018-01-29 15:55:01' ,'claudia', 'DOMAIN_A', 'WBI:000000000000000000000000000000000803', 'soRt003', 'TOPIC', 'admin', 'otherCustom1' ,'otherCustom2' , 'otherCustom3' ,'otherCustom4', 'otherOrgLevel1' ,'otherOrgLevel2' , 'otherOrgLevel3' ,'otherOrgLevel4', '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' ),
|
||||
('WHI:000000000000000000000000000000000002','DELETED' ,'2018-01-29 15:55:02' ,'peter', 'DOMAIN_A', 'WBI:000000000000000000000000000000000903', 'soRt004', 'TOPIC','admin', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'orgLevel1' ,'orgLevel2' , 'orgLevel3' ,'orgLevel4', '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' ),
|
||||
('WHI:000000000000000000000000000000000003','CREATED' ,'2018-01-29 15:55:03' ,'claudia', 'DOMAIN_A', 'WBI:000000000000000000000000000000000803', 'soRt003', 'TOPIC','admin', 'otherCustom1' ,'otherCustom2' , 'otherCustom3' ,'otherCustom4', 'otherOrgLevel1' ,'otherOrgLevel2' , 'otherOrgLevel3' ,'otherOrgLevel4', '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' ),
|
||||
('WHI:000000000000000000000000000000000004','CREATED' ,'2018-01-29 15:55:04' ,'peter', 'DOMAIN_A', 'WBI:000000000000000000000000000000000803', 'soRt003', 'TOPIC','admin', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'orgLevel1' ,'orgLevel2' , 'orgLevel3' ,'orgLevel4', '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' ),
|
||||
('WHI:000000000000000000000000000000000005','DELETED' ,'2018-01-29 15:55:05' ,'sven', 'DOMAIN_A', 'WBI:000000000000000000000000000000000903', 'soRt004', 'TOPIC','admin', 'otherCustom1' ,'otherCustom2' , 'otherCustom3' ,'otherCustom4', 'otherOrgLevel1' ,'otherOrgLevel2' , 'otherOrgLevel3' ,'otherOrgLevel4', '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' ),
|
||||
('WHI:000000000000000000000000000000000006','CREATED' ,'2018-01-29 15:55:06' ,'peter', 'DOMAIN_A', 'WBI:000000000000000000000000000000000803', 'soRt003', 'TOPIC','admin', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'orgLevel1' ,'orgLevel2' , 'orgLevel3' ,'orgLevel4', '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' ),
|
||||
('WHI:000000000000000000000000000000000007','CREATED' ,'2018-01-29 15:55:07' ,'sven', 'DOMAIN_A', 'WBI:000000000000000000000000000000000903', 'soRt004', 'TOPIC','admin', 'otherCustom1' ,'otherCustom2' , 'otherCustom3' ,'otherCustom4', 'otherOrgLevel1' ,'otherOrgLevel2' , 'otherOrgLevel3' ,'otherOrgLevel4', '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' ),
|
||||
('WHI:000000000000000000000000000000000008','UPDATED' ,'2018-01-29 15:55:08' ,'peter', 'DOMAIN_A', 'WBI:000000000000000000000000000000000803', 'soRt003', 'TOPIC','admin', 'custom1' ,'custom2' , 'custom3' ,'custom4', 'orgLevel1' ,'orgLevel2' , 'orgLevel3' ,'orgLevel4', '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' ),
|
||||
('WHI:000000000000000000000000000000000009','CREATED' ,'2018-01-29 15:55:09' ,'peter', 'DOMAIN_A', 'WBI:000000000000000000000000000000000903', 'soRt004', 'TOPIC', 'admin','otherCustom1' ,'otherCustom2' , 'otherCustom3' ,'otherCustom4', 'otherOrgLevel1' ,'otherOrgLevel2' , 'otherOrgLevel3' ,'otherOrgLevel4', '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' )
|
||||
;
|
||||
--SERT INTO WORKBASKET_HISTORY_EVENT VALUES (ID , EVENT_TYPE , CREATED , USER_ID , DOMAIN , WORKBASKET_ID , KEY , TYPE , OWNER , CUSTOM_1 , CUSTOM_2 , CUSTOM_3 , CUSTOM_4 , ORGLEVEL_1 , ORGLEVEL_2 , ORGLEVEL_3 , ORGLEVEL_4 , DETAILS );
|
||||
insert into WORKBASKET_HISTORY_EVENT values ('WHI:000000000000000000000000000000000000' , 'CREATED' , '2018-01-29 15:55:00' , 'peter' , 'DOMAIN_A' , 'WBI:000000000000000000000000000000000903' , 'soRt004', 'TOPIC' , 'admin' , 'custom1' , 'custom2' , 'custom3' , 'custom4' , 'orgLevel1' , 'orgLevel2' , 'orgLevel3' , 'orgLevel4' , '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' );
|
||||
insert into WORKBASKET_HISTORY_EVENT values ('WHI:000000000000000000000000000000000001' , 'UPDATED' , '2018-01-29 15:55:01' , 'claudia' , 'DOMAIN_A' , 'WBI:000000000000000000000000000000000803' , 'soRt003', 'TOPIC' , 'admin' , 'otherCustom1' , 'otherCustom2' , 'otherCustom3' , 'otherCustom4' , 'otherOrgLevel1' , 'otherOrgLevel2' , 'otherOrgLevel3' , 'otherOrgLevel4' , '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' );
|
||||
insert into WORKBASKET_HISTORY_EVENT values ('WHI:000000000000000000000000000000000002' , 'DELETED' , '2018-01-29 15:55:02' , 'peter' , 'DOMAIN_A' , 'WBI:000000000000000000000000000000000903' , 'soRt004', 'TOPIC' , 'admin' , 'custom1' , 'custom2' , 'custom3' , 'custom4' , 'orgLevel1' , 'orgLevel2' , 'orgLevel3' , 'orgLevel4' , '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' );
|
||||
insert into WORKBASKET_HISTORY_EVENT values ('WHI:000000000000000000000000000000000003' , 'CREATED' , '2018-01-29 15:55:03' , 'claudia' , 'DOMAIN_A' , 'WBI:000000000000000000000000000000000803' , 'soRt003', 'TOPIC' , 'admin' , 'otherCustom1' , 'otherCustom2' , 'otherCustom3' , 'otherCustom4' , 'otherOrgLevel1' , 'otherOrgLevel2' , 'otherOrgLevel3' , 'otherOrgLevel4' , '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' );
|
||||
insert into WORKBASKET_HISTORY_EVENT values ('WHI:000000000000000000000000000000000004' , 'CREATED' , '2018-01-29 15:55:04' , 'peter' , 'DOMAIN_A' , 'WBI:000000000000000000000000000000000803' , 'soRt003', 'TOPIC' , 'admin' , 'custom1' , 'custom2' , 'custom3' , 'custom4' , 'orgLevel1' , 'orgLevel2' , 'orgLevel3' , 'orgLevel4' , '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' );
|
||||
insert into WORKBASKET_HISTORY_EVENT values ('WHI:000000000000000000000000000000000005' , 'DELETED' , '2018-01-29 15:55:05' , 'sven' , 'DOMAIN_A' , 'WBI:000000000000000000000000000000000903' , 'soRt004', 'TOPIC' , 'admin' , 'otherCustom1' ,'otherCustom2' , 'otherCustom3' , 'otherCustom4' , 'otherOrgLevel1' , 'otherOrgLevel2' , 'otherOrgLevel3' , 'otherOrgLevel4' , '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' );
|
||||
insert into WORKBASKET_HISTORY_EVENT values ('WHI:000000000000000000000000000000000006' , 'CREATED' , '2018-01-29 15:55:06' , 'peter' , 'DOMAIN_A' , 'WBI:000000000000000000000000000000000803' , 'soRt003', 'TOPIC' , 'admin' , 'custom1' , 'custom2' , 'custom3' , 'custom4' , 'orgLevel1' , 'orgLevel2' , 'orgLevel3' , 'orgLevel4' , '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' );
|
||||
insert into WORKBASKET_HISTORY_EVENT values ('WHI:000000000000000000000000000000000007' , 'CREATED' , '2018-01-29 15:55:07' , 'sven' , 'DOMAIN_A' , 'WBI:000000000000000000000000000000000903' , 'soRt004', 'TOPIC' , 'admin' , 'otherCustom1' , 'otherCustom2' , 'otherCustom3' , 'otherCustom4' , 'otherOrgLevel1' , 'otherOrgLevel2' , 'otherOrgLevel3' , 'otherOrgLevel4' , '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' );
|
||||
insert into WORKBASKET_HISTORY_EVENT values ('WHI:000000000000000000000000000000000008' , 'UPDATED' , '2018-01-29 15:55:08' , 'peter' , 'DOMAIN_A' , 'WBI:000000000000000000000000000000000803' , 'soRt003', 'TOPIC' , 'admin' , 'custom1' , 'custom2' , 'custom3' , 'custom4' , 'orgLevel1' , 'orgLevel2' , 'orgLevel3' , 'orgLevel4' , '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' );
|
||||
insert into WORKBASKET_HISTORY_EVENT values ('WHI:000000000000000000000000000000000009' , 'CREATED' , '2018-01-29 15:55:09' , 'peter' , 'DOMAIN_A' , 'WBI:000000000000000000000000000000000903' , 'soRt004', 'TOPIC' , 'admin' , 'otherCustom1' , 'otherCustom2' , 'otherCustom3' , 'otherCustom4' , 'otherOrgLevel1' , 'otherOrgLevel2' , 'otherOrgLevel3' , 'otherOrgLevel4' , '{"changes":[{"newValue":"WBI:100000000000000000000000000000001234","fieldName":"id","oldValue":""}]}' );
|
||||
|
|
|
@ -122,6 +122,18 @@
|
|||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>oracle-xe</artifactId>
|
||||
<version>${version.testcontainers}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
|
|
|
@ -8,6 +8,7 @@ import javax.sql.DataSource;
|
|||
import org.apache.ibatis.datasource.pooled.PooledDataSource;
|
||||
import org.testcontainers.containers.Db2Container;
|
||||
import org.testcontainers.containers.JdbcDatabaseContainer;
|
||||
import org.testcontainers.containers.OracleContainer;
|
||||
import org.testcontainers.containers.PostgreSQLContainer;
|
||||
import org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy;
|
||||
import org.testcontainers.utility.DockerImageName;
|
||||
|
@ -22,6 +23,13 @@ public class DockerContainerCreator {
|
|||
|
||||
public static Optional<JdbcDatabaseContainer<?>> createDockerContainer(DB db) {
|
||||
switch (db) {
|
||||
case ORACLE:
|
||||
return Optional.of(
|
||||
new OracleContainer("gvenzl/oracle-xe:18-slim-faststart")
|
||||
.withDatabaseName("taskana")
|
||||
.withUsername("TEST_USER")
|
||||
.withPassword("testPassword")
|
||||
.withEnv("TZ", "Europe/Berlin"));
|
||||
case DB2:
|
||||
return Optional.of(
|
||||
new Db2Container(
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
package pro.taskana.common.test;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.Statement;
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import pro.taskana.common.api.exceptions.SystemException;
|
||||
|
||||
public final class OracleSchemaHelper {
|
||||
|
||||
private static final String DEFAULT_PASSWORD = "testPassword";
|
||||
|
||||
private OracleSchemaHelper() {
|
||||
// hide implicitpublic one
|
||||
}
|
||||
|
||||
public static void initOracleSchema(DataSource dataSource, String schemaName)
|
||||
throws SystemException {
|
||||
try (Connection connection = dataSource.getConnection();
|
||||
// connect as SYSTEM user to create schemas
|
||||
Connection conn =
|
||||
DriverManager.getConnection(
|
||||
connection.getMetaData().getURL(), "SYSTEM", DEFAULT_PASSWORD);
|
||||
Statement stmt = conn.createStatement()) {
|
||||
stmt.execute("GRANT ALL PRIVILEGES TO TEST_USER");
|
||||
|
||||
dropExistingSchema(schemaName, stmt);
|
||||
|
||||
stmt.addBatch(
|
||||
String.format(
|
||||
"create tablespace %s datafile '%s.dat' size 5M autoextend "
|
||||
+ "on NEXT 5M MAXSIZE UNLIMITED",
|
||||
schemaName, schemaName));
|
||||
stmt.addBatch(
|
||||
String.format(
|
||||
"create temporary tablespace %s_TMP tempfile '%s_tmp.dat' size 5M autoextend "
|
||||
+ "on NEXT 5M MAXSIZE UNLIMITED",
|
||||
schemaName, schemaName));
|
||||
stmt.addBatch(
|
||||
String.format(
|
||||
"create user %s identified by %s default tablespace %s "
|
||||
+ "temporary tablespace %s_TMP",
|
||||
schemaName, DEFAULT_PASSWORD, schemaName, schemaName));
|
||||
stmt.addBatch(String.format("ALTER USER %s quota unlimited on %s", schemaName, schemaName));
|
||||
stmt.addBatch(String.format("GRANT UNLIMITED TABLESPACE TO %s", schemaName));
|
||||
stmt.executeBatch();
|
||||
} catch (Exception e) {
|
||||
throw new SystemException("Failed to setup ORACLE Schema", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static void dropExistingSchema(String schemaName, Statement stmt) {
|
||||
try {
|
||||
stmt.addBatch(String.format("DROP USER %s CASCADE", schemaName));
|
||||
stmt.addBatch(
|
||||
String.format(
|
||||
"DROP TABLESPACE %s_TMP INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS",
|
||||
schemaName));
|
||||
stmt.addBatch(
|
||||
String.format(
|
||||
"DROP TABLESPACE %s INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS",
|
||||
schemaName));
|
||||
stmt.executeBatch();
|
||||
} catch (Exception e) {
|
||||
// IGNORE exceptions from dropping
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,7 @@
|
|||
package pro.taskana.common.test.config;
|
||||
|
||||
import static pro.taskana.common.test.OracleSchemaHelper.initOracleSchema;
|
||||
|
||||
import java.util.Optional;
|
||||
import javax.sql.DataSource;
|
||||
import org.apache.ibatis.datasource.pooled.PooledDataSource;
|
||||
|
@ -30,6 +32,9 @@ public final class DataSourceGenerator {
|
|||
if (dockerContainer.isPresent()) {
|
||||
dockerContainer.get().start();
|
||||
DATA_SOURCE = DockerContainerCreator.createDataSource(dockerContainer.get());
|
||||
if (DB.isOracle(db.dbProductId)) {
|
||||
initOracleSchema(DATA_SOURCE, SCHEMA_NAME);
|
||||
}
|
||||
} else {
|
||||
DATA_SOURCE = createDataSourceForH2();
|
||||
}
|
||||
|
@ -45,22 +50,7 @@ public final class DataSourceGenerator {
|
|||
return SCHEMA_NAME;
|
||||
}
|
||||
|
||||
private static String determineSchemaName(DB db) {
|
||||
return db == DB.POSTGRES ? "taskana" : "TASKANA";
|
||||
}
|
||||
|
||||
private static DB retrieveDatabaseFromEnv() {
|
||||
String property = System.getenv("DB");
|
||||
DB db;
|
||||
try {
|
||||
db = DB.valueOf(property);
|
||||
} catch (Exception ex) {
|
||||
db = DB.H2;
|
||||
}
|
||||
return db;
|
||||
}
|
||||
|
||||
private static DataSource createDataSourceForH2() {
|
||||
public static DataSource createDataSourceForH2() {
|
||||
String jdbcDriver = "org.h2.Driver";
|
||||
String jdbcUrl =
|
||||
"jdbc:h2:mem:taskana;NON_KEYWORDS=KEY,VALUE;LOCK_MODE=0;"
|
||||
|
@ -80,4 +70,19 @@ public final class DataSourceGenerator {
|
|||
|
||||
return ds;
|
||||
}
|
||||
|
||||
private static String determineSchemaName(DB db) {
|
||||
return db == DB.POSTGRES ? "taskana" : "TASKANA";
|
||||
}
|
||||
|
||||
private static DB retrieveDatabaseFromEnv() {
|
||||
String property = System.getenv("DB");
|
||||
DB db;
|
||||
try {
|
||||
db = DB.valueOf(property);
|
||||
} catch (Exception ex) {
|
||||
db = DB.H2;
|
||||
}
|
||||
return db;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package pro.taskana.common.internal.configuration;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import pro.taskana.common.api.exceptions.SystemException;
|
||||
import pro.taskana.common.api.exceptions.UnsupportedDatabaseException;
|
||||
|
||||
|
@ -7,6 +10,7 @@ import pro.taskana.common.api.exceptions.UnsupportedDatabaseException;
|
|||
public enum DB {
|
||||
H2("H2", "h2"),
|
||||
DB2("DB2", "db2"),
|
||||
ORACLE("Oracle", "oracle"),
|
||||
POSTGRES("PostgreSQL", "postgres");
|
||||
|
||||
public final String dbProductName;
|
||||
|
@ -29,22 +33,39 @@ public enum DB {
|
|||
return POSTGRES.dbProductId.equals(dbProductId);
|
||||
}
|
||||
|
||||
public static boolean isOracle(String dbProductId) {
|
||||
return ORACLE.dbProductId.equals(dbProductId);
|
||||
}
|
||||
|
||||
public static boolean isOracleDb(String dbProductName) {
|
||||
return ORACLE.dbProductName.equals(dbProductName);
|
||||
}
|
||||
|
||||
public static String getDatabaseProductName(Connection connection) throws SQLException {
|
||||
return connection.getMetaData().getDatabaseProductName();
|
||||
}
|
||||
|
||||
public static DB getDbForId(String databaseId) {
|
||||
if (isH2(databaseId)) {
|
||||
return H2;
|
||||
} else if (isDb2(databaseId)) {
|
||||
return DB2;
|
||||
} else if (isOracle(databaseId)) {
|
||||
return ORACLE;
|
||||
} else if (isPostgres(databaseId)) {
|
||||
return POSTGRES;
|
||||
}
|
||||
throw new SystemException("Unknown database id: " + databaseId);
|
||||
}
|
||||
|
||||
public static String getDatabaseProductId(String dbProductName) {
|
||||
public static String getDatabaseProductId(Connection connection) throws SQLException {
|
||||
String dbProductName = DB.getDatabaseProductName(connection);
|
||||
if (dbProductName.contains(H2.dbProductName)) {
|
||||
return H2.dbProductId;
|
||||
} else if (dbProductName.contains(DB2.dbProductName)) {
|
||||
return DB2.dbProductId;
|
||||
} else if (dbProductName.contains(ORACLE.dbProductName)) {
|
||||
return ORACLE.dbProductId;
|
||||
} else if (POSTGRES.dbProductName.equals(dbProductName)) {
|
||||
return POSTGRES.dbProductId;
|
||||
} else {
|
||||
|
|
|
@ -28,10 +28,11 @@ public class DbSchemaCreator {
|
|||
|
||||
private static final String DB_SCHEMA_H2 = SQL + "/h2/taskana-schema-h2.sql";
|
||||
private static final String DB_SCHEMA_DETECTION_H2 = SQL + "/h2/schema-detection-h2.sql";
|
||||
|
||||
private static final String DB_SCHEMA_DB2 = SQL + "/db2/taskana-schema-db2.sql";
|
||||
private static final String DB_SCHEMA_DETECTION_DB2 = SQL + "/db2/schema-detection-db2.sql";
|
||||
|
||||
private static final String DB_SCHEMA_ORACLE = SQL + "/oracle/taskana-schema-oracle.sql";
|
||||
private static final String DB_SCHEMA_DETECTION_ORACLE =
|
||||
SQL + "/oracle/schema-detection-oracle.sql";
|
||||
private static final String DB_SCHEMA_POSTGRES = SQL + "/postgres/taskana-schema-postgres.sql";
|
||||
private static final String DB_SCHEMA_DETECTION_POSTGRES =
|
||||
SQL + "/postgres/schema-detection-postgres.sql";
|
||||
|
@ -58,12 +59,12 @@ public class DbSchemaCreator {
|
|||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug(
|
||||
"Using database of type {} with url '{}'",
|
||||
connection.getMetaData().getDatabaseProductName(),
|
||||
DB.getDatabaseProductName(connection),
|
||||
connection.getMetaData().getURL());
|
||||
}
|
||||
String dbProductId = DB.getDatabaseProductId(connection);
|
||||
|
||||
ScriptRunner runner = getScriptRunnerInstance(connection);
|
||||
String dbProductId =
|
||||
DB.getDatabaseProductId(connection.getMetaData().getDatabaseProductName());
|
||||
|
||||
if (!isSchemaPreexisting(connection, dbProductId)) {
|
||||
String scriptPath = selectDbScriptFileName(dbProductId);
|
||||
|
@ -133,6 +134,8 @@ public class DbSchemaCreator {
|
|||
switch (DB.getDbForId(dbProductId)) {
|
||||
case DB2:
|
||||
return DB_SCHEMA_DB2;
|
||||
case ORACLE:
|
||||
return DB_SCHEMA_ORACLE;
|
||||
case POSTGRES:
|
||||
return DB_SCHEMA_POSTGRES;
|
||||
default:
|
||||
|
@ -145,6 +148,8 @@ public class DbSchemaCreator {
|
|||
switch (DB.getDbForId(dbProductId)) {
|
||||
case DB2:
|
||||
return DB_SCHEMA_DETECTION_DB2;
|
||||
case ORACLE:
|
||||
return DB_SCHEMA_DETECTION_ORACLE;
|
||||
case POSTGRES:
|
||||
return DB_SCHEMA_DETECTION_POSTGRES;
|
||||
default:
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
package pro.taskana.common.internal.persistence;
|
||||
|
||||
import java.sql.CallableStatement;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import org.apache.ibatis.type.BaseTypeHandler;
|
||||
import org.apache.ibatis.type.JdbcType;
|
||||
|
||||
public class StringTypeHandler extends BaseTypeHandler<String> {
|
||||
|
||||
public static final String EMPTY_PLACEHOLDER = "#EMPTY#";
|
||||
|
||||
@Override
|
||||
public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType)
|
||||
throws SQLException {
|
||||
ps.setString(i, "".equals(parameter) ? EMPTY_PLACEHOLDER : parameter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNullableResult(ResultSet rs, String columnName) throws SQLException {
|
||||
String dbString = rs.getString(columnName);
|
||||
return EMPTY_PLACEHOLDER.equals(dbString) ? "" : dbString;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
|
||||
String dbString = rs.getString(columnIndex);
|
||||
return EMPTY_PLACEHOLDER.equals(dbString) ? "" : dbString;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
|
||||
String dbString = cs.getString(columnIndex);
|
||||
return EMPTY_PLACEHOLDER.equals(dbString) ? "" : dbString;
|
||||
}
|
||||
}
|
|
@ -2,14 +2,20 @@ SET SCHEMA %schemaName%;
|
|||
|
||||
CREATE TABLE TASKANA_SCHEMA_VERSION
|
||||
(
|
||||
ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
|
||||
ID INT NOT NULL,
|
||||
VERSION VARCHAR(255) NOT NULL,
|
||||
CREATED TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED)
|
||||
VALUES ('5.2.0', CURRENT_TIMESTAMP);
|
||||
|
||||
CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ
|
||||
MINVALUE 1
|
||||
START WITH 100
|
||||
INCREMENT BY 1 CACHE 10;
|
||||
|
||||
-- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED)
|
||||
VALUES (TASKANA_SCHEMA_VERSION_ID_SEQ.NEXTVAL, '5.10.0', CURRENT_TIMESTAMP);
|
||||
|
||||
CREATE TABLE CLASSIFICATION
|
||||
(
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
-- this script updates the TASKANA database schema from version 5.2.0 to version 5.10.0.
|
||||
SET SCHEMA %schemaName%;
|
||||
|
||||
CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ
|
||||
MINVALUE 1
|
||||
START WITH 100
|
||||
INCREMENT BY 1 CACHE 10;
|
||||
|
||||
ALTER TABLE TASKANA_SCHEMA_VERSION ALTER COLUMN ID DROP IDENTITY;
|
||||
|
||||
-- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED)
|
||||
VALUES (TASKANA_SCHEMA_VERSION_ID_SEQ.NEXTVAL, '5.10.0', CURRENT_TIMESTAMP);
|
||||
|
|
@ -9,14 +9,20 @@ SET SCHEMA %schemaName%;
|
|||
|
||||
CREATE TABLE TASKANA_SCHEMA_VERSION
|
||||
(
|
||||
ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1),
|
||||
ID INT NOT NULL,
|
||||
VERSION VARCHAR(255) NOT NULL,
|
||||
CREATED TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED)
|
||||
VALUES ('5.2.0', CURRENT_TIMESTAMP);
|
||||
|
||||
CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ
|
||||
MINVALUE 1
|
||||
START WITH 100
|
||||
INCREMENT BY 1 CACHE 10;
|
||||
|
||||
-- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED)
|
||||
VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '5.10.0', CURRENT_TIMESTAMP);
|
||||
|
||||
CREATE TABLE CLASSIFICATION
|
||||
(
|
||||
|
@ -359,4 +365,3 @@ CREATE SEQUENCE SCHEDULED_JOB_SEQ
|
|||
MINVALUE 1
|
||||
START WITH 1
|
||||
INCREMENT BY 1 CACHE 10;
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
-- this script updates the TASKANA database schema from version 5.2.0 to version 5.10.0.
|
||||
|
||||
SET SCHEMA %schemaName%;
|
||||
|
||||
CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ
|
||||
MINVALUE 1
|
||||
START WITH 100
|
||||
INCREMENT BY 1 CACHE 10;
|
||||
|
||||
ALTER TABLE TASKANA_SCHEMA_VERSION ALTER COLUMN ID DROP IDENTITY;
|
||||
|
||||
-- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED)
|
||||
VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '5.10.0', CURRENT_TIMESTAMP);
|
|
@ -0,0 +1,3 @@
|
|||
ALTER SESSION SET CURRENT_SCHEMA = %schemaName%;
|
||||
|
||||
SELECT MAX(VERSION) FROM TASKANA_SCHEMA_VERSION;
|
|
@ -0,0 +1,437 @@
|
|||
ALTER SESSION SET CURRENT_SCHEMA = %schemaName%;
|
||||
|
||||
CREATE TABLE TASKANA_SCHEMA_VERSION (
|
||||
ID NUMBER(10) NOT NULL,
|
||||
VERSION VARCHAR2(255) NOT NULL,
|
||||
CREATED TIMESTAMP NOT NULL,
|
||||
CONSTRAINT TASKANA_SCHEMA_VERSION_PKEY PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ
|
||||
START WITH 100
|
||||
INCREMENT BY 1
|
||||
CACHE 10;
|
||||
|
||||
-- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED)
|
||||
VALUES (TASKANA_SCHEMA_VERSION_ID_SEQ.NEXTVAL, '5.10.0', CURRENT_TIMESTAMP);
|
||||
|
||||
CREATE TABLE CLASSIFICATION
|
||||
(
|
||||
ID VARCHAR2(40) NOT NULL,
|
||||
KEY VARCHAR2(32) NOT NULL,
|
||||
PARENT_ID VARCHAR2(40) NOT NULL,
|
||||
PARENT_KEY VARCHAR2(32) NOT NULL,
|
||||
CATEGORY VARCHAR2(32),
|
||||
TYPE VARCHAR2(32),
|
||||
DOMAIN VARCHAR2(32) NOT NULL,
|
||||
VALID_IN_DOMAIN NUMBER(1) NOT NULL CHECK (VALID_IN_DOMAIN IN (0,1)),
|
||||
CREATED TIMESTAMP NULL,
|
||||
MODIFIED TIMESTAMP NULL,
|
||||
NAME VARCHAR2(255) NULL,
|
||||
DESCRIPTION VARCHAR2(255) NULL,
|
||||
PRIORITY NUMBER(10) NOT NULL,
|
||||
SERVICE_LEVEL VARCHAR2(255) NULL,
|
||||
APPLICATION_ENTRY_POINT VARCHAR2(255) NULL,
|
||||
CUSTOM_1 VARCHAR2(255) NULL,
|
||||
CUSTOM_2 VARCHAR2(255) NULL,
|
||||
CUSTOM_3 VARCHAR2(255) NULL,
|
||||
CUSTOM_4 VARCHAR2(255) NULL,
|
||||
CUSTOM_5 VARCHAR2(255) NULL,
|
||||
CUSTOM_6 VARCHAR2(255) NULL,
|
||||
CUSTOM_7 VARCHAR2(255) NULL,
|
||||
CUSTOM_8 VARCHAR2(255) NULL,
|
||||
CONSTRAINT CLASSIFICATION_PKEY PRIMARY KEY (ID),
|
||||
CONSTRAINT UC_CLASS_KEY_DOMAIN UNIQUE (KEY, DOMAIN)
|
||||
);
|
||||
|
||||
CREATE TABLE WORKBASKET
|
||||
(
|
||||
ID VARCHAR2(40) NOT NULL,
|
||||
KEY VARCHAR2(64) NOT NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
MODIFIED TIMESTAMP NULL,
|
||||
NAME VARCHAR2(255) NOT NULL,
|
||||
DOMAIN VARCHAR2(32) NOT NULL,
|
||||
TYPE VARCHAR2(16) NOT NULL,
|
||||
DESCRIPTION VARCHAR2(255) NULL,
|
||||
OWNER VARCHAR2(128) NULL,
|
||||
CUSTOM_1 VARCHAR2(255) NULL,
|
||||
CUSTOM_2 VARCHAR2(255) NULL,
|
||||
CUSTOM_3 VARCHAR2(255) NULL,
|
||||
CUSTOM_4 VARCHAR2(255) NULL,
|
||||
ORG_LEVEL_1 VARCHAR2(255) NULL,
|
||||
ORG_LEVEL_2 VARCHAR2(255) NULL,
|
||||
ORG_LEVEL_3 VARCHAR2(255) NULL,
|
||||
ORG_LEVEL_4 VARCHAR2(255) NULL,
|
||||
MARKED_FOR_DELETION NUMBER(1) NOT NULL CHECK (MARKED_FOR_DELETION IN (0,1)),
|
||||
CONSTRAINT WORKBASKET_PKEY PRIMARY KEY (ID),
|
||||
CONSTRAINT WB_KEY_DOMAIN UNIQUE (KEY, DOMAIN)
|
||||
);
|
||||
|
||||
CREATE TABLE TASK
|
||||
(
|
||||
ID VARCHAR2(40) NOT NULL,
|
||||
EXTERNAL_ID VARCHAR2(64) NOT NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
CLAIMED TIMESTAMP NULL,
|
||||
COMPLETED TIMESTAMP NULL,
|
||||
MODIFIED TIMESTAMP NULL,
|
||||
RECEIVED TIMESTAMP NULL,
|
||||
PLANNED TIMESTAMP NULL,
|
||||
DUE TIMESTAMP NULL,
|
||||
NAME VARCHAR2(255) NULL,
|
||||
CREATOR VARCHAR2(32) NULL,
|
||||
DESCRIPTION VARCHAR2(1024) NULL,
|
||||
NOTE VARCHAR2(4000) NULL,
|
||||
PRIORITY NUMBER(10) NULL,
|
||||
MANUAL_PRIORITY NUMBER(10) NULL,
|
||||
STATE VARCHAR2(20) NULL,
|
||||
CLASSIFICATION_CATEGORY VARCHAR2(32) NULL,
|
||||
CLASSIFICATION_KEY VARCHAR2(32) NULL,
|
||||
CLASSIFICATION_ID VARCHAR2(40) NULL,
|
||||
WORKBASKET_ID VARCHAR2(40) NULL,
|
||||
WORKBASKET_KEY VARCHAR2(64) NULL,
|
||||
DOMAIN VARCHAR2(32) NULL,
|
||||
BUSINESS_PROCESS_ID VARCHAR2(128) NULL,
|
||||
PARENT_BUSINESS_PROCESS_ID VARCHAR2(128) NULL,
|
||||
OWNER VARCHAR2(32) NULL,
|
||||
POR_COMPANY VARCHAR2(32) NOT NULL,
|
||||
POR_SYSTEM VARCHAR2(32),
|
||||
POR_INSTANCE VARCHAR2(32),
|
||||
POR_TYPE VARCHAR2(32) NOT NULL,
|
||||
POR_VALUE VARCHAR2(128) NOT NULL,
|
||||
IS_READ NUMBER(1) NOT NULL CHECK (IS_READ IN (0,1)),
|
||||
IS_TRANSFERRED NUMBER(1) NOT NULL CHECK (IS_TRANSFERRED IN (0,1)),
|
||||
CALLBACK_INFO CLOB NULL,
|
||||
CALLBACK_STATE VARCHAR2(30) NULL,
|
||||
CUSTOM_ATTRIBUTES CLOB NULL,
|
||||
CUSTOM_1 VARCHAR2(255) NULL,
|
||||
CUSTOM_2 VARCHAR2(255) NULL,
|
||||
CUSTOM_3 VARCHAR2(255) NULL,
|
||||
CUSTOM_4 VARCHAR2(255) NULL,
|
||||
CUSTOM_5 VARCHAR2(255) NULL,
|
||||
CUSTOM_6 VARCHAR2(255) NULL,
|
||||
CUSTOM_7 VARCHAR2(255) NULL,
|
||||
CUSTOM_8 VARCHAR2(255) NULL,
|
||||
CUSTOM_9 VARCHAR2(255) NULL,
|
||||
CUSTOM_10 VARCHAR2(255) NULL,
|
||||
CUSTOM_11 VARCHAR2(255) NULL,
|
||||
CUSTOM_12 VARCHAR2(255) NULL,
|
||||
CUSTOM_13 VARCHAR2(255) NULL,
|
||||
CUSTOM_14 VARCHAR2(255) NULL,
|
||||
CUSTOM_15 VARCHAR2(255) NULL,
|
||||
CUSTOM_16 VARCHAR2(255) NULL,
|
||||
CUSTOM_INT_1 NUMBER(10) NULL,
|
||||
CUSTOM_INT_2 NUMBER(10) NULL,
|
||||
CUSTOM_INT_3 NUMBER(10) NULL,
|
||||
CUSTOM_INT_4 NUMBER(10) NULL,
|
||||
CUSTOM_INT_5 NUMBER(10) NULL,
|
||||
CUSTOM_INT_6 NUMBER(10) NULL,
|
||||
CUSTOM_INT_7 NUMBER(10) NULL,
|
||||
CUSTOM_INT_8 NUMBER(10) NULL,
|
||||
CONSTRAINT TASK_PKEY PRIMARY KEY (ID),
|
||||
CONSTRAINT UC_EXTERNAL_ID UNIQUE (EXTERNAL_ID),
|
||||
CONSTRAINT TASK_WB FOREIGN KEY (WORKBASKET_ID) REFERENCES WORKBASKET(ID),
|
||||
CONSTRAINT TASK_CLASS FOREIGN KEY (CLASSIFICATION_ID) REFERENCES CLASSIFICATION(ID)
|
||||
);
|
||||
|
||||
CREATE TABLE DISTRIBUTION_TARGETS
|
||||
(
|
||||
SOURCE_ID VARCHAR2(40) NOT NULL,
|
||||
TARGET_ID VARCHAR2(40) NOT NULL,
|
||||
CONSTRAINT DISTRIBUTION_TARGETS_PKEY PRIMARY KEY (SOURCE_ID, TARGET_ID)
|
||||
);
|
||||
|
||||
CREATE TABLE WORKBASKET_ACCESS_LIST
|
||||
(
|
||||
ID VARCHAR2(40) NOT NULL,
|
||||
WORKBASKET_ID VARCHAR2(40) NOT NULL,
|
||||
ACCESS_ID VARCHAR2(255) NOT NULL,
|
||||
ACCESS_NAME VARCHAR2(255) NULL,
|
||||
PERM_READ NUMBER(1) NOT NULL CHECK (PERM_READ IN (0,1)),
|
||||
PERM_OPEN NUMBER(1) NOT NULL CHECK (PERM_OPEN IN (0,1)),
|
||||
PERM_APPEND NUMBER(1) NOT NULL CHECK (PERM_APPEND IN (0,1)),
|
||||
PERM_TRANSFER NUMBER(1) NOT NULL CHECK (PERM_TRANSFER IN (0,1)),
|
||||
PERM_DISTRIBUTE NUMBER(1) NOT NULL CHECK (PERM_DISTRIBUTE IN (0,1)),
|
||||
PERM_CUSTOM_1 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_1 IN (0,1)),
|
||||
PERM_CUSTOM_2 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_2 IN (0,1)),
|
||||
PERM_CUSTOM_3 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_3 IN (0,1)),
|
||||
PERM_CUSTOM_4 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_4 IN (0,1)),
|
||||
PERM_CUSTOM_5 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_5 IN (0,1)),
|
||||
PERM_CUSTOM_6 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_6 IN (0,1)),
|
||||
PERM_CUSTOM_7 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_7 IN (0,1)),
|
||||
PERM_CUSTOM_8 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_8 IN (0,1)),
|
||||
PERM_CUSTOM_9 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_9 IN (0,1)),
|
||||
PERM_CUSTOM_10 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_10 IN (0,1)),
|
||||
PERM_CUSTOM_11 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_11 IN (0,1)),
|
||||
PERM_CUSTOM_12 NUMBER(1) NOT NULL CHECK (PERM_CUSTOM_12 IN (0,1)),
|
||||
CONSTRAINT WORKBASKET_ACCESS_LIST_PKEY PRIMARY KEY (ID),
|
||||
CONSTRAINT UC_ACCESSID_WBID UNIQUE (ACCESS_ID, WORKBASKET_ID),
|
||||
CONSTRAINT ACCESS_LIST_WB FOREIGN KEY (WORKBASKET_ID) REFERENCES WORKBASKET(ID) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE OBJECT_REFERENCE
|
||||
(
|
||||
ID VARCHAR2(40) NOT NULL,
|
||||
TASK_ID VARCHAR2(40) NOT NULL,
|
||||
COMPANY VARCHAR2(32) NOT NULL,
|
||||
SYSTEM VARCHAR2(32),
|
||||
SYSTEM_INSTANCE VARCHAR2(32),
|
||||
TYPE VARCHAR2(32) NOT NULL,
|
||||
VALUE VARCHAR2(128) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE ATTACHMENT
|
||||
(
|
||||
ID VARCHAR2(40) NOT NULL,
|
||||
TASK_ID VARCHAR2(40) NOT NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
MODIFIED TIMESTAMP NULL,
|
||||
CLASSIFICATION_KEY VARCHAR2(32) NULL,
|
||||
CLASSIFICATION_ID VARCHAR2(40) NULL,
|
||||
REF_COMPANY VARCHAR2(32) NOT NULL,
|
||||
REF_SYSTEM VARCHAR2(32),
|
||||
REF_INSTANCE VARCHAR2(32),
|
||||
REF_TYPE VARCHAR2(32) NOT NULL,
|
||||
REF_VALUE VARCHAR2(128) NOT NULL,
|
||||
CHANNEL VARCHAR2(64) NULL,
|
||||
RECEIVED TIMESTAMP NULL,
|
||||
CUSTOM_ATTRIBUTES CLOB NULL,
|
||||
CONSTRAINT ATTACHMENT_PKEY PRIMARY KEY (ID),
|
||||
CONSTRAINT ATT_CLASS FOREIGN KEY (CLASSIFICATION_ID) REFERENCES CLASSIFICATION(ID)
|
||||
);
|
||||
|
||||
CREATE TABLE CONFIGURATION
|
||||
(
|
||||
NAME VARCHAR2(8) NOT NULL,
|
||||
ENFORCE_SECURITY NUMBER(1) NULL CHECK (ENFORCE_SECURITY IN (0,1)),
|
||||
CUSTOM_ATTRIBUTES CLOB NULL,
|
||||
CONSTRAINT CONFIGURATION_PKEY PRIMARY KEY (NAME)
|
||||
);
|
||||
|
||||
INSERT INTO CONFIGURATION (NAME)
|
||||
VALUES ('MASTER');
|
||||
|
||||
CREATE TABLE TASK_COMMENT
|
||||
(
|
||||
ID VARCHAR2(40) NOT NULL,
|
||||
TASK_ID VARCHAR2(40) NOT NULL,
|
||||
TEXT_FIELD VARCHAR2(1024) NULL,
|
||||
CREATOR VARCHAR2(32) NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
MODIFIED TIMESTAMP NULL,
|
||||
CONSTRAINT TASK_COMMENT_PKEY PRIMARY KEY (ID),
|
||||
CONSTRAINT COMMENT_TASK FOREIGN KEY (TASK_ID) REFERENCES TASK(ID) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE SCHEDULED_JOB
|
||||
(
|
||||
JOB_ID NUMBER(10) NOT NULL,
|
||||
PRIORITY NUMBER(10) NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
DUE TIMESTAMP NULL,
|
||||
STATE VARCHAR2(32) NULL,
|
||||
LOCKED_BY VARCHAR2(128) NULL,
|
||||
LOCK_EXPIRES TIMESTAMP NULL,
|
||||
TYPE VARCHAR2(255) NULL,
|
||||
RETRY_COUNT NUMBER(10) NOT NULL,
|
||||
ARGUMENTS CLOB NULL,
|
||||
CONSTRAINT SCHEDULED_JOB_PKEY PRIMARY KEY (JOB_ID)
|
||||
);
|
||||
|
||||
CREATE TABLE TASK_HISTORY_EVENT
|
||||
(
|
||||
ID VARCHAR2(40) NOT NULL,
|
||||
BUSINESS_PROCESS_ID VARCHAR2(128) NULL,
|
||||
PARENT_BUSINESS_PROCESS_ID VARCHAR2(128) NULL,
|
||||
TASK_ID VARCHAR2(40) NULL,
|
||||
EVENT_TYPE VARCHAR2(32) NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
USER_ID VARCHAR2(32) NULL,
|
||||
DOMAIN VARCHAR2(32) NULL,
|
||||
WORKBASKET_KEY VARCHAR2(64) NULL,
|
||||
WORKBASKET_NAME VARCHAR2(255) NULL,
|
||||
POR_COMPANY VARCHAR2(32) NULL,
|
||||
POR_SYSTEM VARCHAR2(32) NULL,
|
||||
POR_INSTANCE VARCHAR2(32) NULL,
|
||||
POR_TYPE VARCHAR2(32) NULL,
|
||||
POR_VALUE VARCHAR2(128) NULL,
|
||||
TASK_PRIORITY NUMBER(10) NULL,
|
||||
TASK_PLANNED TIMESTAMP NULL,
|
||||
TASK_DUE TIMESTAMP NULL,
|
||||
TASK_OWNER VARCHAR2(32) NULL,
|
||||
TASK_CLASSIFICATION_KEY VARCHAR2(32) NULL,
|
||||
TASK_CLASSIFICATION_NAME VARCHAR2(32) NULL,
|
||||
TASK_CLASSIFICATION_CATEGORY VARCHAR2(32) NULL,
|
||||
ATTACHMENT_CLASSIFICATION_KEY VARCHAR2(32) NULL,
|
||||
ATTACHMENT_CLASSIFICATION_NAME VARCHAR2(255) NULL,
|
||||
OLD_VALUE VARCHAR2(255) NULL,
|
||||
NEW_VALUE VARCHAR2(255) NULL,
|
||||
CUSTOM_1 VARCHAR2(128) NULL,
|
||||
CUSTOM_2 VARCHAR2(128) NULL,
|
||||
CUSTOM_3 VARCHAR2(128) NULL,
|
||||
CUSTOM_4 VARCHAR2(128) NULL,
|
||||
DETAILS CLOB NULL,
|
||||
CONSTRAINT TASK_HISTORY_EVENT_PKEY PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
CREATE TABLE WORKBASKET_HISTORY_EVENT
|
||||
(
|
||||
ID VARCHAR2(40) NOT NULL,
|
||||
EVENT_TYPE VARCHAR2(40) NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
USER_ID VARCHAR2(32) NULL,
|
||||
DOMAIN VARCHAR2(32) NULL,
|
||||
WORKBASKET_ID VARCHAR2(40) NULL,
|
||||
KEY VARCHAR2(64) NULL,
|
||||
TYPE VARCHAR2(64) NULL,
|
||||
OWNER VARCHAR2(128) NULL,
|
||||
CUSTOM_1 VARCHAR2(255) NULL,
|
||||
CUSTOM_2 VARCHAR2(255) NULL,
|
||||
CUSTOM_3 VARCHAR2(255) NULL,
|
||||
CUSTOM_4 VARCHAR2(255) NULL,
|
||||
ORGLEVEL_1 VARCHAR2(255) NULL,
|
||||
ORGLEVEL_2 VARCHAR2(255) NULL,
|
||||
ORGLEVEL_3 VARCHAR2(255) NULL,
|
||||
ORGLEVEL_4 VARCHAR2(255) NULL,
|
||||
DETAILS CLOB NULL,
|
||||
CONSTRAINT WORKBASKET_HISTORY_EVENT_PKEY PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
CREATE TABLE CLASSIFICATION_HISTORY_EVENT
|
||||
(
|
||||
ID VARCHAR2(40) NOT NULL,
|
||||
EVENT_TYPE VARCHAR2(40) NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
USER_ID VARCHAR2(32) NULL,
|
||||
CLASSIFICATION_ID VARCHAR2(40) NULL,
|
||||
APPLICATION_ENTRY_POINT VARCHAR2(255) NULL,
|
||||
CATEGORY VARCHAR2(64) NULL,
|
||||
DOMAIN VARCHAR2(32) NULL,
|
||||
KEY VARCHAR2(40) NULL,
|
||||
NAME VARCHAR2(255) NULL,
|
||||
PARENT_ID VARCHAR2(40) NOT NULL,
|
||||
PARENT_KEY VARCHAR2(32) NOT NULL,
|
||||
PRIORITY NUMBER(38) NOT NULL,
|
||||
SERVICE_LEVEL VARCHAR2(255) NULL,
|
||||
TYPE VARCHAR2(32),
|
||||
CUSTOM_1 VARCHAR2(255) NULL,
|
||||
CUSTOM_2 VARCHAR2(255) NULL,
|
||||
CUSTOM_3 VARCHAR2(255) NULL,
|
||||
CUSTOM_4 VARCHAR2(255) NULL,
|
||||
CUSTOM_5 VARCHAR2(255) NULL,
|
||||
CUSTOM_6 VARCHAR2(255) NULL,
|
||||
CUSTOM_7 VARCHAR2(255) NULL,
|
||||
CUSTOM_8 VARCHAR2(255) NULL,
|
||||
DETAILS CLOB NULL,
|
||||
CONSTRAINT CLASSIFICATION_HISTORY_EVENT_PKEY PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
-- USER can not be taken as table name because it is a reserved keyword.
|
||||
CREATE TABLE USER_INFO
|
||||
(
|
||||
USER_ID VARCHAR2(32) NOT NULL,
|
||||
FIRST_NAME VARCHAR2(32) NULL,
|
||||
LASTNAME VARCHAR2(32) NULL,
|
||||
FULL_NAME VARCHAR2(64) NULL,
|
||||
LONG_NAME VARCHAR2(64) NULL,
|
||||
E_MAIL VARCHAR2(64) NULL,
|
||||
PHONE VARCHAR2(32) NULL,
|
||||
MOBILE_PHONE VARCHAR2(32) NULL,
|
||||
ORG_LEVEL_4 VARCHAR2(32) NULL,
|
||||
ORG_LEVEL_3 VARCHAR2(32) NULL,
|
||||
ORG_LEVEL_2 VARCHAR2(32) NULL,
|
||||
ORG_LEVEL_1 VARCHAR2(32) NULL,
|
||||
DATA CLOB NULL,
|
||||
CONSTRAINT USER_INFO_PKEY PRIMARY KEY (USER_ID)
|
||||
);
|
||||
|
||||
CREATE TABLE GROUP_INFO
|
||||
(
|
||||
USER_ID VARCHAR2(32) NOT NULL,
|
||||
GROUP_ID VARCHAR2(256) NOT NULL,
|
||||
CONSTRAINT GROUP_INFO_PKEY PRIMARY KEY (USER_ID, GROUP_ID)
|
||||
);
|
||||
|
||||
CREATE SEQUENCE SCHEDULED_JOB_SEQ
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
CACHE 10;
|
||||
|
||||
-- LIST OF RECOMMENDED INDEXES
|
||||
-- This list is provided on a as-is basis. It is used for tuning of the internal performance tests.
|
||||
-- The script needs to be reviewed and adapted for each indiviual TASKANA setup.
|
||||
-- ===========================
|
||||
CREATE UNIQUE INDEX IDX_CLASSIFICATION_ID ON CLASSIFICATION
|
||||
(ID ASC, CUSTOM_8, CUSTOM_7, CUSTOM_6, CUSTOM_5, CUSTOM_4,
|
||||
CUSTOM_3, CUSTOM_2, CUSTOM_1, APPLICATION_ENTRY_POINT,
|
||||
SERVICE_LEVEL, PRIORITY, DESCRIPTION, NAME, MODIFIED,
|
||||
CREATED, VALID_IN_DOMAIN, DOMAIN, TYPE, CATEGORY, PARENT_KEY,
|
||||
PARENT_ID, KEY);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE INDEX IDX_CLASSIFICATION_CATEGORY ON CLASSIFICATION
|
||||
(CATEGORY ASC, DOMAIN ASC, TYPE ASC, CUSTOM_1
|
||||
ASC, CUSTOM_8 ASC, CUSTOM_7 ASC, CUSTOM_6 ASC,
|
||||
CUSTOM_5 ASC, CUSTOM_4 ASC, CUSTOM_3 ASC, CUSTOM_2
|
||||
ASC, APPLICATION_ENTRY_POINT ASC, SERVICE_LEVEL
|
||||
ASC, PRIORITY ASC, DESCRIPTION ASC, NAME ASC,
|
||||
CREATED ASC, VALID_IN_DOMAIN ASC, PARENT_KEY ASC, PARENT_ID
|
||||
ASC, KEY ASC, ID ASC);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE UNIQUE INDEX IDX_CLASSIFICATION_KEY_DOMAIN ON CLASSIFICATION
|
||||
(KEY ASC, DOMAIN ASC, CUSTOM_8, CUSTOM_7, CUSTOM_6,
|
||||
CUSTOM_5, CUSTOM_4, CUSTOM_3, CUSTOM_2, CUSTOM_1,
|
||||
APPLICATION_ENTRY_POINT, SERVICE_LEVEL, PRIORITY,
|
||||
DESCRIPTION, NAME, CREATED, VALID_IN_DOMAIN,
|
||||
TYPE, CATEGORY, PARENT_KEY, PARENT_ID, ID);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE INDEX IDX_TASK_WORKBASKET_KEY_DOMAIN ON TASK
|
||||
(WORKBASKET_KEY ASC, DOMAIN DESC);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE INDEX IDX_TASK_POR_VALUE ON TASK
|
||||
(POR_VALUE ASC, WORKBASKET_ID ASC);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE INDEX IDX_TASK_LOWER_POR_VALUE ON TASK
|
||||
(LOWER(POR_VALUE) ASC, WORKBASKET_ID ASC);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE INDEX IDX_ATTACHMENT_TASK_ID ON ATTACHMENT
|
||||
(TASK_ID ASC, RECEIVED ASC, CLASSIFICATION_ID
|
||||
ASC, CLASSIFICATION_KEY ASC, MODIFIED ASC, CREATED ASC, ID ASC);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE INDEX IDX_WORKBASKET_ID ON WORKBASKET
|
||||
(ID ASC, ORG_LEVEL_4, ORG_LEVEL_3, ORG_LEVEL_2,
|
||||
ORG_LEVEL_1, OWNER, DESCRIPTION, TYPE, DOMAIN, NAME, KEY);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE INDEX IDX_WORKBASKET_KEY_DOMAIN ON WORKBASKET
|
||||
(KEY ASC, DOMAIN ASC, ORG_LEVEL_4,
|
||||
ORG_LEVEL_3, ORG_LEVEL_2, ORG_LEVEL_1, CUSTOM_4,
|
||||
CUSTOM_3, CUSTOM_2, CUSTOM_1, OWNER, DESCRIPTION,
|
||||
TYPE, NAME, MODIFIED, CREATED, ID);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE INDEX IDX_WORKBASKET_KEY_DOMAIN_ID ON WORKBASKET
|
||||
(KEY ASC, DOMAIN ASC, ID);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE INDEX IDX_WB_ACCESS_LIST_ACCESS_ID ON WORKBASKET_ACCESS_LIST
|
||||
(ACCESS_ID ASC, WORKBASKET_ID ASC, PERM_READ ASC);
|
||||
COMMIT WORK;
|
||||
|
||||
CREATE INDEX IDX_WB_ACCESS_LIST_WB_ID ON WORKBASKET_ACCESS_LIST
|
||||
(WORKBASKET_ID ASC, PERM_CUSTOM_12 ASC, PERM_CUSTOM_11
|
||||
ASC, PERM_CUSTOM_10 ASC, PERM_CUSTOM_9 ASC, PERM_CUSTOM_8
|
||||
ASC, PERM_CUSTOM_7 ASC, PERM_CUSTOM_6 ASC, PERM_CUSTOM_5
|
||||
ASC, PERM_CUSTOM_4 ASC, PERM_CUSTOM_3 ASC, PERM_CUSTOM_2
|
||||
ASC, PERM_CUSTOM_1 ASC, PERM_DISTRIBUTE ASC, PERM_TRANSFER
|
||||
ASC, PERM_APPEND ASC, PERM_OPEN ASC, PERM_READ
|
||||
ASC, ACCESS_ID ASC);
|
||||
COMMIT WORK;
|
|
@ -5,14 +5,20 @@ search_path TO %schemaName%;
|
|||
|
||||
CREATE TABLE TASKANA_SCHEMA_VERSION
|
||||
(
|
||||
ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1),
|
||||
ID INT NOT NULL,
|
||||
VERSION VARCHAR(255) NOT NULL,
|
||||
CREATED TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED)
|
||||
VALUES ('5.2.0', CURRENT_TIMESTAMP);
|
||||
|
||||
CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ
|
||||
MINVALUE 1
|
||||
START WITH 100
|
||||
INCREMENT BY 1 CACHE 10;
|
||||
|
||||
-- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED)
|
||||
VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '5.10.0', CURRENT_TIMESTAMP);
|
||||
|
||||
CREATE TABLE CLASSIFICATION
|
||||
(
|
||||
|
@ -266,11 +272,11 @@ CREATE TABLE TASK_HISTORY_EVENT
|
|||
CREATE TABLE WORKBASKET_HISTORY_EVENT
|
||||
(
|
||||
ID VARCHAR(40) NOT NULL,
|
||||
WORKBASKET_ID VARCHAR(40) NULL,
|
||||
EVENT_TYPE VARCHAR(40) NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
USER_ID VARCHAR(32) NULL,
|
||||
DOMAIN VARCHAR(32) NULL,
|
||||
WORKBASKET_ID VARCHAR(40) NULL,
|
||||
KEY VARCHAR(64) NULL,
|
||||
TYPE VARCHAR(64) NULL,
|
||||
OWNER VARCHAR(128) NULL,
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
-- this script updates the TASKANA database schema from version 5.2.0 to version 5.10.0.
|
||||
SET SCHEMA %schemaName%;
|
||||
|
||||
SET search_path = %schemaName%;
|
||||
|
||||
CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ
|
||||
MINVALUE 1
|
||||
START WITH 100
|
||||
INCREMENT BY 1 CACHE 10;
|
||||
|
||||
ALTER TABLE TASKANA_SCHEMA_VERSION ALTER COLUMN ID DROP IDENTITY;
|
||||
|
||||
-- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED)
|
||||
VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '5.10.0', CURRENT_TIMESTAMP);
|
|
@ -12,3 +12,13 @@ services:
|
|||
- LICENSE=accept
|
||||
ports:
|
||||
- 5101:50000
|
||||
taskana-oracle-18:
|
||||
image: gvenzl/oracle-xe:18-slim-faststart
|
||||
environment:
|
||||
- ORACLE_PASSWORD=testPassword
|
||||
- ORACLE_DATABASE=taskana
|
||||
- APP_USER=TEST_USER
|
||||
- APP_USER_PASSWORD=testPassword
|
||||
- TZ=Europe/Berlin
|
||||
ports:
|
||||
- 5103:1521
|
|
@ -13,7 +13,10 @@ SETLOCAL
|
|||
ECHO 3 - Start POSTGRES 10
|
||||
ECHO 4 - Stop POSTGRES 10
|
||||
ECHO.
|
||||
ECHO 5 - Stop all
|
||||
ECHO 5 - Start ORACLE 18
|
||||
ECHO 6 - Stop ORACLE 18
|
||||
ECHO.
|
||||
ECHO 7 - Stop all
|
||||
ECHO.
|
||||
SET /P MENU=Select task then press ENTER:
|
||||
ECHO.
|
||||
|
@ -21,7 +24,9 @@ SETLOCAL
|
|||
IF [%MENU%]==[2] GOTO STOP_DB2_11_5
|
||||
IF [%MENU%]==[3] GOTO START_POSTGRES_10
|
||||
IF [%MENU%]==[4] GOTO STOP_POSTGRES_10
|
||||
IF [%MENU%]==[5] GOTO STOP_ALL
|
||||
IF [%MENU%]==[5] GOTO START_ORACLE_18
|
||||
IF [%MENU%]==[6] GOTO STOP_ORACLE_18
|
||||
IF [%MENU%]==[7] GOTO STOP_ALL
|
||||
EXIT /B
|
||||
|
||||
:START_DB2_11_5
|
||||
|
@ -55,6 +60,22 @@ SETLOCAL
|
|||
ECHO ---
|
||||
GOTO MENU
|
||||
|
||||
:START_ORACLE_18
|
||||
ECHO ---
|
||||
ECHO docker-compose -f %~dp0/docker-compose.yml up -d taskana-oracle-18
|
||||
docker-compose -f %~dp0/docker-compose.yml up -d taskana-oracle-18
|
||||
|
||||
ECHO ---
|
||||
GOTO MENU
|
||||
|
||||
:STOP_ORACLE_18
|
||||
ECHO ---
|
||||
ECHO docker stop taskana-oracle-18
|
||||
ECHO docker-compose -f %~dp0/docker-compose.yml rm -f -s -v taskana-oracle-18
|
||||
docker-compose -f %~dp0/docker-compose.yml rm -f -s -v taskana-oracle-18
|
||||
ECHO ---
|
||||
GOTO MENU
|
||||
|
||||
:STOP_ALL
|
||||
ECHO ---
|
||||
ECHO docker-compose -f %~dp0/docker-compose.yml down -v
|
||||
|
|
|
@ -18,9 +18,9 @@ export TOP_PID=$$
|
|||
#H If no database was provided all databases are stopped.
|
||||
#H
|
||||
#H database:
|
||||
#H - H2
|
||||
#H - DB2 | DB2_11_5
|
||||
#H - POSTGRES | POSTGRES_10
|
||||
#H - ORACLE | ORACLE_18
|
||||
# Arguments:
|
||||
# $1: exit code
|
||||
function helpAndExit() {
|
||||
|
@ -40,6 +40,9 @@ function mapDBToDockerComposeServiceName() {
|
|||
POSTGRES|POSTGRES_10)
|
||||
echo "taskana-postgres_10"
|
||||
;;
|
||||
ORACLE|ORACLE_18)
|
||||
echo "taskana-oracle-18"
|
||||
;;
|
||||
*)
|
||||
echo "unknown database '$1'" >&2 && kill -s TERM $TOP_PID
|
||||
esac
|
||||
|
@ -58,6 +61,9 @@ function main() {
|
|||
POSTGRES|POSTGRES_10)
|
||||
docker-compose -f $scriptDir/docker-compose.yml up -d "$(mapDBToDockerComposeServiceName "$1")"
|
||||
;;
|
||||
ORACLE|ORACLE_18)
|
||||
docker-compose -f $scriptDir/docker-compose.yml up -d "$(mapDBToDockerComposeServiceName "$1")"
|
||||
;;
|
||||
stop)
|
||||
# this variable is necessary, so that the script can terminate properly
|
||||
# when the provided database name does not match. PLEASE DO NOT INLINE!
|
||||
|
|
|
@ -85,6 +85,13 @@
|
|||
<version>${version.db2}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc8</artifactId>
|
||||
<version>${version.oracle}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package pro.taskana.simplehistory.impl;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayDeque;
|
||||
|
@ -25,8 +26,12 @@ import pro.taskana.common.api.TaskanaEngine;
|
|||
import pro.taskana.common.api.TaskanaRole;
|
||||
import pro.taskana.common.api.exceptions.MismatchedRoleException;
|
||||
import pro.taskana.common.api.exceptions.NotAuthorizedException;
|
||||
import pro.taskana.common.api.exceptions.SystemException;
|
||||
import pro.taskana.common.internal.OracleSqlSessionFactory;
|
||||
import pro.taskana.common.internal.configuration.DB;
|
||||
import pro.taskana.common.internal.persistence.InstantTypeHandler;
|
||||
import pro.taskana.common.internal.persistence.MapTypeHandler;
|
||||
import pro.taskana.common.internal.persistence.StringTypeHandler;
|
||||
import pro.taskana.simplehistory.TaskanaHistoryEngine;
|
||||
import pro.taskana.simplehistory.impl.classification.ClassificationHistoryEventMapper;
|
||||
import pro.taskana.simplehistory.impl.classification.ClassificationHistoryQueryMapper;
|
||||
|
@ -107,7 +112,23 @@ public class TaskanaHistoryEngineImpl implements TaskanaHistoryEngine {
|
|||
DEFAULT, this.transactionFactory, taskanaEngineConfiguration.getDatasource());
|
||||
Configuration configuration = new Configuration(environment);
|
||||
|
||||
// set databaseId
|
||||
String databaseProductName;
|
||||
try (Connection con = taskanaEngineConfiguration.getDatasource().getConnection()) {
|
||||
databaseProductName = DB.getDatabaseProductName(con);
|
||||
configuration.setDatabaseId(DB.getDatabaseProductId(con));
|
||||
|
||||
} catch (SQLException e) {
|
||||
throw new SystemException("Could not open a connection to set the databaseId", e);
|
||||
}
|
||||
|
||||
// register type handlers
|
||||
if (DB.isOracleDb(databaseProductName)) {
|
||||
// Use NULL instead of OTHER when jdbcType is not specified for null values,
|
||||
// otherwise oracle driver will chunck on null values
|
||||
configuration.setJdbcTypeForNull(JdbcType.NULL);
|
||||
configuration.getTypeHandlerRegistry().register(String.class, new StringTypeHandler());
|
||||
}
|
||||
configuration.getTypeHandlerRegistry().register(new MapTypeHandler());
|
||||
configuration.getTypeHandlerRegistry().register(Instant.class, new InstantTypeHandler());
|
||||
configuration.getTypeHandlerRegistry().register(JdbcType.TIMESTAMP, new InstantTypeHandler());
|
||||
|
@ -121,7 +142,18 @@ public class TaskanaHistoryEngineImpl implements TaskanaHistoryEngine {
|
|||
configuration.addMapper(ClassificationHistoryQueryMapper.class);
|
||||
configuration.addMapper(UserMapper.class);
|
||||
|
||||
SqlSessionFactory localSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
|
||||
SqlSessionFactory localSessionFactory;
|
||||
if (DB.isOracleDb(databaseProductName)) {
|
||||
localSessionFactory =
|
||||
new SqlSessionFactoryBuilder() {
|
||||
@Override
|
||||
public SqlSessionFactory build(Configuration config) {
|
||||
return new OracleSqlSessionFactory(config);
|
||||
}
|
||||
}.build(configuration);
|
||||
} else {
|
||||
localSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
|
||||
}
|
||||
return SqlSessionManager.newInstance(localSessionFactory);
|
||||
}
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ public interface TaskHistoryQueryMapper {
|
|||
+ "<if test=\"joinWithUserInfo\">, u.LONG_NAME AS USER_LONG_NAME, o.LONG_NAME AS TASK_OWNER_LONG_NAME </if>"
|
||||
+ "FROM TASK_HISTORY_EVENT t "
|
||||
+ "<if test=\"joinWithUserInfo\">"
|
||||
+ "LEFT JOIN USER_INFO AS u ON t.USER_ID = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO AS o ON TASK_OWNER = o.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO u ON t.USER_ID = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO o ON TASK_OWNER = o.USER_ID "
|
||||
+ "</if>"
|
||||
+ "<where>"
|
||||
// IN-Queries
|
||||
|
@ -155,10 +155,10 @@ public interface TaskHistoryQueryMapper {
|
|||
|
||||
@Select(
|
||||
"<script>SELECT DISTINCT ${columnName} "
|
||||
+ "FROM TASK_HISTORY_EVENT AS t"
|
||||
+ "FROM TASK_HISTORY_EVENT t"
|
||||
+ "<if test=\"joinWithUserInfo\">"
|
||||
+ "LEFT JOIN USER_INFO AS u ON t.USER_ID = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO AS o ON TASK_OWNER = o.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO u ON t.USER_ID = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO o ON TASK_OWNER = o.USER_ID "
|
||||
+ "</if>"
|
||||
+ "<where>"
|
||||
// IN-Queries
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
package acceptance;
|
||||
|
||||
import static pro.taskana.common.test.OracleSchemaHelper.initOracleSchema;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.sql.Connection;
|
||||
import javax.sql.DataSource;
|
||||
import org.apache.ibatis.session.SqlSessionManager;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
|
@ -11,6 +14,7 @@ import pro.taskana.common.api.TaskanaEngine;
|
|||
import pro.taskana.common.api.TaskanaEngine.ConnectionManagementMode;
|
||||
import pro.taskana.common.internal.JobMapper;
|
||||
import pro.taskana.common.internal.TaskanaEngineImpl;
|
||||
import pro.taskana.common.internal.configuration.DB;
|
||||
import pro.taskana.common.internal.util.IdGenerator;
|
||||
import pro.taskana.common.test.config.DataSourceGenerator;
|
||||
import pro.taskana.sampledata.SampleDataGenerator;
|
||||
|
@ -83,14 +87,18 @@ public abstract class AbstractAccTest {
|
|||
|
||||
protected static void resetDb(String schemaName) throws Exception {
|
||||
DataSource dataSource = DataSourceGenerator.getDataSource();
|
||||
|
||||
taskanaEngineConfiguration =
|
||||
new TaskanaEngineConfiguration(
|
||||
dataSource,
|
||||
false,
|
||||
String schemaNameTmp =
|
||||
schemaName != null && !schemaName.isEmpty()
|
||||
? schemaName
|
||||
: DataSourceGenerator.getSchemaName());
|
||||
: DataSourceGenerator.getSchemaName();
|
||||
try (Connection connection = dataSource.getConnection()) {
|
||||
String dbProductId = DB.getDatabaseProductId(connection);
|
||||
if (DB.isOracle(dbProductId)) {
|
||||
initOracleSchema(dataSource, schemaNameTmp);
|
||||
}
|
||||
}
|
||||
|
||||
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, schemaNameTmp);
|
||||
taskanaEngine =
|
||||
taskanaEngineConfiguration.buildTaskanaEngine(ConnectionManagementMode.AUTOCOMMIT);
|
||||
taskanaHistoryEngine = TaskanaHistoryEngineImpl.createTaskanaEngine(taskanaEngine);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package acceptance.events.workbasket;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static pro.taskana.common.api.BaseQuery.SortDirection.ASCENDING;
|
||||
|
||||
import acceptance.AbstractAccTest;
|
||||
import java.util.List;
|
||||
|
@ -45,7 +46,12 @@ class CreateHistoryEventOnWorkbasketAccessItemsDeletionAccTest extends AbstractA
|
|||
|
||||
workbasketService.deleteWorkbasketAccessItemsForAccessId(accessId);
|
||||
|
||||
events = historyService.createWorkbasketHistoryQuery().workbasketIdIn(workbasketIds).list();
|
||||
events =
|
||||
historyService
|
||||
.createWorkbasketHistoryQuery()
|
||||
.workbasketIdIn(workbasketIds)
|
||||
.orderByWorkbasketId(ASCENDING)
|
||||
.list();
|
||||
|
||||
assertThat(events).hasSize(4);
|
||||
|
||||
|
|
|
@ -58,6 +58,7 @@ import org.junit.jupiter.api.TestInstance;
|
|||
import org.junit.jupiter.api.TestInstance.Lifecycle;
|
||||
import org.junit.jupiter.api.TestTemplate;
|
||||
import org.junit.jupiter.api.function.ThrowingConsumer;
|
||||
import org.junit.platform.commons.support.AnnotationSupport;
|
||||
|
||||
import pro.taskana.TaskanaEngineConfiguration;
|
||||
import pro.taskana.common.api.TaskanaEngine;
|
||||
|
@ -563,36 +564,44 @@ class ArchitectureTest {
|
|||
wrap(
|
||||
(method) -> {
|
||||
List<String> values = new ArrayList<>();
|
||||
final Optional<Select> selectAnnotation = method.tryGetAnnotationOfType(Select.class);
|
||||
final Optional<Update> updateAnnotation = method.tryGetAnnotationOfType(Update.class);
|
||||
final Optional<Insert> insertAnnotation = method.tryGetAnnotationOfType(Insert.class);
|
||||
final Optional<Delete> deleteAnnotation = method.tryGetAnnotationOfType(Delete.class);
|
||||
final Optional<SelectProvider> selectProviderAnnotation =
|
||||
method.tryGetAnnotationOfType(SelectProvider.class);
|
||||
final Optional<UpdateProvider> updateProviderAnnotation =
|
||||
method.tryGetAnnotationOfType(UpdateProvider.class);
|
||||
final Optional<InsertProvider> insertProviderAnnotation =
|
||||
method.tryGetAnnotationOfType(InsertProvider.class);
|
||||
final Optional<DeleteProvider> deleteProviderAnnotation =
|
||||
method.tryGetAnnotationOfType(DeleteProvider.class);
|
||||
|
||||
selectAnnotation.map(Select::value).map(Arrays::asList).ifPresent(values::addAll);
|
||||
updateAnnotation.map(Update::value).map(Arrays::asList).ifPresent(values::addAll);
|
||||
insertAnnotation.map(Insert::value).map(Arrays::asList).ifPresent(values::addAll);
|
||||
deleteAnnotation.map(Delete::value).map(Arrays::asList).ifPresent(values::addAll);
|
||||
final List<Select> select =
|
||||
AnnotationSupport.findRepeatableAnnotations(method.reflect(), Select.class);
|
||||
final List<Update> update =
|
||||
AnnotationSupport.findRepeatableAnnotations(method.reflect(), Update.class);
|
||||
final List<Insert> insert =
|
||||
AnnotationSupport.findRepeatableAnnotations(method.reflect(), Insert.class);
|
||||
final List<Delete> delete =
|
||||
AnnotationSupport.findRepeatableAnnotations(method.reflect(), Delete.class);
|
||||
select.stream().map(Select::value).map(Arrays::asList).forEach(values::addAll);
|
||||
update.stream().map(Update::value).map(Arrays::asList).forEach(values::addAll);
|
||||
insert.stream().map(Insert::value).map(Arrays::asList).forEach(values::addAll);
|
||||
delete.stream().map(Delete::value).map(Arrays::asList).forEach(values::addAll);
|
||||
|
||||
selectProviderAnnotation
|
||||
final List<SelectProvider> selectProviders =
|
||||
AnnotationSupport.findRepeatableAnnotations(
|
||||
method.reflect(), SelectProvider.class);
|
||||
final List<UpdateProvider> updateProviders =
|
||||
AnnotationSupport.findRepeatableAnnotations(
|
||||
method.reflect(), UpdateProvider.class);
|
||||
final List<InsertProvider> insertProviders =
|
||||
AnnotationSupport.findRepeatableAnnotations(
|
||||
method.reflect(), InsertProvider.class);
|
||||
final List<DeleteProvider> deleteProviders =
|
||||
AnnotationSupport.findRepeatableAnnotations(
|
||||
method.reflect(), DeleteProvider.class);
|
||||
selectProviders.stream()
|
||||
.map(wrap(a -> executeStaticProviderMethod(a.type(), a.method())))
|
||||
.ifPresent(values::add);
|
||||
updateProviderAnnotation
|
||||
.forEach(values::add);
|
||||
updateProviders.stream()
|
||||
.map(wrap(a -> executeStaticProviderMethod(a.type(), a.method())))
|
||||
.ifPresent(values::add);
|
||||
insertProviderAnnotation
|
||||
.forEach(values::add);
|
||||
insertProviders.stream()
|
||||
.map(wrap(a -> executeStaticProviderMethod(a.type(), a.method())))
|
||||
.ifPresent(values::add);
|
||||
deleteProviderAnnotation
|
||||
.forEach(values::add);
|
||||
deleteProviders.stream()
|
||||
.map(wrap(a -> executeStaticProviderMethod(a.type(), a.method())))
|
||||
.ifPresent(values::add);
|
||||
.forEach(values::add);
|
||||
return values;
|
||||
});
|
||||
|
||||
|
@ -602,11 +611,12 @@ class ArchitectureTest {
|
|||
for (JavaMethod method : javaClass.getAllMethods()) {
|
||||
List<String> sqlStrings = getSqlStringsFromMethod.apply(method);
|
||||
|
||||
if (sqlStrings.isEmpty()
|
||||
&& method.tryGetAnnotationOfType(SelectProvider.class).isEmpty()) {
|
||||
if (sqlStrings.isEmpty()) {
|
||||
String message =
|
||||
String.format(
|
||||
"Method '%s#%s' does not contain any MyBatis SQL annotation",
|
||||
"Could not extract SQL Statement from '%s#%s'. "
|
||||
+ "Maybe an unsupported MyBatis SQL annotation is used "
|
||||
+ "or no annotation is present?",
|
||||
javaClass.getName(), method.getName());
|
||||
events.add(SimpleConditionEvent.violated(javaClass, message));
|
||||
}
|
||||
|
|
|
@ -83,6 +83,12 @@
|
|||
<version>${version.db2}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc8</artifactId>
|
||||
<version>${version.oracle}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jcl-over-slf4j</artifactId>
|
||||
|
|
|
@ -519,8 +519,7 @@ public class TaskanaEngineConfiguration {
|
|||
}
|
||||
|
||||
try (Connection connection = dataSource.getConnection()) {
|
||||
String databaseProductId =
|
||||
DB.getDatabaseProductId(connection.getMetaData().getDatabaseProductName());
|
||||
String databaseProductId = DB.getDatabaseProductId(connection);
|
||||
if (DB.isPostgres(databaseProductId)) {
|
||||
this.schemaName = this.schemaName.toLowerCase();
|
||||
} else {
|
||||
|
|
|
@ -492,7 +492,9 @@ public class ClassificationServiceImpl implements ClassificationService {
|
|||
}
|
||||
|
||||
private boolean isReferentialIntegrityConstraintViolation(PersistenceException e) {
|
||||
return isH2OrPostgresIntegrityConstraintViolation(e) || isDb2IntegrityConstraintViolation(e);
|
||||
return isH2OrPostgresIntegrityConstraintViolation(e)
|
||||
|| isDb2IntegrityConstraintViolation(e)
|
||||
|| isOracleIntegrityConstraintViolation(e);
|
||||
}
|
||||
|
||||
private boolean isDb2IntegrityConstraintViolation(PersistenceException e) {
|
||||
|
@ -500,6 +502,10 @@ public class ClassificationServiceImpl implements ClassificationService {
|
|||
&& e.getMessage().contains("-532");
|
||||
}
|
||||
|
||||
private boolean isOracleIntegrityConstraintViolation(PersistenceException e) {
|
||||
return e.getCause() instanceof SQLIntegrityConstraintViolationException;
|
||||
}
|
||||
|
||||
private boolean isH2OrPostgresIntegrityConstraintViolation(PersistenceException e) {
|
||||
return e.getCause() instanceof SQLException
|
||||
&& ((SQLException) e.getCause()).getSQLState().equals("23503");
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package pro.taskana.common.internal;
|
||||
|
||||
import static pro.taskana.common.internal.util.SqlProviderUtil.CLOSING_SCRIPT_TAG;
|
||||
import static pro.taskana.common.internal.util.SqlProviderUtil.OPENING_SCRIPT_TAG;
|
||||
|
||||
import java.util.Map;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
@ -8,24 +11,46 @@ import org.apache.ibatis.annotations.Update;
|
|||
public interface ConfigurationMapper {
|
||||
|
||||
@Select(
|
||||
"<script> SELECT ENFORCE_SECURITY FROM CONFIGURATION "
|
||||
databaseId = "oracle",
|
||||
value =
|
||||
OPENING_SCRIPT_TAG
|
||||
+ "SELECT c1.ENFORCE_SECURITY FROM CONFIGURATION c1 "
|
||||
+ "WHERE c1.rowid = (SELECT c2.rowid FROM CONFIGURATION c2 FETCH FIRST 1 ROWS ONLY) "
|
||||
+ "<if test='lockForUpdate == true'>"
|
||||
+ "FOR UPDATE"
|
||||
+ "</if>"
|
||||
+ CLOSING_SCRIPT_TAG)
|
||||
@Select(
|
||||
OPENING_SCRIPT_TAG
|
||||
+ "SELECT ENFORCE_SECURITY FROM CONFIGURATION "
|
||||
+ "<if test='lockForUpdate == true'>"
|
||||
+ "FETCH FIRST ROW ONLY FOR UPDATE "
|
||||
+ "<if test=\"_databaseId == 'db2'\">WITH RS USE AND KEEP UPDATE LOCKS </if> "
|
||||
+ "</if>"
|
||||
+ "</script>")
|
||||
+ CLOSING_SCRIPT_TAG)
|
||||
Boolean isSecurityEnabled(boolean lockForUpdate);
|
||||
|
||||
@Update("UPDATE CONFIGURATION SET ENFORCE_SECURITY = #{securityEnabled} WHERE NAME = 'MASTER'")
|
||||
void setSecurityEnabled(@Param("securityEnabled") boolean securityEnabled);
|
||||
|
||||
@Select(
|
||||
"<script> SELECT CUSTOM_ATTRIBUTES FROM CONFIGURATION "
|
||||
databaseId = "oracle",
|
||||
value =
|
||||
OPENING_SCRIPT_TAG
|
||||
+ "SELECT c1.CUSTOM_ATTRIBUTES FROM CONFIGURATION c1 "
|
||||
+ "WHERE c1.rowid = (SELECT c2.rowid FROM CONFIGURATION c2 FETCH FIRST 1 ROWS ONLY) "
|
||||
+ "<if test='lockForUpdate == true'>"
|
||||
+ "FOR UPDATE"
|
||||
+ "</if>"
|
||||
+ CLOSING_SCRIPT_TAG)
|
||||
@Select(
|
||||
OPENING_SCRIPT_TAG
|
||||
+ "SELECT CUSTOM_ATTRIBUTES FROM CONFIGURATION "
|
||||
+ "<if test='lockForUpdate == true'>"
|
||||
+ "FETCH FIRST ROW ONLY FOR UPDATE"
|
||||
+ "<if test=\"_databaseId == 'db2'\">WITH RS USE AND KEEP UPDATE LOCKS </if> "
|
||||
+ "</if>"
|
||||
+ "</script>")
|
||||
+ CLOSING_SCRIPT_TAG)
|
||||
Map<String, Object> getAllCustomAttributes(boolean lockForUpdate);
|
||||
|
||||
@Update("UPDATE CONFIGURATION SET CUSTOM_ATTRIBUTES = #{customAttributes} WHERE NAME = 'MASTER'")
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package pro.taskana.common.internal;
|
||||
|
||||
import static pro.taskana.common.internal.util.SqlProviderUtil.CLOSING_SCRIPT_TAG;
|
||||
import static pro.taskana.common.internal.util.SqlProviderUtil.OPENING_SCRIPT_TAG;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -18,11 +21,11 @@ import pro.taskana.common.internal.persistence.MapTypeHandler;
|
|||
public interface JobMapper {
|
||||
|
||||
@Insert(
|
||||
"<script>"
|
||||
OPENING_SCRIPT_TAG
|
||||
+ "INSERT INTO SCHEDULED_JOB (JOB_ID, PRIORITY, CREATED, DUE, STATE, LOCKED_BY, LOCK_EXPIRES, TYPE, RETRY_COUNT, ARGUMENTS) "
|
||||
+ "VALUES ("
|
||||
+ "<choose>"
|
||||
+ "<when test=\"_databaseId == 'db2'\">"
|
||||
+ "<when test=\"_databaseId == 'db2' || _databaseId == 'oracle'\">"
|
||||
+ "SCHEDULED_JOB_SEQ.NEXTVAL"
|
||||
+ "</when>"
|
||||
+ "<otherwise>"
|
||||
|
@ -30,18 +33,19 @@ public interface JobMapper {
|
|||
+ "</otherwise>"
|
||||
+ "</choose>"
|
||||
+ ", #{job.priority}, #{job.created}, #{job.due}, #{job.state}, #{job.lockedBy}, #{job.lockExpires}, #{job.type}, #{job.retryCount}, #{job.arguments,javaType=java.util.Map,typeHandler=pro.taskana.common.internal.persistence.MapTypeHandler} )"
|
||||
+ "</script>")
|
||||
+ CLOSING_SCRIPT_TAG)
|
||||
@Result(property = "jobId", column = "JOB_ID")
|
||||
Integer insertJob(@Param("job") ScheduledJob job);
|
||||
|
||||
@Select(
|
||||
"<script> SELECT JOB_ID, PRIORITY, CREATED, DUE, STATE, LOCKED_BY, LOCK_EXPIRES, TYPE, RETRY_COUNT, ARGUMENTS "
|
||||
OPENING_SCRIPT_TAG
|
||||
+ "SELECT JOB_ID, PRIORITY, CREATED, DUE, STATE, LOCKED_BY, LOCK_EXPIRES, TYPE, RETRY_COUNT, ARGUMENTS "
|
||||
+ "FROM SCHEDULED_JOB "
|
||||
+ "WHERE STATE IN ( 'READY') AND (DUE is null OR DUE < #{now}) AND (LOCK_EXPIRES is null OR LOCK_EXPIRES < #{now}) AND RETRY_COUNT > 0 "
|
||||
+ "ORDER BY PRIORITY DESC "
|
||||
+ "FOR UPDATE"
|
||||
+ "<if test=\"_databaseId == 'db2'\">WITH RS USE AND KEEP UPDATE LOCKS </if> "
|
||||
+ "</script>")
|
||||
+ CLOSING_SCRIPT_TAG)
|
||||
@Result(property = "jobId", column = "JOB_ID")
|
||||
@Result(property = "priority", column = "PRIORITY")
|
||||
@Result(property = "created", column = "CREATED")
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
package pro.taskana.common.internal;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import org.apache.ibatis.session.Configuration;
|
||||
import org.apache.ibatis.session.ExecutorType;
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import org.apache.ibatis.session.TransactionIsolationLevel;
|
||||
import org.apache.ibatis.session.defaults.DefaultSqlSessionFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* MyBatis SqlSession Factory for Oracle Databases.
|
||||
*
|
||||
* <p>After Connection the SQL session is alterd with SORT and COMP Settings for Oracle. PLease have
|
||||
* a look at alterSession Method
|
||||
*/
|
||||
public class OracleSqlSessionFactory extends DefaultSqlSessionFactory {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(OracleSqlSessionFactory.class);
|
||||
|
||||
public OracleSqlSessionFactory(Configuration configuration) {
|
||||
super(configuration);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlSession openSession() {
|
||||
SqlSession sqlSession = super.openSession();
|
||||
alterSession(sqlSession);
|
||||
return sqlSession;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlSession openSession(boolean autoCommit) {
|
||||
SqlSession session = super.openSession(autoCommit);
|
||||
alterSession(session);
|
||||
return session;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlSession openSession(Connection connection) {
|
||||
SqlSession session = super.openSession(connection);
|
||||
alterSession(session);
|
||||
return session;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlSession openSession(ExecutorType execType) {
|
||||
SqlSession session = super.openSession(execType);
|
||||
alterSession(session);
|
||||
return session;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlSession openSession(ExecutorType execType, boolean autoCommit) {
|
||||
SqlSession session = super.openSession(execType, autoCommit);
|
||||
alterSession(session);
|
||||
return session;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlSession openSession(ExecutorType execType, Connection connection) {
|
||||
SqlSession session = super.openSession(execType, connection);
|
||||
alterSession(session);
|
||||
return session;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlSession openSession(ExecutorType execType, TransactionIsolationLevel level) {
|
||||
SqlSession session = super.openSession(execType, level);
|
||||
alterSession(session);
|
||||
return session;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlSession openSession(TransactionIsolationLevel level) {
|
||||
SqlSession session = super.openSession(level);
|
||||
alterSession(session);
|
||||
return session;
|
||||
}
|
||||
|
||||
private void alterSession(SqlSession session) {
|
||||
try (Statement statement = session.getConnection().createStatement()) {
|
||||
statement.addBatch("ALTER SESSION SET NLS_COMP = LINGUISTIC");
|
||||
// https://docs.oracle.com/cd/E11882_01/server.112/e10729/ch5lingsort.htm#NLSPG293
|
||||
statement.addBatch("ALTER SESSION SET NLS_SORT = BINARY_CI");
|
||||
statement.executeBatch();
|
||||
LOGGER.debug("Altered newly created session parameters.");
|
||||
} catch (SQLException e) {
|
||||
LOGGER.error("Alter session failed!", e);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -46,6 +46,7 @@ import pro.taskana.common.internal.configuration.DB;
|
|||
import pro.taskana.common.internal.configuration.DbSchemaCreator;
|
||||
import pro.taskana.common.internal.persistence.InstantTypeHandler;
|
||||
import pro.taskana.common.internal.persistence.MapTypeHandler;
|
||||
import pro.taskana.common.internal.persistence.StringTypeHandler;
|
||||
import pro.taskana.common.internal.security.CurrentUserContextImpl;
|
||||
import pro.taskana.monitor.api.MonitorService;
|
||||
import pro.taskana.monitor.internal.MonitorMapper;
|
||||
|
@ -335,10 +336,10 @@ public class TaskanaEngineImpl implements TaskanaEngine {
|
|||
Configuration configuration = new Configuration(environment);
|
||||
|
||||
// set databaseId
|
||||
String databaseProductName;
|
||||
try (Connection con = taskanaEngineConfiguration.getDatasource().getConnection()) {
|
||||
String databaseProductName = con.getMetaData().getDatabaseProductName();
|
||||
String databaseProductId = DB.getDatabaseProductId(databaseProductName);
|
||||
configuration.setDatabaseId(databaseProductId);
|
||||
databaseProductName = DB.getDatabaseProductName(con);
|
||||
configuration.setDatabaseId(DB.getDatabaseProductId(con));
|
||||
|
||||
} catch (SQLException e) {
|
||||
throw new SystemException(
|
||||
|
@ -348,6 +349,13 @@ public class TaskanaEngineImpl implements TaskanaEngine {
|
|||
}
|
||||
|
||||
// register type handlers
|
||||
if (DB.isOracleDb(databaseProductName)) {
|
||||
// Use NULL instead of OTHER when jdbcType is not specified for null values,
|
||||
// otherwise oracle driver will chunck on null values
|
||||
configuration.setJdbcTypeForNull(JdbcType.NULL);
|
||||
configuration.getTypeHandlerRegistry().register(String.class, new StringTypeHandler());
|
||||
}
|
||||
|
||||
configuration.getTypeHandlerRegistry().register(new MapTypeHandler());
|
||||
configuration.getTypeHandlerRegistry().register(Instant.class, new InstantTypeHandler());
|
||||
configuration.getTypeHandlerRegistry().register(JdbcType.TIMESTAMP, new InstantTypeHandler());
|
||||
|
@ -368,7 +376,20 @@ public class TaskanaEngineImpl implements TaskanaEngine {
|
|||
configuration.addMapper(JobMapper.class);
|
||||
configuration.addMapper(UserMapper.class);
|
||||
configuration.addMapper(ConfigurationMapper.class);
|
||||
SqlSessionFactory localSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
|
||||
|
||||
SqlSessionFactory localSessionFactory;
|
||||
if (DB.isOracleDb(databaseProductName)) {
|
||||
localSessionFactory =
|
||||
new SqlSessionFactoryBuilder() {
|
||||
@Override
|
||||
public SqlSessionFactory build(Configuration config) {
|
||||
return new OracleSqlSessionFactory(config);
|
||||
}
|
||||
}.build(configuration);
|
||||
} else {
|
||||
localSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
|
||||
}
|
||||
|
||||
return SqlSessionManager.newInstance(localSessionFactory);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,13 +25,18 @@ public class MonitorMapperSqlProvider {
|
|||
+ "SELECT T.WORKBASKET_KEY, (DAYS(T.${timestamp}) - DAYS(CAST(#{now} as TIMESTAMP))) "
|
||||
+ "as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'oracle'\">"
|
||||
+ "SELECT T.WORKBASKET_KEY, (TRUNC(T.${timestamp}) - TRUNC(CAST(#{now} as TIMESTAMP)))"
|
||||
+ " as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">"
|
||||
+ "SELECT T.WORKBASKET_KEY, DATEDIFF('DAY', #{now}, T.${timestamp}) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'postgres'\">"
|
||||
+ "SELECT T.WORKBASKET_KEY, DATE_PART('DAY', T.${timestamp} - #{now}) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "FROM TASK AS T LEFT JOIN ATTACHMENT AS A ON T.ID = A.TASK_ID "
|
||||
+ "FROM TASK T "
|
||||
+ "LEFT JOIN ATTACHMENT A ON T.ID = A.TASK_ID "
|
||||
+ OPENING_WHERE_TAG
|
||||
+ taskWhereStatements()
|
||||
+ "<if test=\"report.combinedClassificationFilter != null\">"
|
||||
|
@ -45,7 +50,7 @@ public class MonitorMapperSqlProvider {
|
|||
+ "</if>"
|
||||
+ "AND T.${timestamp} IS NOT NULL "
|
||||
+ CLOSING_WHERE_TAG
|
||||
+ ") AS B "
|
||||
+ ") B "
|
||||
+ "GROUP BY B.WORKBASKET_KEY, B.AGE_IN_DAYS"
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
}
|
||||
|
@ -59,6 +64,9 @@ public class MonitorMapperSqlProvider {
|
|||
+ "<if test=\"_databaseId == 'db2'\">"
|
||||
+ "(DAYS(${timestamp}) - DAYS(CAST(#{now} as TIMESTAMP))) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'oracle'\">"
|
||||
+ "(TRUNC(${timestamp}) - TRUNC(CAST(#{now} as TIMESTAMP))) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">"
|
||||
+ "DATEDIFF('DAY', #{now}, ${timestamp}) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
|
@ -70,7 +78,7 @@ public class MonitorMapperSqlProvider {
|
|||
+ taskWhereStatements()
|
||||
+ "AND ${timestamp} IS NOT NULL "
|
||||
+ CLOSING_WHERE_TAG
|
||||
+ ") AS B "
|
||||
+ ") B "
|
||||
+ "GROUP BY B.CLASSIFICATION_CATEGORY, B.AGE_IN_DAYS "
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
}
|
||||
|
@ -84,6 +92,9 @@ public class MonitorMapperSqlProvider {
|
|||
+ "<if test=\"_databaseId == 'db2'\">"
|
||||
+ "(DAYS(${timestamp}) - DAYS(CAST(#{now} as TIMESTAMP))) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'oracle'\">"
|
||||
+ "(TRUNC(T.${timestamp}) - TRUNC(CAST(#{now} as TIMESTAMP))) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">"
|
||||
+ "DATEDIFF('DAY', #{now}, ${timestamp}) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
|
@ -95,7 +106,7 @@ public class MonitorMapperSqlProvider {
|
|||
+ taskWhereStatements()
|
||||
+ "AND ${timestamp} IS NOT NULL "
|
||||
+ CLOSING_WHERE_TAG
|
||||
+ ") AS B "
|
||||
+ ") B "
|
||||
+ "GROUP BY B.CLASSIFICATION_KEY, B.AGE_IN_DAYS "
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
}
|
||||
|
@ -110,18 +121,22 @@ public class MonitorMapperSqlProvider {
|
|||
+ "<if test=\"_databaseId == 'db2'\">"
|
||||
+ "(DAYS(T.${timestamp}) - DAYS(CAST(#{now} as TIMESTAMP))) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'oracle'\">"
|
||||
+ "(TRUNC(T.${timestamp}) - TRUNC(CAST(#{now} as TIMESTAMP))) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">"
|
||||
+ "DATEDIFF('DAY', #{now}, T.${timestamp}) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'postgres'\">"
|
||||
+ "DATE_PART('DAY', T.${timestamp} - #{now}) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "FROM TASK AS T LEFT JOIN ATTACHMENT AS A ON T.ID = A.TASK_ID "
|
||||
+ "FROM TASK T "
|
||||
+ "LEFT JOIN ATTACHMENT A ON T.ID = A.TASK_ID "
|
||||
+ OPENING_WHERE_TAG
|
||||
+ taskWhereStatements()
|
||||
+ "AND T.${timestamp} IS NOT NULL "
|
||||
+ CLOSING_WHERE_TAG
|
||||
+ ") AS B "
|
||||
+ ") B "
|
||||
+ "GROUP BY B.TASK_CLASSIFICATION_KEY, B.ATTACHMENT_CLASSIFICATION_KEY, B.AGE_IN_DAYS "
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
}
|
||||
|
@ -134,6 +149,9 @@ public class MonitorMapperSqlProvider {
|
|||
+ "<if test=\"_databaseId == 'db2'\">"
|
||||
+ "(DAYS(${timestamp}) - DAYS(CAST(#{now} as TIMESTAMP))) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'oracle'\">"
|
||||
+ "(TRUNC(T.${timestamp}) - TRUNC(CAST(#{now} as TIMESTAMP))) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">"
|
||||
+ "DATEDIFF('DAY', #{now}, ${timestamp}) as AGE_IN_DAYS "
|
||||
+ "</if> "
|
||||
|
@ -145,7 +163,7 @@ public class MonitorMapperSqlProvider {
|
|||
+ taskWhereStatements()
|
||||
+ "AND ${timestamp} IS NOT NULL "
|
||||
+ CLOSING_WHERE_TAG
|
||||
+ ") AS B "
|
||||
+ ") B "
|
||||
+ "GROUP BY B.CUSTOM_FIELD, B.AGE_IN_DAYS "
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
}
|
||||
|
@ -176,10 +194,17 @@ public class MonitorMapperSqlProvider {
|
|||
+ "</if>"
|
||||
+ "</if>"
|
||||
+ "<if test=\"_databaseId == 'db2'\">"
|
||||
+ "#{selectedItem.upperAgeLimit} >= (DAYS(${timestamp})"
|
||||
+ " - DAYS(CAST(#{now} as TIMESTAMP))) AND "
|
||||
+ "#{selectedItem.lowerAgeLimit} <= (DAYS(${timestamp})"
|
||||
+ " - DAYS(CAST(#{now} as TIMESTAMP))) "
|
||||
+ "#{selectedItem.upperAgeLimit} >= (DAYS(${timestamp}) - DAYS(CAST(#{now} as TIMESTAMP)))"
|
||||
+ " AND "
|
||||
+ "#{selectedItem.lowerAgeLimit} <= (DAYS(${timestamp}) - DAYS(CAST(#{now} as TIMESTAMP"
|
||||
+ "))) "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'oracle'\">"
|
||||
+ "#{selectedItem.upperAgeLimit} >= (TRUNC(${timestamp}) - "
|
||||
+ "TRUNC(CAST(#{now} as TIMESTAMP))) "
|
||||
+ "AND "
|
||||
+ "#{selectedItem.lowerAgeLimit} <= (TRUNC(${timestamp}) - "
|
||||
+ "TRUNC(CAST(#{now} as TIMESTAMP))) "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">"
|
||||
+ "#{selectedItem.upperAgeLimit} >= DATEDIFF('DAY', #{now}, ${timestamp}) AND "
|
||||
|
@ -199,7 +224,7 @@ public class MonitorMapperSqlProvider {
|
|||
public static String getTasksCountByState() {
|
||||
return OPENING_SCRIPT_TAG
|
||||
+ "SELECT WORKBASKET_KEY, STATE, COUNT(STATE) as COUNT "
|
||||
+ "FROM TASK AS T"
|
||||
+ "FROM TASK T"
|
||||
+ OPENING_WHERE_TAG
|
||||
+ whereIn("domains", "DOMAIN")
|
||||
+ whereIn("states", "STATE")
|
||||
|
@ -227,6 +252,9 @@ public class MonitorMapperSqlProvider {
|
|||
+ "<if test=\"_databaseId == 'db2'\">"
|
||||
+ "(DAYS(T.${status}) - DAYS(CAST(#{now} as TIMESTAMP)))"
|
||||
+ "</if>"
|
||||
+ "<if test=\"_databaseId == 'oracle'\">"
|
||||
+ "(TRUNC(T.${status}) - TRUNC(CAST(#{now} as TIMESTAMP))) "
|
||||
+ "</if> "
|
||||
+ "<if test=\"_databaseId == 'h2'\">"
|
||||
+ "DATEDIFF('DAY', #{now}, T.${status})"
|
||||
+ "</if>"
|
||||
|
@ -234,14 +262,15 @@ public class MonitorMapperSqlProvider {
|
|||
+ "DATE_PART('DAY', T.${status} - #{now})"
|
||||
+ "</if>"
|
||||
+ " as AGE_IN_DAYS "
|
||||
+ "FROM TASK AS T INNER JOIN WORKBASKET AS W ON T.WORKBASKET_KEY=W.KEY "
|
||||
+ "FROM TASK T "
|
||||
+ "INNER JOIN WORKBASKET W ON T.WORKBASKET_KEY=W.KEY "
|
||||
+ OPENING_WHERE_TAG
|
||||
+ "<if test=\"status.name() == 'COMPLETED'\">"
|
||||
+ "T.COMPLETED IS NOT NULL "
|
||||
+ "</if>"
|
||||
+ taskWhereStatements()
|
||||
+ CLOSING_WHERE_TAG
|
||||
+ ") AS A "
|
||||
+ ") A "
|
||||
+ "GROUP BY A.AGE_IN_DAYS, A.ORG_LEVEL_1, A.ORG_LEVEL_2, A.ORG_LEVEL_3, A.ORG_LEVEL_4 "
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
}
|
||||
|
@ -272,8 +301,8 @@ public class MonitorMapperSqlProvider {
|
|||
public static String getTaskCountByPriority() {
|
||||
return OPENING_SCRIPT_TAG
|
||||
+ "SELECT T.WORKBASKET_KEY, T.PRIORITY, COUNT(T.PRIORITY) as COUNT "
|
||||
+ "FROM TASK as T "
|
||||
+ "INNER JOIN WORKBASKET as W ON W.ID = T.WORKBASKET_ID "
|
||||
+ "FROM TASK T "
|
||||
+ "INNER JOIN WORKBASKET W ON W.ID = T.WORKBASKET_ID "
|
||||
+ OPENING_WHERE_TAG
|
||||
+ taskWhereStatements()
|
||||
+ workbasketWhereStatements()
|
||||
|
|
|
@ -112,7 +112,7 @@ public interface AttachmentMapper {
|
|||
|
||||
@Select(
|
||||
"<script> SELECT DISTINCT t.ID, t.PLANNED FROM TASK t "
|
||||
+ "LEFT JOIN ATTACHMENT AS a on a.TASK_ID = t.ID"
|
||||
+ "LEFT JOIN ATTACHMENT a on a.TASK_ID = t.ID "
|
||||
+ "WHERE a.CLASSIFICATION_ID = #{classificationId} "
|
||||
+ "<if test=\"_databaseId == 'db2'\">with UR </if> "
|
||||
+ "</script>")
|
||||
|
|
|
@ -30,9 +30,9 @@ public class TaskCommentQuerySqlProvider {
|
|||
+ ", u.FULL_NAME"
|
||||
+ "</if>"
|
||||
+ "FROM TASK_COMMENT tc "
|
||||
+ "LEFT JOIN Task AS t ON tc.TASK_ID = t.ID "
|
||||
+ "LEFT JOIN Task t ON tc.TASK_ID = t.ID "
|
||||
+ "<if test=\"joinWithUserInfo\">"
|
||||
+ "LEFT JOIN USER_INFO AS u ON tc.CREATOR = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO u ON tc.CREATOR = u.USER_ID "
|
||||
+ "</if>"
|
||||
+ OPENING_WHERE_TAG
|
||||
+ checkForAuthorization()
|
||||
|
@ -49,7 +49,7 @@ public class TaskCommentQuerySqlProvider {
|
|||
return OPENING_SCRIPT_TAG
|
||||
+ "SELECT COUNT(tc.ID) "
|
||||
+ "FROM TASK_COMMENT tc "
|
||||
+ "LEFT JOIN Task AS t ON tc.TASK_ID = t.ID "
|
||||
+ "LEFT JOIN Task t ON tc.TASK_ID = t.ID "
|
||||
+ OPENING_WHERE_TAG
|
||||
+ checkForAuthorization()
|
||||
+ commonTaskCommentWhereStatement()
|
||||
|
@ -62,9 +62,9 @@ public class TaskCommentQuerySqlProvider {
|
|||
return OPENING_SCRIPT_TAG
|
||||
+ "SELECT DISTINCT ${queryColumnName} "
|
||||
+ "FROM TASK_COMMENT tc "
|
||||
+ "LEFT JOIN Task AS t ON tc.TASK_ID = t.ID "
|
||||
+ "LEFT JOIN Task t ON tc.TASK_ID = t.ID "
|
||||
+ "<if test=\"joinWithUserInfo\">"
|
||||
+ "LEFT JOIN USER_INFO AS u ON tc.CREATOR = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO u ON tc.CREATOR = u.USER_ID "
|
||||
+ "</if>"
|
||||
+ OPENING_WHERE_TAG
|
||||
+ checkForAuthorization()
|
||||
|
@ -106,10 +106,18 @@ public class TaskCommentQuerySqlProvider {
|
|||
return "<if test='accessIdIn != null'> AND t.WORKBASKET_ID IN ("
|
||||
+ "SELECT WID "
|
||||
+ "FROM ("
|
||||
+ "<choose>"
|
||||
+ "<when test=\"_databaseId == 'db2' || _databaseId == 'oracle'\">"
|
||||
+ "SELECT WORKBASKET_ID as WID, MAX(PERM_READ) as MAX_READ "
|
||||
+ "</when>"
|
||||
+ "<otherwise>"
|
||||
+ "SELECT WORKBASKET_ID as WID, MAX(PERM_READ::int) as MAX_READ "
|
||||
+ "FROM WORKBASKET_ACCESS_LIST AS s where ACCESS_ID IN "
|
||||
+ "</otherwise>"
|
||||
+ "</choose>"
|
||||
+ "FROM WORKBASKET_ACCESS_LIST s "
|
||||
+ "WHERE ACCESS_ID IN "
|
||||
+ "(<foreach item='item' collection='accessIdIn' separator=',' >#{item}</foreach>) "
|
||||
+ "GROUP by WORKBASKET_ID) as f "
|
||||
+ "GROUP by WORKBASKET_ID) f "
|
||||
+ "WHERE MAX_READ = 1) "
|
||||
+ "</if>";
|
||||
}
|
||||
|
|
|
@ -289,15 +289,15 @@ public interface TaskMapper {
|
|||
+ "SELECT t.ID, t.WORKBASKET_ID FROM TASK t WHERE t.ID IN(<foreach item='taskSummary' collection='taskSummaries' separator=',' >#{taskSummary.taskId}</foreach>)"
|
||||
+ "AND NOT (t.WORKBASKET_ID IN ( "
|
||||
+ "<choose>"
|
||||
+ "<when test=\"_databaseId == 'db2'\">"
|
||||
+ "SELECT WID from (SELECT WORKBASKET_ID as WID, MAX(PERM_READ) as MAX_READ FROM WORKBASKET_ACCESS_LIST AS s where "
|
||||
+ "<when test=\"_databaseId == 'db2' || _databaseId == 'oracle'\">"
|
||||
+ "SELECT WID from (SELECT WORKBASKET_ID as WID, MAX(PERM_READ) as MAX_READ FROM WORKBASKET_ACCESS_LIST s where "
|
||||
+ "</when>"
|
||||
+ "<otherwise>"
|
||||
+ "SELECT WID from (SELECT WORKBASKET_ID as WID, MAX(PERM_READ::int) as MAX_READ FROM WORKBASKET_ACCESS_LIST AS s where "
|
||||
+ "SELECT WID from (SELECT WORKBASKET_ID as WID, MAX(PERM_READ::int) as MAX_READ FROM WORKBASKET_ACCESS_LIST s where "
|
||||
+ "</otherwise>"
|
||||
+ "</choose>"
|
||||
+ "ACCESS_ID IN (<foreach item='item' collection='accessIds' separator=',' >#{item}</foreach>) "
|
||||
+ "group by WORKBASKET_ID ) AS f where max_read = 1 ))"
|
||||
+ "group by WORKBASKET_ID ) f WHERE max_read = 1 )) "
|
||||
+ "</otherwise>"
|
||||
+ "</choose>"
|
||||
+ "</script>")
|
||||
|
|
|
@ -41,6 +41,8 @@ public class TaskQueryImpl implements TaskQuery {
|
|||
"pro.taskana.task.internal.TaskQueryMapper.queryTaskSummaries";
|
||||
private static final String LINK_TO_MAPPER_DB2 =
|
||||
"pro.taskana.task.internal.TaskQueryMapper.queryTaskSummariesDb2";
|
||||
private static final String LINK_TO_MAPPER_ORACLE =
|
||||
"pro.taskana.task.internal.TaskQueryMapper.queryTaskSummariesOracle";
|
||||
private static final String LINK_TO_COUNTER =
|
||||
"pro.taskana.task.internal.TaskQueryMapper.countQueryTasks";
|
||||
private static final String LINK_TO_COUNTER_DB2 =
|
||||
|
@ -2021,6 +2023,8 @@ public class TaskQueryImpl implements TaskQuery {
|
|||
private String getLinkToMapperScript() {
|
||||
if (DB.isDb2(getDatabaseId()) && !selectAndClaim) {
|
||||
return LINK_TO_MAPPER_DB2;
|
||||
} else if (selectAndClaim && DB.isOracle(getDatabaseId())) {
|
||||
return LINK_TO_MAPPER_ORACLE;
|
||||
} else {
|
||||
return LINK_TO_MAPPER;
|
||||
}
|
||||
|
|
|
@ -131,6 +131,67 @@ public interface TaskQueryMapper {
|
|||
@Result(property = "customInt8", column = "CUSTOM_INT_8")
|
||||
List<TaskSummaryImpl> queryTaskSummariesDb2(TaskQueryImpl taskQuery);
|
||||
|
||||
@SelectProvider(type = TaskQuerySqlProvider.class, method = "queryTaskSummariesOracle")
|
||||
@Result(property = "id", column = "ID")
|
||||
@Result(property = "externalId", column = "EXTERNAL_ID")
|
||||
@Result(property = "created", column = "CREATED")
|
||||
@Result(property = "claimed", column = "CLAIMED")
|
||||
@Result(property = "completed", column = "COMPLETED")
|
||||
@Result(property = "modified", column = "MODIFIED")
|
||||
@Result(property = "planned", column = "PLANNED")
|
||||
@Result(property = "received", column = "RECEIVED")
|
||||
@Result(property = "due", column = "DUE")
|
||||
@Result(property = "name", column = "NAME")
|
||||
@Result(property = "creator", column = "CREATOR")
|
||||
@Result(property = "note", column = "NOTE")
|
||||
@Result(property = "description", column = "DESCRIPTION")
|
||||
@Result(property = "priority", column = "PRIORITY")
|
||||
@Result(property = "manualPriority", column = "MANUAL_PRIORITY")
|
||||
@Result(property = "state", column = "STATE")
|
||||
@Result(property = "workbasketSummaryImpl.domain", column = "DOMAIN")
|
||||
@Result(property = "workbasketSummaryImpl.key", column = "WORKBASKET_KEY")
|
||||
@Result(property = "workbasketSummaryImpl.id", column = "WORKBASKET_ID")
|
||||
@Result(property = "classificationSummaryImpl.key", column = "CLASSIFICATION_KEY")
|
||||
@Result(property = "classificationSummaryImpl.id", column = "CLASSIFICATION_ID")
|
||||
@Result(property = "classificationSummaryImpl.domain", column = "DOMAIN")
|
||||
@Result(property = "classificationSummaryImpl.category", column = "CLASSIFICATION_CATEGORY")
|
||||
@Result(property = "businessProcessId", column = "BUSINESS_PROCESS_ID")
|
||||
@Result(property = "parentBusinessProcessId", column = "PARENT_BUSINESS_PROCESS_ID")
|
||||
@Result(property = "owner", column = "OWNER")
|
||||
@Result(property = "ownerLongName", column = "ULONG_NAME")
|
||||
@Result(property = "primaryObjRefImpl.company", column = "POR_COMPANY")
|
||||
@Result(property = "primaryObjRefImpl.system", column = "POR_SYSTEM")
|
||||
@Result(property = "primaryObjRefImpl.systemInstance", column = "POR_INSTANCE")
|
||||
@Result(property = "primaryObjRefImpl.type", column = "POR_TYPE")
|
||||
@Result(property = "primaryObjRefImpl.value", column = "POR_VALUE")
|
||||
@Result(property = "isRead", column = "IS_READ")
|
||||
@Result(property = "isTransferred", column = "IS_TRANSFERRED")
|
||||
@Result(property = "custom1", column = "CUSTOM_1")
|
||||
@Result(property = "custom2", column = "CUSTOM_2")
|
||||
@Result(property = "custom3", column = "CUSTOM_3")
|
||||
@Result(property = "custom4", column = "CUSTOM_4")
|
||||
@Result(property = "custom5", column = "CUSTOM_5")
|
||||
@Result(property = "custom6", column = "CUSTOM_6")
|
||||
@Result(property = "custom7", column = "CUSTOM_7")
|
||||
@Result(property = "custom8", column = "CUSTOM_8")
|
||||
@Result(property = "custom9", column = "CUSTOM_9")
|
||||
@Result(property = "custom10", column = "CUSTOM_10")
|
||||
@Result(property = "custom11", column = "CUSTOM_11")
|
||||
@Result(property = "custom12", column = "CUSTOM_12")
|
||||
@Result(property = "custom13", column = "CUSTOM_13")
|
||||
@Result(property = "custom14", column = "CUSTOM_14")
|
||||
@Result(property = "custom15", column = "CUSTOM_15")
|
||||
@Result(property = "custom16", column = "CUSTOM_16")
|
||||
@Result(property = "customInt1", column = "CUSTOM_INT_1")
|
||||
@Result(property = "customInt2", column = "CUSTOM_INT_2")
|
||||
@Result(property = "customInt3", column = "CUSTOM_INT_3")
|
||||
@Result(property = "customInt4", column = "CUSTOM_INT_4")
|
||||
@Result(property = "customInt5", column = "CUSTOM_INT_5")
|
||||
@Result(property = "customInt6", column = "CUSTOM_INT_6")
|
||||
@Result(property = "customInt7", column = "CUSTOM_INT_7")
|
||||
@Result(property = "customInt8", column = "CUSTOM_INT_8")
|
||||
List<TaskSummaryImpl> queryTaskSummariesOracle(TaskQueryImpl taskQuery);
|
||||
|
||||
@SelectProvider(type = TaskQuerySqlProvider.class, method = "countQueryTasks")
|
||||
Long countQueryTasks(TaskQueryImpl taskQuery);
|
||||
|
||||
|
|
|
@ -36,22 +36,22 @@ public class TaskQuerySqlProvider {
|
|||
+ "<if test=\"joinWithUserInfo\">, u.LONG_NAME </if>"
|
||||
+ "FROM TASK t "
|
||||
+ "<if test=\"joinWithAttachments\">"
|
||||
+ "LEFT JOIN ATTACHMENT AS a ON t.ID = a.TASK_ID "
|
||||
+ "LEFT JOIN ATTACHMENT a ON t.ID = a.TASK_ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithSecondaryObjectReferences\">"
|
||||
+ "LEFT JOIN OBJECT_REFERENCE AS o ON t.ID = o.TASK_ID "
|
||||
+ "LEFT JOIN OBJECT_REFERENCE o ON t.ID = o.TASK_ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithClassifications\">"
|
||||
+ "LEFT JOIN CLASSIFICATION AS c ON t.CLASSIFICATION_ID = c.ID "
|
||||
+ "LEFT JOIN CLASSIFICATION c ON t.CLASSIFICATION_ID = c.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithAttachmentClassifications\">"
|
||||
+ "LEFT JOIN CLASSIFICATION AS ac ON a.CLASSIFICATION_ID = ac.ID "
|
||||
+ "LEFT JOIN CLASSIFICATION ac ON a.CLASSIFICATION_ID = ac.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithWorkbaskets\">"
|
||||
+ "LEFT JOIN WORKBASKET AS w ON t.WORKBASKET_ID = w.ID "
|
||||
+ "LEFT JOIN WORKBASKET w ON t.WORKBASKET_ID = w.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithUserInfo\">"
|
||||
+ "LEFT JOIN USER_INFO AS u ON t.owner = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO u ON t.owner = u.USER_ID "
|
||||
+ "</if>"
|
||||
+ OPENING_WHERE_TAG
|
||||
+ checkForAuthorization()
|
||||
|
@ -91,16 +91,16 @@ public class TaskQuerySqlProvider {
|
|||
+ "LEFT JOIN OBJECT_REFERENCE o ON t.ID = o.TASK_ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithClassifications\">"
|
||||
+ "LEFT JOIN CLASSIFICATION AS c ON t.CLASSIFICATION_ID = c.ID "
|
||||
+ "LEFT JOIN CLASSIFICATION c ON t.CLASSIFICATION_ID = c.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithAttachmentClassifications\">"
|
||||
+ "LEFT JOIN CLASSIFICATION AS ac ON a.CLASSIFICATION_ID = ac.ID "
|
||||
+ "LEFT JOIN CLASSIFICATION ac ON a.CLASSIFICATION_ID = ac.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithWorkbaskets\">"
|
||||
+ "LEFT JOIN WORKBASKET AS w ON t.WORKBASKET_ID = w.ID "
|
||||
+ "LEFT JOIN WORKBASKET w ON t.WORKBASKET_ID = w.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithUserInfo\">"
|
||||
+ "LEFT JOIN USER_INFO AS u ON t.owner = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO u ON t.owner = u.USER_ID "
|
||||
+ "</if>"
|
||||
+ OPENING_WHERE_TAG
|
||||
+ commonTaskWhereStatement()
|
||||
|
@ -139,25 +139,79 @@ public class TaskQuerySqlProvider {
|
|||
+ CLOSING_SCRIPT_TAG;
|
||||
}
|
||||
|
||||
/**
|
||||
* you cant lock a view in oracle. the sql code `FETCH FIRST ROW ONLY` would create in oracle a
|
||||
* view therefore we must first select a rowid based on where criteria then we select everything
|
||||
* based on rowid and lock this rowid
|
||||
*
|
||||
* @return SELECT Statement for oracle claiming
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public static String queryTaskSummariesOracle() {
|
||||
return OPENING_SCRIPT_TAG
|
||||
+ "SELECT "
|
||||
+ commonSelectFieldsOracle()
|
||||
+ "<if test=\"addAttachmentColumnsToSelectClauseForOrdering\">"
|
||||
+ ", a2.CLASSIFICATION_ID, a2.CLASSIFICATION_KEY, a2.CHANNEL, a2.REF_VALUE, a2.RECEIVED"
|
||||
+ "</if>"
|
||||
+ "<if test=\"addClassificationNameToSelectClauseForOrdering\">, c2.NAME </if>"
|
||||
+ "<if test=\"addAttachmentClassificationNameToSelectClauseForOrdering\">, ac2.NAME </if>"
|
||||
+ "<if test=\"addWorkbasketNameToSelectClauseForOrdering\">, w2.NAME </if>"
|
||||
+ "<if test=\"joinWithUserInfo\">, u2.LONG_NAME </if>"
|
||||
+ "FROM TASK t2 "
|
||||
+ "<if test=\"joinWithAttachments\">LEFT JOIN ATTACHMENT a2 ON t2.ID = a2.TASK_ID </if>"
|
||||
+ "<if test=\"joinWithSecondaryObjectReferences\">LEFT JOIN OBJECT_REFERENCE o2 "
|
||||
+ "ON t2.ID = o2.TASK_ID </if>"
|
||||
+ "<if test=\"joinWithClassifications\">LEFT JOIN CLASSIFICATION c2 "
|
||||
+ "ON t2.CLASSIFICATION_ID = c2.ID </if>"
|
||||
+ "<if test=\"joinWithAttachmentClassifications\">LEFT JOIN CLASSIFICATION ac2 "
|
||||
+ "ON a2.CLASSIFICATION_ID = ac2.ID </if>"
|
||||
+ "<if test=\"joinWithWorkbaskets\">LEFT JOIN WORKBASKET w2 "
|
||||
+ "ON t2.WORKBASKET_ID = w2.ID </if>"
|
||||
+ "<if test=\"joinWithUserInfo\">LEFT JOIN USER_INFO u2 ON t2.owner = u2.USER_ID </if>"
|
||||
+ "WHERE t2.rowid = (SELECT <if test=\"useDistinctKeyword\">DISTINCT</if> t.rowid "
|
||||
+ "FROM TASK t "
|
||||
+ "<if test=\"joinWithAttachments\">LEFT JOIN ATTACHMENT a ON t.ID = a.TASK_ID </if>"
|
||||
+ "<if test=\"joinWithSecondaryObjectReferences\">LEFT JOIN OBJECT_REFERENCE o "
|
||||
+ "ON t.ID = o.TASK_ID </if>"
|
||||
+ "<if test=\"joinWithClassifications\">LEFT JOIN CLASSIFICATION c "
|
||||
+ "ON t.CLASSIFICATION_ID = c.ID </if>"
|
||||
+ "<if test=\"joinWithAttachmentClassifications\">LEFT JOIN CLASSIFICATION ac "
|
||||
+ "ON a.CLASSIFICATION_ID = ac.ID </if>"
|
||||
+ "<if test=\"joinWithWorkbaskets\">LEFT JOIN WORKBASKET w "
|
||||
+ "ON t.WORKBASKET_ID = w.ID </if>"
|
||||
+ "<if test=\"joinWithUserInfo\">LEFT JOIN USER_INFO u ON t.owner = u.USER_ID </if>"
|
||||
+ OPENING_WHERE_TAG
|
||||
+ commonTaskWhereStatement()
|
||||
+ "<if test='selectAndClaim == true'> AND t.STATE = 'READY' </if>"
|
||||
+ CLOSING_WHERE_TAG
|
||||
+ "<if test='!orderBy.isEmpty()'>"
|
||||
+ "ORDER BY <foreach item='item' collection='orderBy' separator=',' >${item}</foreach>"
|
||||
+ "</if> "
|
||||
+ "fetch first 1 rows only "
|
||||
+ ") FOR UPDATE"
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public static String countQueryTasks() {
|
||||
return OPENING_SCRIPT_TAG
|
||||
+ "SELECT COUNT( <if test=\"useDistinctKeyword\">DISTINCT</if> t.ID) "
|
||||
+ "FROM TASK t "
|
||||
+ "<if test=\"joinWithAttachments\">"
|
||||
+ "LEFT JOIN ATTACHMENT AS a ON t.ID = a.TASK_ID "
|
||||
+ "LEFT JOIN ATTACHMENT a ON t.ID = a.TASK_ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithSecondaryObjectReferences\">"
|
||||
+ "LEFT JOIN OBJECT_REFERENCE AS o ON t.ID = o.TASK_ID "
|
||||
+ "LEFT JOIN OBJECT_REFERENCE o ON t.ID = o.TASK_ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithClassifications\">"
|
||||
+ "LEFT JOIN CLASSIFICATION AS c ON t.CLASSIFICATION_ID = c.ID "
|
||||
+ "LEFT JOIN CLASSIFICATION c ON t.CLASSIFICATION_ID = c.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithAttachmentClassifications\">"
|
||||
+ "LEFT JOIN CLASSIFICATION AS ac ON a.CLASSIFICATION_ID = ac.ID "
|
||||
+ "LEFT JOIN CLASSIFICATION ac ON a.CLASSIFICATION_ID = ac.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithUserInfo\">"
|
||||
+ "LEFT JOIN USER_INFO AS u ON t.owner = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO u ON t.owner = u.USER_ID "
|
||||
+ "</if>"
|
||||
+ OPENING_WHERE_TAG
|
||||
+ checkForAuthorization()
|
||||
|
@ -173,19 +227,19 @@ public class TaskQuerySqlProvider {
|
|||
+ "SELECT <if test=\"useDistinctKeyword\">DISTINCT</if> "
|
||||
+ "t.ID, t.WORKBASKET_ID FROM TASK t "
|
||||
+ "<if test=\"joinWithAttachments\">"
|
||||
+ "LEFT JOIN ATTACHMENT AS a ON t.ID = a.TASK_ID "
|
||||
+ "LEFT JOIN ATTACHMENT a ON t.ID = a.TASK_ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithClassifications\">"
|
||||
+ "LEFT JOIN CLASSIFICATION AS c ON t.CLASSIFICATION_ID = c.ID "
|
||||
+ "LEFT JOIN CLASSIFICATION c ON t.CLASSIFICATION_ID = c.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithAttachmentClassifications\">"
|
||||
+ "LEFT JOIN CLASSIFICATION AS ac ON a.CLASSIFICATION_ID = ac.ID "
|
||||
+ "LEFT JOIN CLASSIFICATION ac ON a.CLASSIFICATION_ID = ac.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithSecondaryObjectReferences\">"
|
||||
+ "LEFT JOIN OBJECT_REFERENCE AS o ON t.ID = o.TASK_ID "
|
||||
+ "LEFT JOIN OBJECT_REFERENCE o ON t.ID = o.TASK_ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithUserInfo\">"
|
||||
+ "LEFT JOIN USER_INFO AS u ON t.owner = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO u ON t.owner = u.USER_ID "
|
||||
+ "</if>"
|
||||
+ OPENING_WHERE_TAG
|
||||
+ commonTaskWhereStatement()
|
||||
|
@ -215,19 +269,19 @@ public class TaskQuerySqlProvider {
|
|||
+ "<if test=\"joinWithUserInfo\">, u.LONG_NAME </if>"
|
||||
+ "FROM TASK t "
|
||||
+ "<if test=\"joinWithAttachments\">"
|
||||
+ "LEFT JOIN ATTACHMENT AS a ON t.ID = a.TASK_ID "
|
||||
+ "LEFT JOIN ATTACHMENT a ON t.ID = a.TASK_ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithClassifications\">"
|
||||
+ "LEFT JOIN CLASSIFICATION AS c ON t.CLASSIFICATION_ID = c.ID "
|
||||
+ "LEFT JOIN CLASSIFICATION c ON t.CLASSIFICATION_ID = c.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithAttachmentClassifications\">"
|
||||
+ "LEFT JOIN CLASSIFICATION AS ac ON a.CLASSIFICATION_ID = ac.ID "
|
||||
+ "LEFT JOIN CLASSIFICATION ac ON a.CLASSIFICATION_ID = ac.ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithSecondaryObjectReferences\">"
|
||||
+ "LEFT JOIN OBJECT_REFERENCE AS o ON t.ID = o.TASK_ID "
|
||||
+ "LEFT JOIN OBJECT_REFERENCE o ON t.ID = o.TASK_ID "
|
||||
+ "</if>"
|
||||
+ "<if test=\"joinWithUserInfo\">"
|
||||
+ "LEFT JOIN USER_INFO AS u ON t.owner = u.USER_ID "
|
||||
+ "LEFT JOIN USER_INFO u ON t.owner = u.USER_ID "
|
||||
+ "</if>"
|
||||
+ OPENING_WHERE_TAG
|
||||
+ checkForAuthorization()
|
||||
|
@ -282,6 +336,10 @@ public class TaskQuerySqlProvider {
|
|||
.collect(Collectors.joining(", "));
|
||||
}
|
||||
|
||||
private static String commonSelectFieldsOracle() {
|
||||
return commonSelectFields().replace("t.id", "t2.id").replace(", t", ", t2");
|
||||
}
|
||||
|
||||
private static String db2selectFields() {
|
||||
// needs to be the same order as the commonSelectFields (TaskQueryColumnValue)
|
||||
return "ID, EXTERNAL_ID, CREATED, CLAIMED, COMPLETED, MODIFIED, PLANNED, RECEIVED, DUE, NAME, "
|
||||
|
@ -307,10 +365,17 @@ public class TaskQuerySqlProvider {
|
|||
return "<if test='accessIdIn != null'> AND t.WORKBASKET_ID IN ("
|
||||
+ "SELECT WID "
|
||||
+ "FROM ("
|
||||
+ "<choose>"
|
||||
+ "<when test=\"_databaseId == 'db2' || _databaseId == 'oracle'\">"
|
||||
+ "SELECT WORKBASKET_ID as WID, MAX(PERM_READ) as MAX_READ "
|
||||
+ "</when>"
|
||||
+ "<otherwise>"
|
||||
+ "SELECT WORKBASKET_ID as WID, MAX(PERM_READ::int) as MAX_READ "
|
||||
+ "FROM WORKBASKET_ACCESS_LIST AS s where ACCESS_ID IN "
|
||||
+ "</otherwise>"
|
||||
+ "</choose>"
|
||||
+ "FROM WORKBASKET_ACCESS_LIST s where ACCESS_ID IN "
|
||||
+ "(<foreach item='item' collection='accessIdIn' separator=',' >#{item}</foreach>) "
|
||||
+ "GROUP by WORKBASKET_ID) as f "
|
||||
+ "GROUP by WORKBASKET_ID) f "
|
||||
+ "WHERE MAX_READ = 1) "
|
||||
+ "</if>";
|
||||
}
|
||||
|
|
|
@ -331,7 +331,10 @@ public class TaskServiceImpl implements TaskService {
|
|||
// primary key violation: "UC_EXTERNAL_ID_INDEX_2 ON TASKANA.TASK(EXTERNAL_ID) ...
|
||||
String msg = e.getMessage() != null ? e.getMessage().toLowerCase() : null;
|
||||
if (msg != null
|
||||
&& (msg.contains("violation") || msg.contains("violates") || msg.contains("verletzt"))
|
||||
&& (msg.contains("violation")
|
||||
|| msg.contains("violates")
|
||||
|| msg.contains("violated")
|
||||
|| msg.contains("verletzt"))
|
||||
&& msg.contains("external_id")) {
|
||||
throw new TaskAlreadyExistException(task.getExternalId());
|
||||
} else {
|
||||
|
|
|
@ -54,6 +54,10 @@ public interface UserMapper {
|
|||
@InsertProvider(type = UserMapperSqlProvider.class, method = "insert")
|
||||
void insert(User user);
|
||||
|
||||
@InsertProvider(
|
||||
type = UserMapperSqlProvider.class,
|
||||
method = "insertGroupsOracle",
|
||||
databaseId = "oracle")
|
||||
@InsertProvider(type = UserMapperSqlProvider.class, method = "insertGroups")
|
||||
void insertGroups(User user);
|
||||
|
||||
|
|
|
@ -48,14 +48,23 @@ public class UserMapperSqlProvider {
|
|||
|
||||
public static String insertGroups() {
|
||||
return OPENING_SCRIPT_TAG
|
||||
+ "INSERT INTO GROUP_INFO "
|
||||
+ "(USER_ID, GROUP_ID) VALUES "
|
||||
+ "INSERT INTO GROUP_INFO (USER_ID, GROUP_ID) VALUES "
|
||||
+ "<foreach item='group' collection='groups' open='(' separator='),(' close=')'>"
|
||||
+ "#{id}, #{group}"
|
||||
+ "</foreach> "
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
}
|
||||
|
||||
public static String insertGroupsOracle() {
|
||||
return OPENING_SCRIPT_TAG
|
||||
+ "INSERT ALL "
|
||||
+ "<foreach item='group' collection='groups' separator='\n'>"
|
||||
+ "INTO GROUP_INFO (USER_ID, GROUP_ID) VALUES ( #{id}, #{group} )"
|
||||
+ "</foreach> "
|
||||
+ "SELECT 1 FROM DUAL"
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
}
|
||||
|
||||
public static String update() {
|
||||
return "UPDATE USER_INFO "
|
||||
+ "SET FIRST_NAME = #{firstName}, "
|
||||
|
|
|
@ -56,8 +56,8 @@ public class WorkbasketAccessSqlProvider {
|
|||
+ "SELECT "
|
||||
+ "WBA.ID, WB.KEY, "
|
||||
+ commonSelectStatements()
|
||||
+ "FROM WORKBASKET_ACCESS_LIST AS WBA "
|
||||
+ "LEFT JOIN WORKBASKET AS WB ON WORKBASKET_ID = WB.ID "
|
||||
+ "FROM WORKBASKET_ACCESS_LIST WBA "
|
||||
+ "LEFT JOIN WORKBASKET WB ON WORKBASKET_ID = WB.ID "
|
||||
+ "WHERE WORKBASKET_ID = #{id} "
|
||||
+ DB2_WITH_UR
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
|
@ -68,8 +68,8 @@ public class WorkbasketAccessSqlProvider {
|
|||
+ "SELECT "
|
||||
+ "WBA.ID, WB.KEY, "
|
||||
+ commonSelectStatements()
|
||||
+ "FROM WORKBASKET_ACCESS_LIST AS WBA "
|
||||
+ "LEFT JOIN WORKBASKET AS WB ON WORKBASKET_ID = WB.ID "
|
||||
+ "FROM WORKBASKET_ACCESS_LIST WBA "
|
||||
+ "LEFT JOIN WORKBASKET WB ON WORKBASKET_ID = WB.ID "
|
||||
+ "WHERE ACCESS_ID = #{id} "
|
||||
+ DB2_WITH_UR
|
||||
+ CLOSING_SCRIPT_TAG;
|
||||
|
@ -104,7 +104,7 @@ public class WorkbasketAccessSqlProvider {
|
|||
public static String findByWorkbasketAndAccessId() {
|
||||
return OPENING_SCRIPT_TAG
|
||||
+ "<choose>"
|
||||
+ "<when test=\"_databaseId == 'db2'\">"
|
||||
+ "<when test=\"_databaseId == 'db2' || _databaseId == 'oracle'\">"
|
||||
+ "SELECT "
|
||||
+ getMaximumPermissionStatement(false)
|
||||
+ "</when>"
|
||||
|
@ -123,7 +123,7 @@ public class WorkbasketAccessSqlProvider {
|
|||
public static String findByWorkbasketKeyDomainAndAccessId() {
|
||||
return OPENING_SCRIPT_TAG
|
||||
+ "<choose>"
|
||||
+ "<when test=\"_databaseId == 'db2'\">"
|
||||
+ "<when test=\"_databaseId == 'db2' || _databaseId == 'oracle'\">"
|
||||
+ "SELECT "
|
||||
+ getMaximumPermissionStatement(false)
|
||||
+ "</when>"
|
||||
|
@ -156,12 +156,12 @@ public class WorkbasketAccessSqlProvider {
|
|||
.collect(Collectors.joining(", ", "", " "));
|
||||
}
|
||||
|
||||
private static String getMaximumPermissionStatement(boolean isNotDb2) {
|
||||
private static String getMaximumPermissionStatement(boolean isNotDb2AndNotOracle) {
|
||||
return PERMISSIONS.stream()
|
||||
.map(
|
||||
perm -> {
|
||||
String temp = "MAX(" + perm.getLeft();
|
||||
if (isNotDb2) {
|
||||
if (isNotDb2AndNotOracle) {
|
||||
temp += "::int";
|
||||
}
|
||||
temp += ") AS " + perm.getLeft();
|
||||
|
|
|
@ -18,7 +18,7 @@ public interface WorkbasketQueryMapper {
|
|||
+ "w.ID, w.KEY, w.NAME, w.DOMAIN, W.TYPE, w.DESCRIPTION, w.OWNER, w.CUSTOM_1, w.CUSTOM_2, w.CUSTOM_3, w.CUSTOM_4, w.ORG_LEVEL_1, w.ORG_LEVEL_2, w.ORG_LEVEL_3, w.ORG_LEVEL_4, w.MARKED_FOR_DELETION from WORKBASKET w "
|
||||
+ "<if test = 'joinWithAccessList'> "
|
||||
+ "<choose>"
|
||||
+ "<when test=\"_databaseId == 'db2'\">"
|
||||
+ "<when test=\"_databaseId == 'db2' || _databaseId == 'oracle'\">"
|
||||
+ "LEFT OUTER JOIN (select WORKBASKET_ID as WID, MAX(PERM_READ) as MAX_READ, MAX(PERM_OPEN) as MAX_OPEN, "
|
||||
+ "MAX(PERM_APPEND) as MAX_APPEND, MAX(PERM_TRANSFER) as MAX_TRANSFER, MAX(PERM_DISTRIBUTE) as MAX_DISTRIBUTE, MAX(PERM_CUSTOM_1) as MAX_CUSTOM_1, MAX(PERM_CUSTOM_2) as MAX_CUSTOM_2, "
|
||||
+ "MAX(PERM_CUSTOM_3) as MAX_CUSTOM_3, MAX(PERM_CUSTOM_4) as MAX_CUSTOM_4, MAX(PERM_CUSTOM_5) as MAX_CUSTOM_5, MAX(PERM_CUSTOM_6) as MAX_CUSTOM_6, MAX(PERM_CUSTOM_7) as MAX_CUSTOM_7, "
|
||||
|
@ -121,7 +121,8 @@ public interface WorkbasketQueryMapper {
|
|||
+ "SELECT "
|
||||
+ "WBA.ID, WORKBASKET_ID, WB.KEY, ACCESS_ID, ACCESS_NAME, PERM_READ, PERM_OPEN, PERM_APPEND, PERM_TRANSFER, PERM_DISTRIBUTE, PERM_CUSTOM_1, PERM_CUSTOM_2, "
|
||||
+ "PERM_CUSTOM_3, PERM_CUSTOM_4, PERM_CUSTOM_5, PERM_CUSTOM_6, PERM_CUSTOM_7, PERM_CUSTOM_8, PERM_CUSTOM_9, PERM_CUSTOM_10, PERM_CUSTOM_11, PERM_CUSTOM_12 "
|
||||
+ "from WORKBASKET_ACCESS_LIST AS WBA LEFT JOIN WORKBASKET AS WB ON WORKBASKET_ID = WB.ID"
|
||||
+ "from WORKBASKET_ACCESS_LIST WBA "
|
||||
+ "LEFT JOIN WORKBASKET WB ON WORKBASKET_ID = WB.ID"
|
||||
+ "<where>"
|
||||
+ "<if test='idIn != null'>AND WBA.ID IN(<foreach item='item' collection='idIn' separator=',' >#{item}</foreach>)</if> "
|
||||
+ "<if test='workbasketIdIn != null'>AND WORKBASKET_ID IN(<foreach item='item' collection='workbasketIdIn' separator=',' >#{item}</foreach>)</if> "
|
||||
|
@ -162,7 +163,7 @@ public interface WorkbasketQueryMapper {
|
|||
+ "SELECT COUNT(w.ID) from WORKBASKET w "
|
||||
+ "<if test = 'joinWithAccessList'> "
|
||||
+ "<choose>"
|
||||
+ "<when test=\"_databaseId == 'db2'\">"
|
||||
+ "<when test=\"_databaseId == 'db2' || _databaseId == 'oracle'\">"
|
||||
+ "LEFT OUTER JOIN (select WORKBASKET_ID as WID, MAX(PERM_READ) as MAX_READ, MAX(PERM_OPEN) as MAX_OPEN, "
|
||||
+ "MAX(PERM_APPEND) as MAX_APPEND, MAX(PERM_TRANSFER) as MAX_TRANSFER, MAX(PERM_DISTRIBUTE) as MAX_DISTRIBUTE, MAX(PERM_CUSTOM_1) as MAX_CUSTOM_1, MAX(PERM_CUSTOM_2) as MAX_CUSTOM_2, "
|
||||
+ "MAX(PERM_CUSTOM_3) as MAX_CUSTOM_3, MAX(PERM_CUSTOM_4) as MAX_CUSTOM_4, MAX(PERM_CUSTOM_5) as MAX_CUSTOM_5, MAX(PERM_CUSTOM_6) as MAX_CUSTOM_6, MAX(PERM_CUSTOM_7) as MAX_CUSTOM_7, "
|
||||
|
@ -258,7 +259,7 @@ public interface WorkbasketQueryMapper {
|
|||
+ "FROM WORKBASKET w "
|
||||
+ "<if test = 'joinWithAccessList'> "
|
||||
+ "<choose>"
|
||||
+ "<when test=\"_databaseId == 'db2'\">"
|
||||
+ "<when test=\"_databaseId == 'db2' || _databaseId == 'oracle'\">"
|
||||
+ "LEFT OUTER JOIN (select WORKBASKET_ID as WID, MAX(PERM_READ) as MAX_READ, MAX(PERM_OPEN) as MAX_OPEN, "
|
||||
+ "MAX(PERM_APPEND) as MAX_APPEND, MAX(PERM_TRANSFER) as MAX_TRANSFER, MAX(PERM_DISTRIBUTE) as MAX_DISTRIBUTE, MAX(PERM_CUSTOM_1) as MAX_CUSTOM_1, MAX(PERM_CUSTOM_2) as MAX_CUSTOM_2, "
|
||||
+ "MAX(PERM_CUSTOM_3) as MAX_CUSTOM_3, MAX(PERM_CUSTOM_4) as MAX_CUSTOM_4, MAX(PERM_CUSTOM_5) as MAX_CUSTOM_5, MAX(PERM_CUSTOM_6) as MAX_CUSTOM_6, MAX(PERM_CUSTOM_7) as MAX_CUSTOM_7, "
|
||||
|
@ -343,7 +344,8 @@ public interface WorkbasketQueryMapper {
|
|||
|
||||
@Select(
|
||||
"<script>SELECT DISTINCT ${columnName} "
|
||||
+ "from WORKBASKET_ACCESS_LIST AS WBA LEFT JOIN WORKBASKET AS WB ON WORKBASKET_ID = WB.ID"
|
||||
+ "from WORKBASKET_ACCESS_LIST WBA "
|
||||
+ "LEFT JOIN WORKBASKET WB ON WORKBASKET_ID = WB.ID "
|
||||
+ "<where>"
|
||||
+ "<if test='idIn != null'>AND ID IN(<foreach item='item' collection='idIn' separator=',' >#{item}</foreach>)</if> "
|
||||
+ "<if test='workbasketIdIn != null'>AND WORKBASKET_ID IN(<foreach item='item' collection='workbasketIdIn' separator=',' >#{item}</foreach>)</if> "
|
||||
|
|
|
@ -303,7 +303,8 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
|||
Stream.of(
|
||||
"SQLCODE=-803", // DB2
|
||||
"uc_accessid_wbid", // POSTGRES
|
||||
"UC_ACCESSID_WBID_INDEX_E" // H2
|
||||
"UC_ACCESSID_WBID_INDEX_E", // H2
|
||||
"ORA-00001" // ORACLE
|
||||
);
|
||||
if (accessItemExistsIdentifier.anyMatch(e.getMessage()::contains)) {
|
||||
throw new WorkbasketAccessItemAlreadyExistException(
|
||||
|
|
|
@ -14,6 +14,7 @@ import org.junit.jupiter.api.Test;
|
|||
|
||||
import pro.taskana.TaskanaEngineConfiguration;
|
||||
import pro.taskana.common.api.exceptions.SystemException;
|
||||
import pro.taskana.common.internal.configuration.DB;
|
||||
import pro.taskana.common.internal.configuration.DbSchemaCreator;
|
||||
import pro.taskana.common.test.config.DataSourceGenerator;
|
||||
import pro.taskana.sampledata.SampleDataGenerator;
|
||||
|
@ -111,10 +112,19 @@ class TaskanaSecurityConfigAccTest {
|
|||
|
||||
try (Connection connection = DataSourceGenerator.getDataSource().getConnection()) {
|
||||
|
||||
String sql =
|
||||
String dbProductId = DB.getDatabaseProductId(connection);
|
||||
|
||||
String sql;
|
||||
final String securityFlagAsString;
|
||||
if (DB.isOracle(dbProductId)) {
|
||||
securityFlagAsString = securityFlag ? "1" : "0";
|
||||
} else {
|
||||
securityFlagAsString = String.valueOf(securityFlag);
|
||||
}
|
||||
sql =
|
||||
String.format(
|
||||
"UPDATE %s.CONFIGURATION SET ENFORCE_SECURITY = %b WHERE NAME = 'MASTER'",
|
||||
DataSourceGenerator.getSchemaName(), securityFlag);
|
||||
"UPDATE %s.CONFIGURATION SET ENFORCE_SECURITY = %s WHERE NAME = 'MASTER'",
|
||||
DataSourceGenerator.getSchemaName(), securityFlagAsString);
|
||||
|
||||
Statement statement = connection.createStatement();
|
||||
statement.execute(sql);
|
||||
|
|
|
@ -9,6 +9,7 @@ org.slf4j.simpleLogger.defaultLogLevel=info
|
|||
# If not specified, the default logging detail level is used.
|
||||
org.slf4j.simpleLogger.log.pro.taskana=info
|
||||
org.slf4j.simpleLogger.log.org.apache.ibatis=info
|
||||
org.slf4j.simpleLogger.log.org.testcontainers=info
|
||||
# Set to true if you want the current date and time to be included in output messages.
|
||||
# Default is false, and will output the number of milliseconds elapsed since startup.
|
||||
org.slf4j.simpleLogger.showDateTime=true
|
||||
|
|
|
@ -48,6 +48,17 @@
|
|||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>oracle-xe</artifactId>
|
||||
<version>${version.testcontainers}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
|
@ -72,6 +83,11 @@
|
|||
<artifactId>jcc</artifactId>
|
||||
<version>${version.db2}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc8</artifactId>
|
||||
<version>${version.oracle}</version>
|
||||
</dependency>
|
||||
<!-- test dependencies -->
|
||||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
|
|
|
@ -8,6 +8,7 @@ import javax.sql.DataSource;
|
|||
import org.apache.ibatis.datasource.pooled.PooledDataSource;
|
||||
import org.testcontainers.containers.Db2Container;
|
||||
import org.testcontainers.containers.JdbcDatabaseContainer;
|
||||
import org.testcontainers.containers.OracleContainer;
|
||||
import org.testcontainers.containers.PostgreSQLContainer;
|
||||
import org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy;
|
||||
import org.testcontainers.utility.DockerImageName;
|
||||
|
@ -22,6 +23,13 @@ public class DockerContainerCreator {
|
|||
|
||||
public static Optional<JdbcDatabaseContainer<?>> createDockerContainer(DB db) {
|
||||
switch (db) {
|
||||
case ORACLE:
|
||||
return Optional.of(
|
||||
new OracleContainer("gvenzl/oracle-xe:18-slim-faststart")
|
||||
.withDatabaseName("taskana")
|
||||
.withUsername("TEST_USER")
|
||||
.withPassword("testPassword")
|
||||
.withEnv("TZ", "Europe/Berlin"));
|
||||
case DB2:
|
||||
return Optional.of(
|
||||
new Db2Container(
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
package pro.taskana.testapi;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.Statement;
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import pro.taskana.common.api.exceptions.SystemException;
|
||||
|
||||
public final class OracleSchemaHelper {
|
||||
|
||||
private static final String DEFAULT_PASSWORD = "testPassword";
|
||||
|
||||
private OracleSchemaHelper() {
|
||||
// hide implicitpublic one
|
||||
}
|
||||
|
||||
public static void initOracleSchema(DataSource dataSource, String schemaName)
|
||||
throws SystemException {
|
||||
try (Connection connection = dataSource.getConnection();
|
||||
// connect as SYSTEM user to create schemas
|
||||
Connection conn =
|
||||
DriverManager.getConnection(
|
||||
connection.getMetaData().getURL(), "SYSTEM", DEFAULT_PASSWORD);
|
||||
Statement stmt = conn.createStatement()) {
|
||||
stmt.execute("GRANT ALL PRIVILEGES TO TEST_USER");
|
||||
|
||||
stmt.addBatch(
|
||||
String.format(
|
||||
"create tablespace %s datafile '%s.dat' size 5M autoextend "
|
||||
+ "on NEXT 5M MAXSIZE UNLIMITED",
|
||||
schemaName, schemaName));
|
||||
stmt.addBatch(
|
||||
String.format(
|
||||
"create temporary tablespace %s_TMP tempfile '%s_tmp.dat' size 5M autoextend "
|
||||
+ "on NEXT 5M MAXSIZE UNLIMITED",
|
||||
schemaName, schemaName));
|
||||
stmt.addBatch(
|
||||
String.format(
|
||||
"create user %s identified by %s default tablespace %s "
|
||||
+ "temporary tablespace %s_TMP",
|
||||
schemaName, DEFAULT_PASSWORD, schemaName, schemaName));
|
||||
stmt.addBatch(String.format("ALTER USER %s quota unlimited on %s", schemaName, schemaName));
|
||||
stmt.addBatch(String.format("GRANT UNLIMITED TABLESPACE TO %s", schemaName));
|
||||
stmt.executeBatch();
|
||||
} catch (Exception e) {
|
||||
throw new SystemException("Failed to setup ORACLE Schema", e);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3,6 +3,7 @@ package pro.taskana.testapi.extensions;
|
|||
import static org.junit.platform.commons.support.AnnotationSupport.isAnnotated;
|
||||
import static pro.taskana.testapi.DockerContainerCreator.createDataSource;
|
||||
import static pro.taskana.testapi.DockerContainerCreator.createDockerContainer;
|
||||
import static pro.taskana.testapi.OracleSchemaHelper.initOracleSchema;
|
||||
import static pro.taskana.testapi.util.ExtensionCommunicator.getClassLevelStore;
|
||||
import static pro.taskana.testapi.util.ExtensionCommunicator.isTopLevelClass;
|
||||
|
||||
|
@ -50,8 +51,12 @@ public class TestContainerExtension implements InvocationInterceptor {
|
|||
Class<?> testClass = extensionContext.getRequiredTestClass();
|
||||
if (isTopLevelClass(testClass) || isAnnotated(testClass, CleanTaskanaContext.class)) {
|
||||
Store store = getClassLevelStore(extensionContext);
|
||||
store.put(STORE_SCHEMA_NAME, determineSchemaName());
|
||||
String schemaName = determineSchemaName();
|
||||
store.put(STORE_SCHEMA_NAME, schemaName);
|
||||
store.put(STORE_DATA_SOURCE, DATA_SOURCE);
|
||||
if (DB.isOracle(EXECUTION_DATABASE.dbProductId)) {
|
||||
initOracleSchema(DATA_SOURCE, schemaName);
|
||||
}
|
||||
} else if (TaskanaEngineConfigurationModifier.class.isAssignableFrom(testClass)
|
||||
|| isAnnotated(testClass, WithServiceProvider.class)) {
|
||||
// since the implementation of TaskanaEngineConfigurationModifier implies the generation of a
|
||||
|
@ -73,7 +78,12 @@ public class TestContainerExtension implements InvocationInterceptor {
|
|||
|
||||
private static String determineSchemaName() {
|
||||
String uniqueId = "A" + UUID.randomUUID().toString().replace("-", "_");
|
||||
return EXECUTION_DATABASE == DB.POSTGRES ? uniqueId.toLowerCase() : uniqueId;
|
||||
if (EXECUTION_DATABASE == DB.ORACLE) {
|
||||
uniqueId = uniqueId.substring(0, 26);
|
||||
} else if (EXECUTION_DATABASE == DB.POSTGRES) {
|
||||
uniqueId = uniqueId.toLowerCase();
|
||||
}
|
||||
return uniqueId;
|
||||
}
|
||||
|
||||
private static DB retrieveDatabaseFromEnv() {
|
||||
|
|
|
@ -9,6 +9,7 @@ org.slf4j.simpleLogger.defaultLogLevel=info
|
|||
# If not specified, the default logging detail level is used.
|
||||
org.slf4j.simpleLogger.log.pro.taskana=info
|
||||
org.slf4j.simpleLogger.log.org.apache.ibatis=info
|
||||
org.slf4j.simpleLogger.log.org.testcontainers=info
|
||||
# Set to true if you want the current date and time to be included in output messages.
|
||||
# Default is false, and will output the number of milliseconds elapsed since startup.
|
||||
org.slf4j.simpleLogger.showDateTime=true
|
||||
|
|
1
pom.xml
1
pom.xml
|
@ -101,6 +101,7 @@
|
|||
|
||||
<!-- database driver versions -->
|
||||
<version.db2>11.5.6.0</version.db2>
|
||||
<version.oracle>12.2.0.1</version.oracle>
|
||||
|
||||
<!-- sonar settings -->
|
||||
<sonar.projectKey>${env.SONAR_PROJECT_KEY}</sonar.projectKey>
|
||||
|
|
|
@ -40,6 +40,11 @@
|
|||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc8</artifactId>
|
||||
<version>${version.oracle}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>pro.taskana</groupId>
|
||||
<artifactId>taskana-rest-spring-example-common</artifactId>
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
######## ORACLE configuration ########
|
||||
spring.datasource.url=jdbc:oracle:thin:@//localhost:5103/TASKANA
|
||||
spring.datasource.driverClassName=oracle.jdbc.OracleDriver
|
||||
spring.datasource.username=TEST_USER
|
||||
spring.datasource.password=testPassword
|
|
@ -22,6 +22,11 @@ taskana.schemaName=TASKANA
|
|||
########spring.datasource.driverClassName=org.postgresql.Driver
|
||||
########spring.datasource.username=postgres
|
||||
########spring.datasource.password=1234
|
||||
######## ORACLE configuration ########
|
||||
########spring.datasource.url=jdbc:oracle:thin:@//localhost:5103/TASKANA
|
||||
########spring.datasource.driverClassName=oracle.jdbc.OracleDriver
|
||||
########spring.datasource.username=TEST_USER
|
||||
########spring.datasource.password=testPassword
|
||||
########spring.jpa.generate-ddl=true
|
||||
########spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
|
||||
####### property that control rest api security deploy use true for no security.
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package pro.taskana.common.test.rest;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DatabaseMetaData;
|
||||
import java.sql.SQLException;
|
||||
import javax.sql.DataSource;
|
||||
import org.slf4j.Logger;
|
||||
|
@ -15,6 +14,7 @@ import org.springframework.context.annotation.DependsOn;
|
|||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
|
||||
import pro.taskana.common.internal.configuration.DB;
|
||||
import pro.taskana.sampledata.SampleDataGenerator;
|
||||
|
||||
@SpringBootApplication
|
||||
|
@ -29,11 +29,10 @@ public class TestConfiguration {
|
|||
@Value("${taskana.schemaName:TASKANA}") String schemaName, DataSource dataSource) {
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
try (Connection connection = dataSource.getConnection()) {
|
||||
DatabaseMetaData metaData = connection.getMetaData();
|
||||
LOGGER.debug(
|
||||
"Using database of type {} with url '{}'",
|
||||
metaData.getDatabaseProductName(),
|
||||
metaData.getURL());
|
||||
DB.getDatabaseProductName(connection),
|
||||
connection.getMetaData().getURL());
|
||||
} catch (SQLException e) {
|
||||
LOGGER.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
|
@ -30,8 +30,7 @@ class SchemaNameCustomizableTest {
|
|||
void resetDb() throws SQLException {
|
||||
SampleDataGenerator sampleDataGenerator;
|
||||
try (Connection connection = dataSource.getConnection()) {
|
||||
String databaseProductId =
|
||||
DB.getDatabaseProductId(connection.getMetaData().getDatabaseProductName());
|
||||
String databaseProductId = DB.getDatabaseProductId(connection);
|
||||
|
||||
if (DB.isPostgres(databaseProductId)) {
|
||||
schemaName = schemaName.toLowerCase(Locale.ENGLISH);
|
||||
|
|
|
@ -132,6 +132,23 @@
|
|||
<artifactId>h2</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.db2</groupId>
|
||||
<artifactId>jcc</artifactId>
|
||||
<version>${version.db2}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc8</artifactId>
|
||||
<version>${version.oracle}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>capital.scalable</groupId>
|
||||
<artifactId>spring-auto-restdocs-core</artifactId>
|
||||
|
|
|
@ -97,6 +97,27 @@ public class XlsxWorksheetConverter {
|
|||
return dmnModel;
|
||||
}
|
||||
|
||||
public <E extends NamedElement> E generateNamedElement(
|
||||
DmnModelInstance modelInstance, Class<E> elementClass, String name) {
|
||||
E element = generateElement(modelInstance, elementClass, name);
|
||||
element.setName(name);
|
||||
return element;
|
||||
}
|
||||
|
||||
public <E extends DmnElement> E generateElement(
|
||||
DmnModelInstance modelInstance, Class<E> elementClass, String id) {
|
||||
E element = modelInstance.newInstance(elementClass);
|
||||
element.setId(id);
|
||||
return element;
|
||||
}
|
||||
|
||||
public <E extends DmnElement> E generateElement(
|
||||
DmnModelInstance modelInstance, Class<E> elementClass) {
|
||||
// TODO: use a proper generator for random IDs
|
||||
String generatedId = elementClass.getSimpleName() + (int) (Integer.MAX_VALUE * Math.random());
|
||||
return generateElement(modelInstance, elementClass, generatedId);
|
||||
}
|
||||
|
||||
protected void setHitPolicy(DecisionTable decisionTable) {
|
||||
HitPolicy hitPolicy = spreadsheetAdapter.determineHitPolicy(worksheetContext);
|
||||
if (hitPolicy != null) {
|
||||
|
@ -248,27 +269,6 @@ public class XlsxWorksheetConverter {
|
|||
return dmnModel;
|
||||
}
|
||||
|
||||
public <E extends NamedElement> E generateNamedElement(
|
||||
DmnModelInstance modelInstance, Class<E> elementClass, String name) {
|
||||
E element = generateElement(modelInstance, elementClass, name);
|
||||
element.setName(name);
|
||||
return element;
|
||||
}
|
||||
|
||||
public <E extends DmnElement> E generateElement(
|
||||
DmnModelInstance modelInstance, Class<E> elementClass, String id) {
|
||||
E element = modelInstance.newInstance(elementClass);
|
||||
element.setId(id);
|
||||
return element;
|
||||
}
|
||||
|
||||
public <E extends DmnElement> E generateElement(
|
||||
DmnModelInstance modelInstance, Class<E> elementClass) {
|
||||
// TODO: use a proper generator for random IDs
|
||||
String generatedId = elementClass.getSimpleName() + (int) (Integer.MAX_VALUE * Math.random());
|
||||
return generateElement(modelInstance, elementClass, generatedId);
|
||||
}
|
||||
|
||||
protected Text generateText(DmnModelInstance dmnModel, String content) {
|
||||
Text text = dmnModel.newInstance(Text.class);
|
||||
text.setTextContent(content);
|
||||
|
|
|
@ -42,8 +42,8 @@ class DmnConverterServiceAccTest {
|
|||
|
||||
protected static void resetDb(boolean dropTables) throws Exception {
|
||||
|
||||
DataSource dataSource = DataSourceGenerator.getDataSource();
|
||||
String schemaName = DataSourceGenerator.getSchemaName();
|
||||
DataSource dataSource = DataSourceGenerator.createDataSourceForH2();
|
||||
String schemaName = "TASKANA";
|
||||
TaskanaEngineConfiguration taskanaEngineConfiguration =
|
||||
new TaskanaEngineConfiguration(dataSource, false, schemaName);
|
||||
taskanaEngineConfiguration.setGermanPublicHolidaysEnabled(true);
|
||||
|
|
|
@ -65,6 +65,23 @@
|
|||
<artifactId>h2</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ibm.db2</groupId>
|
||||
<artifactId>jcc</artifactId>
|
||||
<version>${version.db2}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc8</artifactId>
|
||||
<version>${version.oracle}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
|
Loading…
Reference in New Issue