TSK-344 add getClassification by Id, change parameter sequence in newClassification
This commit is contained in:
parent
7b605a712f
commit
869e4fb325
|
@ -44,7 +44,7 @@ public class TaskanaRestTest {
|
|||
workbasket.setName("wb");
|
||||
workbasket.setType(WorkbasketType.PERSONAL);
|
||||
taskanaEjb.getWorkbasketService().createWorkbasket(workbasket);
|
||||
Classification classification = classificationService.newClassification("cdiDomain", "TEST", "t1");
|
||||
Classification classification = classificationService.newClassification("TEST", "cdiDomain", "t1");
|
||||
taskanaEjb.getClassificationService().createClassification(classification);
|
||||
|
||||
Task task = taskanaEjb.getTaskService().newTask(workbasket.getKey());
|
||||
|
|
|
@ -24,6 +24,17 @@ public interface ClassificationService {
|
|||
*/
|
||||
Classification getClassification(String key, String domain) throws ClassificationNotFoundException;
|
||||
|
||||
/**
|
||||
* Get the Classification by id.
|
||||
*
|
||||
* @param id
|
||||
* the id of the searched-for classifications
|
||||
* @return the classification identified by id
|
||||
* @throws ClassificationNotFoundException
|
||||
* if no classification is found that matches the id.
|
||||
*/
|
||||
Classification getClassification(String id) throws ClassificationNotFoundException;
|
||||
|
||||
/**
|
||||
* Delete a classification with all child classifications.
|
||||
*
|
||||
|
@ -78,13 +89,13 @@ public interface ClassificationService {
|
|||
* Creating a new {@link Classification} with unchangeable default values. It will be only generated and is not
|
||||
* persisted until CREATE-call.
|
||||
*
|
||||
* @param domain
|
||||
* the domain of the new classification
|
||||
* @param key
|
||||
* the key of the classification
|
||||
* @param domain
|
||||
* the domain of the new classification
|
||||
* @param type
|
||||
* the type of the new classification
|
||||
* @return classification to specify
|
||||
*/
|
||||
Classification newClassification(String domain, String key, String type);
|
||||
Classification newClassification(String key, String domain, String type);
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ public class ClassificationServiceImpl implements ClassificationService {
|
|||
private TaskanaEngineImpl taskanaEngineImpl;
|
||||
|
||||
ClassificationServiceImpl(TaskanaEngine taskanaEngine, ClassificationMapper classificationMapper,
|
||||
TaskMapper taskMapper) {
|
||||
TaskMapper taskMapper) {
|
||||
super();
|
||||
this.taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
|
||||
this.classificationMapper = classificationMapper;
|
||||
|
@ -194,6 +194,28 @@ public class ClassificationServiceImpl implements ClassificationService {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Classification getClassification(String id) throws ClassificationNotFoundException {
|
||||
if (id == null) {
|
||||
throw new ClassificationNotFoundException(
|
||||
"Classification for id " + id + " was not found.");
|
||||
}
|
||||
LOGGER.debug("entry to getClassification(id = {})", id);
|
||||
Classification result = null;
|
||||
try {
|
||||
taskanaEngineImpl.openConnection();
|
||||
result = classificationMapper.findById(id);
|
||||
if (result == null) {
|
||||
LOGGER.error("Classification for id {} was not found. Throwing ClassificationNotFoundException", id);
|
||||
throw new ClassificationNotFoundException("Classification for id " + id + " was not found");
|
||||
}
|
||||
return result;
|
||||
} finally {
|
||||
taskanaEngineImpl.returnConnection();
|
||||
LOGGER.debug("exit from getClassification(). Returning result {} ", result);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Classification getClassification(String key, String domain) throws ClassificationNotFoundException {
|
||||
if (key == null) {
|
||||
|
@ -208,6 +230,9 @@ public class ClassificationServiceImpl implements ClassificationService {
|
|||
if (result == null) {
|
||||
result = classificationMapper.findByKeyAndDomain(key, "");
|
||||
if (result == null) {
|
||||
LOGGER.error(
|
||||
"Classification for key {} and domain {} was not found. Throwing ClassificationNotFoundException",
|
||||
key, domain);
|
||||
throw new ClassificationNotFoundException("Classification for key " + key + " was not found");
|
||||
}
|
||||
}
|
||||
|
@ -224,7 +249,7 @@ public class ClassificationServiceImpl implements ClassificationService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Classification newClassification(String domain, String key, String type) {
|
||||
public Classification newClassification(String key, String domain, String type) {
|
||||
ClassificationImpl classification = new ClassificationImpl();
|
||||
classification.setKey(key);
|
||||
classification.setDomain(domain);
|
||||
|
|
|
@ -31,8 +31,6 @@ public class TaskImpl implements Task {
|
|||
private String note;
|
||||
private int priority;
|
||||
private TaskState state;
|
||||
// private String classificationKey;
|
||||
// private String classificationCategory;
|
||||
private ClassificationSummary classificationSummary;
|
||||
private WorkbasketSummary workbasketSummary;
|
||||
private String businessProcessId;
|
||||
|
|
|
@ -45,6 +45,32 @@ public interface ClassificationMapper {
|
|||
@Result(property = "custom8", column = "CUSTOM_8")})
|
||||
ClassificationImpl findByKeyAndDomain(@Param("key") String key, @Param("domain") String domain);
|
||||
|
||||
@Select("SELECT ID, KEY, PARENT_ID, CATEGORY, TYPE, DOMAIN, VALID_IN_DOMAIN, CREATED, NAME, DESCRIPTION, PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8 "
|
||||
+ "FROM CLASSIFICATION "
|
||||
+ "WHERE ID = #{id}")
|
||||
@Results({@Result(property = "id", column = "ID"),
|
||||
@Result(property = "key", column = "KEY"),
|
||||
@Result(property = "parentId", column = "PARENT_ID"),
|
||||
@Result(property = "category", column = "CATEGORY"),
|
||||
@Result(property = "type", column = "TYPE"),
|
||||
@Result(property = "domain", column = "DOMAIN"),
|
||||
@Result(property = "isValidInDomain", column = "VALID_IN_DOMAIN"),
|
||||
@Result(property = "created", column = "CREATED"),
|
||||
@Result(property = "name", column = "NAME"),
|
||||
@Result(property = "description", column = "DESCRIPTION"),
|
||||
@Result(property = "priority", column = "PRIORITY"),
|
||||
@Result(property = "serviceLevel", column = "SERVICE_LEVEL"),
|
||||
@Result(property = "applicationEntryPoint", column = "APPLICATION_ENTRY_POINT"),
|
||||
@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")})
|
||||
ClassificationImpl findById(@Param("id") String id);
|
||||
|
||||
@Insert("INSERT INTO CLASSIFICATION (ID, KEY, PARENT_ID, CATEGORY, TYPE, DOMAIN, VALID_IN_DOMAIN, CREATED, NAME, DESCRIPTION, PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8) VALUES (#{classification.id}, #{classification.key}, #{classification.parentId}, #{classification.category}, #{classification.type}, #{classification.domain}, #{classification.isValidInDomain}, #{classification.created}, #{classification.name}, #{classification.description}, #{classification.priority}, #{classification.serviceLevel}, #{classification.applicationEntryPoint}, #{classification.custom1}, #{classification.custom2}, #{classification.custom3}, #{classification.custom4}, #{classification.custom5}, #{classification.custom6}, #{classification.custom7}, #{classification.custom8})")
|
||||
void insert(@Param("classification") ClassificationImpl classification);
|
||||
|
||||
|
|
|
@ -30,7 +30,8 @@ public class GetClassificationAccTest extends AbstractAccTest {
|
|||
@Test
|
||||
public void testFindAllClassifications() {
|
||||
ClassificationService classificationService = taskanaEngine.getClassificationService();
|
||||
List<ClassificationSummary> classificationSummaryList = classificationService.createClassificationQuery().list();
|
||||
List<ClassificationSummary> classificationSummaryList = classificationService.createClassificationQuery()
|
||||
.list();
|
||||
Assert.assertNotNull(classificationSummaryList);
|
||||
}
|
||||
|
||||
|
@ -41,6 +42,22 @@ public class GetClassificationAccTest extends AbstractAccTest {
|
|||
Assert.assertNotNull(classification);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetOneClassificationById() throws ClassificationNotFoundException {
|
||||
ClassificationService classificationService = taskanaEngine.getClassificationService();
|
||||
Classification classification = classificationService
|
||||
.getClassification("CLI:100000000000000000000000000000000011");
|
||||
Assert.assertNotNull(classification);
|
||||
}
|
||||
|
||||
@Test(expected = ClassificationNotFoundException.class)
|
||||
public void testGetOneClassificationByIdFails() throws ClassificationNotFoundException {
|
||||
ClassificationService classificationService = taskanaEngine.getClassificationService();
|
||||
Classification classification = classificationService
|
||||
.getClassification("CLI:100000000470000000000000000000000011");
|
||||
Assert.fail("ClassificationNotFoundException was expected");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetOneClassificationForDomainAndGetClassificationFromRootDomain()
|
||||
throws ClassificationNotFoundException {
|
||||
|
|
|
@ -69,7 +69,7 @@ public class UpdateClassificationAccTest extends AbstractAccTest {
|
|||
String newName = "updated Name";
|
||||
String newEntryPoint = "updated EntryPoint";
|
||||
ClassificationService classificationService = taskanaEngine.getClassificationService();
|
||||
Classification classification = classificationService.newClassification("OTHER_DOMAIN", "NO REGISTERED KEY",
|
||||
Classification classification = classificationService.newClassification("NO REGISTERED KEY", "OTHER_DOMAIN",
|
||||
"DOCUMENT");
|
||||
classification.setApplicationEntryPoint(newEntryPoint);
|
||||
classification.setCategory("PROCESS");
|
||||
|
|
|
@ -142,7 +142,7 @@ public class ClassificationServiceImplIntAutoCommitTest {
|
|||
assertThat(actualClassification.getKey(), equalTo(key));
|
||||
assertThat(actualClassification.getDomain(), equalTo(domain + "_2"));
|
||||
assertThat(actualClassification.getId(), startsWith(ID_PREFIX_CLASSIFICATION));
|
||||
//verify that
|
||||
// verify that
|
||||
Classification rootResults = classificationService.getClassification(key, "");
|
||||
assertThat(rootResults, not(equalTo(null)));
|
||||
|
||||
|
@ -396,7 +396,7 @@ public class ClassificationServiceImplIntAutoCommitTest {
|
|||
}
|
||||
|
||||
private Classification createDummyClassificationWithUniqueKey(String domain, String type) {
|
||||
Classification classification = classificationService.newClassification(domain, "TEST" + counter, type);
|
||||
Classification classification = classificationService.newClassification("TEST" + counter, domain, type);
|
||||
counter++;
|
||||
return classification;
|
||||
}
|
||||
|
|
|
@ -437,7 +437,7 @@ public class ClassificationServiceImplIntExplicitTest {
|
|||
}
|
||||
|
||||
private Classification createNewClassificationWithUniqueKey(String domain, String type) {
|
||||
Classification classification = classificationService.newClassification(domain, "TEST" + counter, type);
|
||||
Classification classification = classificationService.newClassification("TEST" + counter, domain, type);
|
||||
counter++;
|
||||
return classification;
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ public class TaskServiceImplIntAutocommitTest {
|
|||
wb.setName("workbasket");
|
||||
wb.setType(WorkbasketType.GROUP);
|
||||
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
|
||||
Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
|
||||
Classification classification = classificationService.newClassification("TEST", "novatec", "t1");
|
||||
taskanaEngine.getClassificationService().createClassification(classification);
|
||||
|
||||
Task task = taskServiceImpl.newTask(wb.getId());
|
||||
|
@ -131,7 +131,7 @@ public class TaskServiceImplIntAutocommitTest {
|
|||
wb.setType(WorkbasketType.GROUP);
|
||||
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
|
||||
|
||||
Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
|
||||
Classification classification = classificationService.newClassification("TEST", "novatec", "t1");
|
||||
classification = taskanaEngine.getClassificationService()
|
||||
.createClassification(classification);
|
||||
classification = taskanaEngine.getClassificationService().getClassification(
|
||||
|
@ -166,7 +166,7 @@ public class TaskServiceImplIntAutocommitTest {
|
|||
wb.setName("workbasket");
|
||||
wb.setType(WorkbasketType.GROUP);
|
||||
te.getWorkbasketService().createWorkbasket(wb);
|
||||
Classification classification = te.getClassificationService().newClassification("novatec", "TEST", "t1");
|
||||
Classification classification = te.getClassificationService().newClassification("TEST", "novatec", "t1");
|
||||
te.getClassificationService().createClassification(classification);
|
||||
|
||||
Task task = taskServiceImpl.newTask(wb.getId());
|
||||
|
@ -187,7 +187,7 @@ public class TaskServiceImplIntAutocommitTest {
|
|||
wb.setName("workbasket");
|
||||
wb.setType(WorkbasketType.GROUP);
|
||||
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
|
||||
Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
|
||||
Classification classification = classificationService.newClassification("TEST", "novatec", "t1");
|
||||
taskanaEngine.getClassificationService().createClassification(classification);
|
||||
|
||||
Task task = taskServiceImpl.newTask(wb.getKey(), wb.getDomain());
|
||||
|
@ -246,7 +246,7 @@ public class TaskServiceImplIntAutocommitTest {
|
|||
destinationWB = workbasketService.createWorkbasket(wb);
|
||||
|
||||
// Classification required for Task
|
||||
classification = (ClassificationImpl) classificationService.newClassification("domain", "KEY", "t1");
|
||||
classification = (ClassificationImpl) classificationService.newClassification("KEY", "domain", "t1");
|
||||
classification.setCategory("Test Classification");
|
||||
classification.setName("Transfert-Task Classification");
|
||||
classificationService.createClassification(classification);
|
||||
|
@ -297,8 +297,8 @@ public class TaskServiceImplIntAutocommitTest {
|
|||
classificationService = taskanaEngine.getClassificationService();
|
||||
workbasketService = taskanaEngine.getWorkbasketService();
|
||||
|
||||
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification("test-domain",
|
||||
"KEY", "t1");
|
||||
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification("KEY",
|
||||
"test-domain", "t1");
|
||||
classification.setCategory("Test Classification");
|
||||
classification.setName("Transfert-Task Classification");
|
||||
classificationService.createClassification(classification);
|
||||
|
@ -376,7 +376,7 @@ public class TaskServiceImplIntAutocommitTest {
|
|||
wb.setName("workbasket");
|
||||
wb.setType(WorkbasketType.GROUP);
|
||||
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
|
||||
Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
|
||||
Classification classification = classificationService.newClassification("TEST", "novatec", "t1");
|
||||
taskanaEngine.getClassificationService().createClassification(classification);
|
||||
|
||||
Task task = taskServiceImpl.newTask(wb.getId());
|
||||
|
|
|
@ -118,7 +118,7 @@ public class TaskServiceImplIntExplicitTest {
|
|||
workbasket.setId("1"); // set id manually for authorization tests
|
||||
|
||||
workbasket.setType(WorkbasketType.GROUP);
|
||||
Classification classification = classificationService.newClassification("novatec", "TEST", "type1");
|
||||
Classification classification = classificationService.newClassification("TEST", "novatec", "type1");
|
||||
taskanaEngineImpl.getWorkbasketService().createWorkbasket(workbasket);
|
||||
taskanaEngineImpl.getClassificationService().createClassification(classification);
|
||||
connection.commit();
|
||||
|
@ -189,7 +189,7 @@ public class TaskServiceImplIntExplicitTest {
|
|||
workbasket.setName("workbasket99");
|
||||
workbasket.setType(WorkbasketType.GROUP);
|
||||
workbasket = workBasketServiceImpl.createWorkbasket(workbasket);
|
||||
Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
|
||||
Classification classification = classificationService.newClassification("TEST", "novatec", "t1");
|
||||
classification = classificationServiceImpl.createClassification(classification);
|
||||
|
||||
Task task = taskServiceImpl.newTask(workbasket.getId());
|
||||
|
@ -215,7 +215,7 @@ public class TaskServiceImplIntExplicitTest {
|
|||
|
||||
generateSampleAccessItems();
|
||||
|
||||
Classification classification = classificationService.newClassification("novatec", "TEST1", "t1");
|
||||
Classification classification = classificationService.newClassification("TEST1", "novatec", "t1");
|
||||
classification.setCategory("MANUAL");
|
||||
classification.setName("classification name");
|
||||
classification.setServiceLevel("P1D");
|
||||
|
@ -305,8 +305,8 @@ public class TaskServiceImplIntExplicitTest {
|
|||
wb = workbasketService.createWorkbasket(wb);
|
||||
this.createWorkbasketWithSecurity(wb, CurrentUserContext.getUserid(), true, true,
|
||||
true, false);
|
||||
Classification classification = classificationService.newClassification(wb.getDomain(),
|
||||
UUID.randomUUID().toString(), "t1"); // not persisted,
|
||||
Classification classification = classificationService.newClassification(
|
||||
UUID.randomUUID().toString(), wb.getDomain(), "t1"); // not persisted,
|
||||
// not found.
|
||||
classification.setName("not persisted - so not found.");
|
||||
|
||||
|
@ -328,7 +328,7 @@ public class TaskServiceImplIntExplicitTest {
|
|||
|
||||
WorkbasketImpl workbasket = (WorkbasketImpl) workbasketService.newWorkbasket("k1", "novatec");
|
||||
workbasket.setName("workbasket");
|
||||
Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
|
||||
Classification classification = classificationService.newClassification("TEST", "novatec", "t1");
|
||||
classificationService.createClassification(classification);
|
||||
workbasket.setId("1"); // set id manually for authorization tests
|
||||
workbasket.setType(WorkbasketType.GROUP);
|
||||
|
@ -399,7 +399,7 @@ public class TaskServiceImplIntExplicitTest {
|
|||
createWorkbasketWithSecurity(destinationWB, destinationWB.getOwner(), false, true, true, true);
|
||||
|
||||
// Classification required for Task
|
||||
classification = (ClassificationImpl) classificationService.newClassification("domain", "KEY", "t1");
|
||||
classification = (ClassificationImpl) classificationService.newClassification("KEY", "domain", "t1");
|
||||
classification.setCategory("Test Classification");
|
||||
classification.setName("Transfert-Task Classification");
|
||||
classificationService.createClassification(classification);
|
||||
|
@ -455,8 +455,8 @@ public class TaskServiceImplIntExplicitTest {
|
|||
classificationService = taskanaEngine.getClassificationService();
|
||||
workbasketService = taskanaEngine.getWorkbasketService();
|
||||
|
||||
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification("test-domain",
|
||||
"KEY", "t1");
|
||||
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(
|
||||
"KEY", "test-domain", "t1");
|
||||
classification.setCategory("Test Classification");
|
||||
classification.setName("Transfert-Task Classification");
|
||||
classificationService.createClassification(classification);
|
||||
|
@ -532,7 +532,7 @@ public class TaskServiceImplIntExplicitTest {
|
|||
workbasket.setType(WorkbasketType.GROUP);
|
||||
taskanaEngine.getWorkbasketService().createWorkbasket(workbasket);
|
||||
|
||||
Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
|
||||
Classification classification = classificationService.newClassification("TEST", "novatec", "t1");
|
||||
taskanaEngine.getClassificationService().createClassification(classification);
|
||||
|
||||
Task task = taskServiceImpl.newTask(workbasket.getId());
|
||||
|
|
Loading…
Reference in New Issue