Merge pull request #40 from BerndBreier/TSK-57_refactor_query_interfaces

TSK-57_refactor_query_interfaces
This commit is contained in:
BerndBreier 2017-11-28 10:57:13 +01:00 committed by GitHub
commit 5e10c036c3
16 changed files with 33 additions and 32 deletions

View File

@ -1,4 +1,4 @@
package pro.taskana.persistence; package pro.taskana;
import java.util.List; import java.util.List;

View File

@ -1,4 +1,4 @@
package pro.taskana.persistence; package pro.taskana;
import pro.taskana.model.Classification; import pro.taskana.model.Classification;

View File

@ -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;

View File

@ -1,4 +1,4 @@
package pro.taskana.persistence; package pro.taskana;
import pro.taskana.model.ObjectReference; import pro.taskana.model.ObjectReference;

View File

@ -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;

View File

@ -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.

View File

@ -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;

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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"),

View File

@ -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;

View File

@ -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.

View File

@ -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.

View File

@ -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 {