Merge pull request #40 from BerndBreier/TSK-57_refactor_query_interfaces
TSK-57_refactor_query_interfaces
This commit is contained in:
commit
5e10c036c3
|
|
@ -1,4 +1,4 @@
|
||||||
package pro.taskana.persistence;
|
package pro.taskana;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package pro.taskana.persistence;
|
package pro.taskana;
|
||||||
|
|
||||||
import pro.taskana.model.Classification;
|
import pro.taskana.model.Classification;
|
||||||
|
|
||||||
|
|
@ -2,7 +2,6 @@ package pro.taskana;
|
||||||
|
|
||||||
import pro.taskana.exceptions.NotAuthorizedException;
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
import pro.taskana.model.Classification;
|
import pro.taskana.model.Classification;
|
||||||
import pro.taskana.persistence.ClassificationQuery;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package pro.taskana.persistence;
|
package pro.taskana;
|
||||||
|
|
||||||
import pro.taskana.model.ObjectReference;
|
import pro.taskana.model.ObjectReference;
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package pro.taskana.persistence;
|
package pro.taskana;
|
||||||
|
|
||||||
import pro.taskana.exceptions.NotAuthorizedException;
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
import pro.taskana.model.Task;
|
import pro.taskana.model.Task;
|
||||||
|
|
@ -9,7 +9,6 @@ import pro.taskana.model.DueWorkbasketCounter;
|
||||||
import pro.taskana.model.Task;
|
import pro.taskana.model.Task;
|
||||||
import pro.taskana.model.TaskState;
|
import pro.taskana.model.TaskState;
|
||||||
import pro.taskana.model.TaskStateCounter;
|
import pro.taskana.model.TaskStateCounter;
|
||||||
import pro.taskana.persistence.TaskQuery;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Task Service manages all operations on tasks.
|
* The Task Service manages all operations on tasks.
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
package pro.taskana.impl;
|
package pro.taskana.impl;
|
||||||
|
|
||||||
import org.apache.ibatis.session.RowBounds;
|
import org.apache.ibatis.session.RowBounds;
|
||||||
|
|
||||||
|
import pro.taskana.ClassificationQuery;
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.model.Classification;
|
import pro.taskana.model.Classification;
|
||||||
import pro.taskana.persistence.ClassificationQuery;
|
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
package pro.taskana.impl;
|
package pro.taskana.impl;
|
||||||
|
|
||||||
|
import pro.taskana.ClassificationQuery;
|
||||||
import pro.taskana.ClassificationService;
|
import pro.taskana.ClassificationService;
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.exceptions.NotAuthorizedException;
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
import pro.taskana.impl.util.IdGenerator;
|
import pro.taskana.impl.util.IdGenerator;
|
||||||
import pro.taskana.model.Classification;
|
import pro.taskana.model.Classification;
|
||||||
import pro.taskana.model.mappings.ClassificationMapper;
|
import pro.taskana.model.mappings.ClassificationMapper;
|
||||||
import pro.taskana.persistence.ClassificationQuery;
|
|
||||||
|
|
||||||
import java.sql.Date;
|
import java.sql.Date;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
|
|
@ -143,18 +143,18 @@ public class ClassificationServiceImpl implements ClassificationService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Classification getClassification(String id, String domain) {
|
public Classification getClassification(String id, String domain) {
|
||||||
Classification classification = null;
|
try {
|
||||||
try {
|
|
||||||
taskanaEngineImpl.openConnection();
|
taskanaEngineImpl.openConnection();
|
||||||
if (domain == null) {
|
Classification classification = classificationMapper.findByIdAndDomain(id, domain, CURRENT_CLASSIFICATIONS_VALID_UNTIL);
|
||||||
classification = classificationMapper.findByIdAndDomain(id, "", CURRENT_CLASSIFICATIONS_VALID_UNTIL);
|
if (classification == null) {
|
||||||
|
return classificationMapper.findByIdAndDomain(id, "", CURRENT_CLASSIFICATIONS_VALID_UNTIL);
|
||||||
} else {
|
} else {
|
||||||
classification = classificationMapper.findByIdAndDomain(id, domain, CURRENT_CLASSIFICATIONS_VALID_UNTIL);
|
return classification;
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
taskanaEngineImpl.returnConnection();
|
taskanaEngineImpl.returnConnection();
|
||||||
}
|
}
|
||||||
return classification;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,10 @@ package pro.taskana.impl;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.ibatis.session.RowBounds;
|
import org.apache.ibatis.session.RowBounds;
|
||||||
|
|
||||||
|
import pro.taskana.ObjectReferenceQuery;
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.model.ObjectReference;
|
import pro.taskana.model.ObjectReference;
|
||||||
import pro.taskana.persistence.ObjectReferenceQuery;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of ObjectReferenceQuery interface.
|
* Implementation of ObjectReferenceQuery interface.
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,14 @@ import java.util.List;
|
||||||
|
|
||||||
import org.apache.ibatis.session.RowBounds;
|
import org.apache.ibatis.session.RowBounds;
|
||||||
|
|
||||||
|
import pro.taskana.ClassificationQuery;
|
||||||
|
import pro.taskana.ObjectReferenceQuery;
|
||||||
|
import pro.taskana.TaskQuery;
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.exceptions.NotAuthorizedException;
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
import pro.taskana.model.Task;
|
import pro.taskana.model.Task;
|
||||||
import pro.taskana.model.TaskState;
|
import pro.taskana.model.TaskState;
|
||||||
import pro.taskana.model.WorkbasketAuthorization;
|
import pro.taskana.model.WorkbasketAuthorization;
|
||||||
import pro.taskana.persistence.ClassificationQuery;
|
|
||||||
import pro.taskana.persistence.ObjectReferenceQuery;
|
|
||||||
import pro.taskana.persistence.TaskQuery;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TaskQuery for generating dynamic sql.
|
* TaskQuery for generating dynamic sql.
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import java.util.List;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import pro.taskana.TaskQuery;
|
||||||
import pro.taskana.TaskService;
|
import pro.taskana.TaskService;
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.exceptions.NotAuthorizedException;
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
|
|
@ -23,7 +24,6 @@ import pro.taskana.model.TaskStateCounter;
|
||||||
import pro.taskana.model.WorkbasketAuthorization;
|
import pro.taskana.model.WorkbasketAuthorization;
|
||||||
import pro.taskana.model.mappings.ObjectReferenceMapper;
|
import pro.taskana.model.mappings.ObjectReferenceMapper;
|
||||||
import pro.taskana.model.mappings.TaskMapper;
|
import pro.taskana.model.mappings.TaskMapper;
|
||||||
import pro.taskana.persistence.TaskQuery;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the implementation of TaskService.
|
* This is the implementation of TaskService.
|
||||||
|
|
|
||||||
|
|
@ -46,11 +46,11 @@ public interface WorkbasketMapper {
|
||||||
@Select("<script>SELECT W.ID, W.CREATED, W.MODIFIED, W.NAME, W.DESCRIPTION, W.OWNER FROM WORKBASKET AS W "
|
@Select("<script>SELECT W.ID, W.CREATED, W.MODIFIED, W.NAME, W.DESCRIPTION, W.OWNER FROM WORKBASKET AS W "
|
||||||
+ "INNER JOIN WORKBASKET_ACCESS_LIST AS ACL " + "ON (W.ID = ACL.WORKBASKET_ID AND ACL.ACCESS_ID = #{accessId}) "
|
+ "INNER JOIN WORKBASKET_ACCESS_LIST AS ACL " + "ON (W.ID = ACL.WORKBASKET_ID AND ACL.ACCESS_ID = #{accessId}) "
|
||||||
+ "WHERE <foreach collection='authorizations' item='authorization' separator=' AND '>"
|
+ "WHERE <foreach collection='authorizations' item='authorization' separator=' AND '>"
|
||||||
+ "<if test=\"authorization.name() == 'OPEN'\">OPEN</if>"
|
+ "<if test=\"authorization.name() == 'OPEN'\">PERM_OPEN</if>"
|
||||||
+ "<if test=\"authorization.name() == 'READ'\">READ</if>"
|
+ "<if test=\"authorization.name() == 'READ'\">PERM_READ</if>"
|
||||||
+ "<if test=\"authorization.name() == 'APPEND'\">APPEND</if>"
|
+ "<if test=\"authorization.name() == 'APPEND'\">PERM_APPEND</if>"
|
||||||
+ "<if test=\"authorization.name() == 'TRANSFER'\">TRANSFER</if>"
|
+ "<if test=\"authorization.name() == 'TRANSFER'\">PERM_TRANSFER</if>"
|
||||||
+ "<if test=\"authorization.name() == 'DISTRIBUTE'\">DISTRIBUTE</if> = 1 </foreach> "
|
+ "<if test=\"authorization.name() == 'DISTRIBUTE'\">PERM_DISTRIBUTE</if> = 1 </foreach> "
|
||||||
+ "ORDER BY id</script>")
|
+ "ORDER BY id</script>")
|
||||||
@Results(value = {
|
@Results(value = {
|
||||||
@Result(property = "id", column = "ID"),
|
@Result(property = "id", column = "ID"),
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package pro.taskana.impl;
|
package pro.taskana.impl;
|
||||||
|
|
||||||
|
import pro.taskana.ClassificationQuery;
|
||||||
import pro.taskana.exceptions.NotAuthorizedException;
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
import pro.taskana.model.Classification;
|
import pro.taskana.model.Classification;
|
||||||
import pro.taskana.persistence.ClassificationQuery;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,8 @@ import org.junit.Before;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import pro.taskana.ClassificationQuery;
|
||||||
|
import pro.taskana.ObjectReferenceQuery;
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
||||||
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
|
|
@ -28,8 +30,6 @@ import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
|
||||||
import pro.taskana.impl.util.IdGenerator;
|
import pro.taskana.impl.util.IdGenerator;
|
||||||
import pro.taskana.model.Task;
|
import pro.taskana.model.Task;
|
||||||
import pro.taskana.model.TaskState;
|
import pro.taskana.model.TaskState;
|
||||||
import pro.taskana.persistence.ClassificationQuery;
|
|
||||||
import pro.taskana.persistence.ObjectReferenceQuery;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Integration Test for TaskServiceImpl transactions with connection management mode AUTOCOMMIT.
|
* Integration Test for TaskServiceImpl transactions with connection management mode AUTOCOMMIT.
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ import org.junit.Before;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import pro.taskana.ClassificationQuery;
|
||||||
|
import pro.taskana.ObjectReferenceQuery;
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
||||||
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
|
|
@ -30,8 +32,6 @@ import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
|
||||||
import pro.taskana.impl.util.IdGenerator;
|
import pro.taskana.impl.util.IdGenerator;
|
||||||
import pro.taskana.model.Task;
|
import pro.taskana.model.Task;
|
||||||
import pro.taskana.model.TaskState;
|
import pro.taskana.model.TaskState;
|
||||||
import pro.taskana.persistence.ClassificationQuery;
|
|
||||||
import pro.taskana.persistence.ObjectReferenceQuery;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Integration Test for TaskServiceImpl transactions with connection management mode EXPLICIT.
|
* Integration Test for TaskServiceImpl transactions with connection management mode EXPLICIT.
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,15 @@ import java.util.List;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.util.MultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
||||||
|
|
||||||
|
import pro.taskana.ClassificationQuery;
|
||||||
import pro.taskana.ClassificationService;
|
import pro.taskana.ClassificationService;
|
||||||
|
import pro.taskana.ObjectReferenceQuery;
|
||||||
|
import pro.taskana.TaskQuery;
|
||||||
import pro.taskana.TaskService;
|
import pro.taskana.TaskService;
|
||||||
import pro.taskana.exceptions.NotAuthorizedException;
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
import pro.taskana.model.Task;
|
import pro.taskana.model.Task;
|
||||||
import pro.taskana.model.TaskState;
|
import pro.taskana.model.TaskState;
|
||||||
import pro.taskana.persistence.ClassificationQuery;
|
|
||||||
import pro.taskana.persistence.ObjectReferenceQuery;
|
|
||||||
import pro.taskana.persistence.TaskQuery;
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class TaskFilter {
|
public class TaskFilter {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue