Added prefixes to id definitions and changed varchar(36) to char(40)
This commit is contained in:
parent
cff6901846
commit
f444ad3a5d
|
@ -1,9 +1,9 @@
|
|||
package org.taskana;
|
||||
|
||||
import org.taskana.model.Classification;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.taskana.model.Classification;
|
||||
|
||||
public interface ClassificationService {
|
||||
|
||||
/**
|
||||
|
|
|
@ -7,8 +7,8 @@ import org.taskana.exceptions.TaskNotFoundException;
|
|||
import org.taskana.exceptions.WorkbasketNotFoundException;
|
||||
import org.taskana.model.DueWorkbasketCounter;
|
||||
import org.taskana.model.Task;
|
||||
import org.taskana.model.TaskStateCounter;
|
||||
import org.taskana.model.TaskState;
|
||||
import org.taskana.model.TaskStateCounter;
|
||||
|
||||
public interface TaskService {
|
||||
|
||||
|
|
|
@ -1,16 +1,19 @@
|
|||
package org.taskana.impl;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.time.Duration;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
import org.taskana.ClassificationService;
|
||||
import org.taskana.impl.util.IdGenerator;
|
||||
import org.taskana.model.Classification;
|
||||
import org.taskana.model.mappings.ClassificationMapper;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class ClassificationServiceImpl implements ClassificationService {
|
||||
|
||||
private static final String ID_PREFIX_CLASSIFICATION = "CLI";
|
||||
|
||||
private ClassificationMapper classificationMapper;
|
||||
|
||||
public ClassificationServiceImpl(ClassificationMapper classificationMapper) {
|
||||
|
@ -40,7 +43,7 @@ public class ClassificationServiceImpl implements ClassificationService {
|
|||
|
||||
@Override
|
||||
public void insertClassification(Classification classification) {
|
||||
classification.setId(UUID.randomUUID().toString());
|
||||
classification.setId(IdGenerator.generateWithPrefix(ID_PREFIX_CLASSIFICATION));
|
||||
classification.setCreated(Date.valueOf(LocalDate.now()));
|
||||
classification.setModified(Date.valueOf(LocalDate.now()));
|
||||
this.checkServiceLevel(classification);
|
||||
|
@ -64,7 +67,7 @@ public class ClassificationServiceImpl implements ClassificationService {
|
|||
private void checkServiceLevel(Classification classification) {
|
||||
if (classification.getServiceLevel() != null) {
|
||||
try {
|
||||
java.time.Duration.parse(classification.getServiceLevel());
|
||||
Duration.parse(classification.getServiceLevel());
|
||||
} catch (Exception e) {
|
||||
throw new IllegalArgumentException("Invalid timestamp. Please use the format 'PddDThhHmmM'");
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@ import java.sql.Timestamp;
|
|||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -14,6 +13,7 @@ import org.taskana.TaskanaEngine;
|
|||
import org.taskana.exceptions.NotAuthorizedException;
|
||||
import org.taskana.exceptions.TaskNotFoundException;
|
||||
import org.taskana.exceptions.WorkbasketNotFoundException;
|
||||
import org.taskana.impl.util.IdGenerator;
|
||||
import org.taskana.model.DueWorkbasketCounter;
|
||||
import org.taskana.model.ObjectReference;
|
||||
import org.taskana.model.Task;
|
||||
|
@ -27,6 +27,9 @@ public class TaskServiceImpl implements TaskService {
|
|||
|
||||
private static final Logger logger = LoggerFactory.getLogger(TaskServiceImpl.class);
|
||||
|
||||
private static final String ID_PREFIX_OBJECTR_EFERENCE = "ORI";
|
||||
private static final String ID_PREFIX_TASK = "TKI";
|
||||
|
||||
private TaskanaEngine taskanaEngine;
|
||||
private TaskMapper taskMapper;
|
||||
private ObjectReferenceMapper objectReferenceMapper;
|
||||
|
@ -74,7 +77,7 @@ public class TaskServiceImpl implements TaskService {
|
|||
taskanaEngine.getWorkbasketService().checkAuthorization(task.getWorkbasketId(), WorkbasketAuthorization.APPEND);
|
||||
|
||||
Timestamp now = new Timestamp(System.currentTimeMillis());
|
||||
task.setId(UUID.randomUUID().toString());
|
||||
task.setId(IdGenerator.generateWithPrefix(ID_PREFIX_TASK));
|
||||
task.setState(TaskState.READY);
|
||||
task.setCreated(now);
|
||||
task.setModified(now);
|
||||
|
@ -86,7 +89,7 @@ public class TaskServiceImpl implements TaskService {
|
|||
ObjectReference objectReference = this.objectReferenceMapper.findByObjectReference(task.getPrimaryObjRef());
|
||||
if (objectReference == null) {
|
||||
objectReference = task.getPrimaryObjRef();
|
||||
objectReference.setId(UUID.randomUUID().toString());
|
||||
objectReference.setId(IdGenerator.generateWithPrefix(ID_PREFIX_OBJECTR_EFERENCE));
|
||||
this.objectReferenceMapper.insert(objectReference);
|
||||
}
|
||||
task.setPrimaryObjRef(objectReference);
|
||||
|
|
|
@ -2,7 +2,6 @@ package org.taskana.impl;
|
|||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -10,6 +9,7 @@ import org.taskana.TaskanaEngine;
|
|||
import org.taskana.WorkbasketService;
|
||||
import org.taskana.exceptions.NotAuthorizedException;
|
||||
import org.taskana.exceptions.WorkbasketNotFoundException;
|
||||
import org.taskana.impl.util.IdGenerator;
|
||||
import org.taskana.model.Workbasket;
|
||||
import org.taskana.model.WorkbasketAccessItem;
|
||||
import org.taskana.model.WorkbasketAuthorization;
|
||||
|
@ -22,6 +22,9 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
|||
|
||||
private static final Logger logger = LoggerFactory.getLogger(WorkbasketServiceImpl.class);
|
||||
|
||||
private static final String ID_PREFIX_WORKBASKET = "WBI";
|
||||
private static final String ID_PREFIX_WORKBASKET_AUTHORIZATION = "WAI";
|
||||
|
||||
private TaskanaEngine taskanaEngine;
|
||||
|
||||
private WorkbasketMapper workbasketMapper;
|
||||
|
@ -64,7 +67,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
|||
workbasket.setCreated(now);
|
||||
workbasket.setModified(now);
|
||||
if (workbasket.getId() == null || workbasket.getId().isEmpty()) {
|
||||
workbasket.setId(UUID.randomUUID().toString());
|
||||
workbasket.setId(IdGenerator.generateWithPrefix(ID_PREFIX_WORKBASKET));
|
||||
}
|
||||
workbasketMapper.insert(workbasket);
|
||||
logger.debug("Workbasket '{}' created", workbasket.getId());
|
||||
|
@ -106,7 +109,7 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
|||
|
||||
@Override
|
||||
public WorkbasketAccessItem createWorkbasketAuthorization(WorkbasketAccessItem workbasketAccessItem) {
|
||||
workbasketAccessItem.setId(UUID.randomUUID().toString());
|
||||
workbasketAccessItem.setId(IdGenerator.generateWithPrefix(ID_PREFIX_WORKBASKET_AUTHORIZATION));
|
||||
workbasketAccessMapper.insert(workbasketAccessItem);
|
||||
return workbasketAccessItem;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package org.taskana.impl.util;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class IdGenerator {
|
||||
|
||||
private static final String SEPERATOR = ":";
|
||||
|
||||
public static String generateWithPrefix(String prefix) {
|
||||
return new StringBuilder().append(prefix).append(SEPERATOR).append(UUID.randomUUID().toString()).toString();
|
||||
}
|
||||
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
CREATE TABLE TASKANA_SCHEMA_VERSION(
|
||||
ID VARCHAR(36) NOT NULL,
|
||||
ID CHAR(40) NOT NULL,
|
||||
VERSION VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
INSERT INTO TASKANA_SCHEMA_VERSION VALUES ('1', '0.0.1');
|
||||
|
||||
CREATE TABLE TASK(
|
||||
ID VARCHAR(36) NOT NULL,
|
||||
TENANT_ID VARCHAR(36) NULL,
|
||||
ID CHAR(40) NOT NULL,
|
||||
TENANT_ID VARCHAR(32) NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
CLAIMED TIMESTAMP NULL,
|
||||
COMPLETED TIMESTAMP NULL,
|
||||
|
@ -19,17 +19,17 @@ CREATE TABLE TASK(
|
|||
PRIORITY INT NULL,
|
||||
STATE VARCHAR(20) NULL,
|
||||
TYPE VARCHAR(255) NULL,
|
||||
WORKBASKETID VARCHAR(36) NULL,
|
||||
WORKBASKETID CHAR(40) NULL,
|
||||
OWNER VARCHAR(255) NULL,
|
||||
PRIMARY_OBJ_REF_ID varchar(36) NULL,
|
||||
PRIMARY_OBJ_REF_ID CHAR(40) NULL,
|
||||
IS_READ BOOLEAN NOT NULL,
|
||||
IS_TRANSFERRED BOOLEAN NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
CREATE TABLE WORKBASKET(
|
||||
ID VARCHAR(36) NOT NULL,
|
||||
TENANT_ID VARCHAR(36) NULL,
|
||||
ID CHAR(40) NOT NULL,
|
||||
TENANT_ID VARCHAR(32) NULL,
|
||||
CREATED TIMESTAMP NULL,
|
||||
MODIFIED TIMESTAMP NULL,
|
||||
NAME VARCHAR(255) NOT NULL,
|
||||
|
@ -40,14 +40,14 @@ CREATE TABLE WORKBASKET(
|
|||
);
|
||||
|
||||
CREATE TABLE DISTRIBUTION_TARGETS(
|
||||
SOURCE_ID VARCHAR(36) NOT NULL,
|
||||
TARGET_ID VARCHAR(36) NOT NULL,
|
||||
SOURCE_ID CHAR(40) NOT NULL,
|
||||
TARGET_ID CHAR(40) NOT NULL,
|
||||
PRIMARY KEY (SOURCE_ID, TARGET_ID)
|
||||
);
|
||||
|
||||
CREATE TABLE CLASSIFICATION(
|
||||
ID VARCHAR(36) NOT NULL,
|
||||
TENANT_ID VARCHAR(36) NULL,
|
||||
ID CHAR(40) NOT NULL,
|
||||
TENANT_ID VARCHAR(32) NULL,
|
||||
PARENT_CLASSIFICATION_ID VARCHAR(255),
|
||||
CATEGORY VARCHAR(255),
|
||||
TYPE VARCHAR(255),
|
||||
|
@ -61,8 +61,8 @@ CREATE TABLE CLASSIFICATION(
|
|||
);
|
||||
|
||||
CREATE TABLE WORKBASKET_ACCESS_LIST(
|
||||
ID VARCHAR(36) NOT NULL,
|
||||
WORKBASKET_ID VARCHAR(36) NOT NULL,
|
||||
ID CHAR(40) NOT NULL,
|
||||
WORKBASKET_ID CHAR(40) NOT NULL,
|
||||
USER_ID VARCHAR(255) NULL,
|
||||
GROUP_ID VARCHAR(255) NULL,
|
||||
READ BOOLEAN NOT NULL,
|
||||
|
@ -72,3 +72,13 @@ CREATE TABLE WORKBASKET_ACCESS_LIST(
|
|||
DISTRIBUTE BOOLEAN NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
CREATE TABLE OBJECT_REFERENCE(
|
||||
ID CHAR(40) NOT NULL,
|
||||
TENANT_ID VARCHAR(32) NULL,
|
||||
COMPANY VARCHAR(32) NOT NULL,
|
||||
SYSTEM VARCHAR(32) NOT NULL,
|
||||
SYSTEM_INSTANCE VARCHAR(32) NOT NULL,
|
||||
TYPE VARCHAR(32) NOT NULL,
|
||||
VALUE VARCHAR(128) NOT NULL
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue