TSK-139 update a classification

This commit is contained in:
BerndBreier 2018-01-12 13:31:37 +01:00 committed by Marcel Lengl
parent 83cff45c48
commit edddcce2a0
14 changed files with 182 additions and 195 deletions

View File

@ -47,9 +47,7 @@ public class TaskanaRestTest {
workbasket.setDomain("cdiDomain"); workbasket.setDomain("cdiDomain");
workbasket.setType(WorkbasketType.PERSONAL); workbasket.setType(WorkbasketType.PERSONAL);
taskanaEjb.getWorkbasketService().createWorkbasket(workbasket); taskanaEjb.getWorkbasketService().createWorkbasket(workbasket);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("cdiDomain", "TEST", "t1");
classification.setKey("TEST");
classification.setDomain("cdiDomain");
taskanaEjb.getClassificationService().createClassification(classification); taskanaEjb.getClassificationService().createClassification(classification);
Task task = taskanaEjb.getTaskService().newTask(); Task task = taskanaEjb.getTaskService().newTask();

View File

@ -18,14 +18,7 @@ public interface Classification {
String getKey(); String getKey();
/** /**
* Set/Change the classification key.
*
* @param key
* The key of the classification.
*/
void setKey(String key);
/**
* Used to get the ID of the parent classification. There will be no value if the current classification is a * Used to get the ID of the parent classification. There will be no value if the current classification is a
* parent-classification. * parent-classification.
* *
@ -51,7 +44,7 @@ public interface Classification {
* Set/Change the category of this classification. * Set/Change the category of this classification.
* *
* @param category * @param category
* TODO * The category of the classification.
*/ */
void setCategory(String category); void setCategory(String category);
@ -102,7 +95,7 @@ public interface Classification {
* Set/Change the classification name. * Set/Change the classification name.
* *
* @param name * @param name
* TODO * the name of the Classification
*/ */
void setName(String name); void setName(String name);
@ -117,7 +110,7 @@ public interface Classification {
* Set/Change the classification description. * Set/Change the classification description.
* *
* @param description * @param description
* TODO * the description of the Classification
*/ */
void setDescription(String description); void setDescription(String description);
@ -132,7 +125,7 @@ public interface Classification {
* Set/Change the numeric priority of a classification. * Set/Change the numeric priority of a classification.
* *
* @param priority * @param priority
* TODO * the Priority of the Classification
*/ */
void setPriority(int priority); void setPriority(int priority);
@ -144,10 +137,11 @@ public interface Classification {
String getServiceLevel(); String getServiceLevel();
/** /**
* Set/Change the security level. * Set/Change the service level.
* *
* @param serviceLevel * @param serviceLevel
* TODO * the service level. Must be a String in ISO-8601 duration format. See the parse() method of
* {@code Duration} for details.
*/ */
void setServiceLevel(String serviceLevel); void setServiceLevel(String serviceLevel);
@ -162,7 +156,7 @@ public interface Classification {
* Set the logical name of the associated application entry point. * Set the logical name of the associated application entry point.
* *
* @param applicationEntryPoint * @param applicationEntryPoint
* TODO * The application entry point
*/ */
void setApplicationEntryPoint(String applicationEntryPoint); void setApplicationEntryPoint(String applicationEntryPoint);
@ -177,7 +171,7 @@ public interface Classification {
* Set/Change the 1. custom-attribute. * Set/Change the 1. custom-attribute.
* *
* @param custom1 * @param custom1
* TODO * the first custom attribute
*/ */
void setCustom1(String custom1); void setCustom1(String custom1);
@ -192,7 +186,7 @@ public interface Classification {
* Set/Change the 2. custom-attribute. * Set/Change the 2. custom-attribute.
* *
* @param custom2 * @param custom2
* TODO * the second custom attribute
*/ */
void setCustom2(String custom2); void setCustom2(String custom2);
@ -207,7 +201,7 @@ public interface Classification {
* Set/Change the 3. custom-attribute. * Set/Change the 3. custom-attribute.
* *
* @param custom3 * @param custom3
* TODO * the third custom attribute
*/ */
void setCustom3(String custom3); void setCustom3(String custom3);
@ -222,7 +216,7 @@ public interface Classification {
* Set/Change the 4. custom-attribute. * Set/Change the 4. custom-attribute.
* *
* @param custom4 * @param custom4
* TODO * the fourth custom attribute
*/ */
void setCustom4(String custom4); void setCustom4(String custom4);
@ -237,7 +231,7 @@ public interface Classification {
* Set/Change the 5. custom-attribute. * Set/Change the 5. custom-attribute.
* *
* @param custom5 * @param custom5
* TODO * the fifth custom attribute
*/ */
void setCustom5(String custom5); void setCustom5(String custom5);
@ -252,7 +246,7 @@ public interface Classification {
* Set/Change the 6. custom-attribute. * Set/Change the 6. custom-attribute.
* *
* @param custom6 * @param custom6
* TODO * the sixth custom attribute
*/ */
void setCustom6(String custom6); void setCustom6(String custom6);
@ -267,7 +261,7 @@ public interface Classification {
* Set/Change the 7. custom-attribute. * Set/Change the 7. custom-attribute.
* *
* @param custom7 * @param custom7
* TODO * the seventh custom attribute
*/ */
void setCustom7(String custom7); void setCustom7(String custom7);
@ -282,7 +276,7 @@ public interface Classification {
* Set/Change the 8. custom-attribute. * Set/Change the 8. custom-attribute.
* *
* @param custom8 * @param custom8
* TODO * the eight custom attribute
*/ */
void setCustom8(String custom8); void setCustom8(String custom8);

View File

@ -4,7 +4,6 @@ import java.util.List;
import pro.taskana.exceptions.ClassificationAlreadyExistException; import pro.taskana.exceptions.ClassificationAlreadyExistException;
import pro.taskana.exceptions.ClassificationNotFoundException; import pro.taskana.exceptions.ClassificationNotFoundException;
import pro.taskana.exceptions.NotAuthorizedException;
/** /**
* This class manages the classifications. * This class manages the classifications.
@ -12,13 +11,12 @@ import pro.taskana.exceptions.NotAuthorizedException;
public interface ClassificationService { public interface ClassificationService {
/** /**
* Get all available Classifications as a tree. * Get all available Classification summaries as a tree.
* *
* @return The List of all ClassificationSummaries
* @throws NotAuthorizedException * @return The List of all Classification summaries
* if the permissions are not granted for this specific interaction.
*/ */
List<ClassificationSummary> getClassificationTree() throws NotAuthorizedException; List<ClassificationSummary> getClassificationTree();
/** /**
* Get all ClassificationSummaries with the given key. Returns also older and domain-specific versions of the * Get all ClassificationSummaries with the given key. Returns also older and domain-specific versions of the
@ -64,10 +62,11 @@ public interface ClassificationService {
* *
* @param classification * @param classification
* the Classification to update * the Classification to update
* @return the updated Classification.
* @throws ClassificationNotFoundException * @throws ClassificationNotFoundException
* when the classification does not exist already. * when the classification does not exist already.
*/ */
void updateClassification(Classification classification) throws ClassificationNotFoundException; Classification updateClassification(Classification classification) throws ClassificationNotFoundException;
/** /**
* This method provides a query builder for quering the database. * This method provides a query builder for quering the database.
@ -80,7 +79,13 @@ public interface ClassificationService {
* Creating a new {@link Classification} with unchangeable default values. It will be only generated and is not * Creating a new {@link Classification} with unchangeable default values. It will be only generated and is not
* persisted until CREATE-call. * persisted until CREATE-call.
* *
* @param domain
* the domain of the new classification
* @param key
* the key of the classification
* @param type
* the type of the new classification
* @return classification to specify * @return classification to specify
*/ */
Classification newClassification(); Classification newClassification(String domain, String key, String type);
} }

View File

@ -1,6 +1,7 @@
package pro.taskana.impl; package pro.taskana.impl;
import java.sql.Date; import java.sql.Date;
import java.time.Duration;
import pro.taskana.Classification; import pro.taskana.Classification;
@ -50,7 +51,6 @@ public class ClassificationImpl implements Classification {
return key; return key;
} }
@Override
public void setKey(String key) { public void setKey(String key) {
this.key = key; this.key = key;
} }
@ -149,6 +149,11 @@ public class ClassificationImpl implements Classification {
@Override @Override
public void setServiceLevel(String serviceLevel) { public void setServiceLevel(String serviceLevel) {
try {
Duration.parse(serviceLevel);
} catch (Exception e) {
throw new IllegalArgumentException("Invalid duration. Please use the format defined by ISO 8601");
}
this.serviceLevel = serviceLevel; this.serviceLevel = serviceLevel;
} }

View File

@ -18,6 +18,7 @@ import pro.taskana.TaskanaEngine;
import pro.taskana.exceptions.ClassificationAlreadyExistException; import pro.taskana.exceptions.ClassificationAlreadyExistException;
import pro.taskana.exceptions.ClassificationNotFoundException; import pro.taskana.exceptions.ClassificationNotFoundException;
import pro.taskana.exceptions.NotAuthorizedException; import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.SystemException;
import pro.taskana.impl.util.IdGenerator; import pro.taskana.impl.util.IdGenerator;
import pro.taskana.impl.util.LoggerUtils; import pro.taskana.impl.util.LoggerUtils;
import pro.taskana.model.mappings.ClassificationMapper; import pro.taskana.model.mappings.ClassificationMapper;
@ -40,7 +41,7 @@ public class ClassificationServiceImpl implements ClassificationService {
} }
@Override @Override
public List<ClassificationSummary> getClassificationTree() throws NotAuthorizedException { public List<ClassificationSummary> getClassificationTree() {
LOGGER.debug("entry to getClassificationTree()"); LOGGER.debug("entry to getClassificationTree()");
List<ClassificationSummary> rootClassificationSumamries = null; List<ClassificationSummary> rootClassificationSumamries = null;
try { try {
@ -51,6 +52,10 @@ public class ClassificationServiceImpl implements ClassificationService {
.list(); .list();
rootClassificationSumamries = this.populateChildClassifications(rootClassificationSumamries); rootClassificationSumamries = this.populateChildClassifications(rootClassificationSumamries);
return rootClassificationSumamries; return rootClassificationSumamries;
} catch (NotAuthorizedException ex) {
LOGGER.debug("getClassificationTree() caught NotAuthorizedException. Throwing SystemException");
throw new SystemException(
"ClassificationService.getClassificationTree caught unexpected NotAuthorizedException");
} finally { } finally {
taskanaEngineImpl.returnConnection(); taskanaEngineImpl.returnConnection();
if (LOGGER.isDebugEnabled()) { if (LOGGER.isDebugEnabled()) {
@ -142,7 +147,7 @@ public class ClassificationServiceImpl implements ClassificationService {
} }
@Override @Override
public void updateClassification(Classification classification) { public Classification updateClassification(Classification classification) {
LOGGER.debug("entry to updateClassification(Classification = {})", classification); LOGGER.debug("entry to updateClassification(Classification = {})", classification);
ClassificationImpl classificationImpl = null; ClassificationImpl classificationImpl = null;
try { try {
@ -168,6 +173,16 @@ public class ClassificationServiceImpl implements ClassificationService {
classificationMapper.insert(classificationImpl); classificationMapper.insert(classificationImpl);
LOGGER.debug("Method updateClassification() inserted classification {}.", classificationImpl); LOGGER.debug("Method updateClassification() inserted classification {}.", classificationImpl);
} }
try {
Classification updatedClassification = this.getClassification(classificationImpl.getKey(),
classificationImpl.getDomain());
return updatedClassification;
} catch (ClassificationNotFoundException e) {
LOGGER.debug(
"Throwing SystemException because updateClassification didn't find new classification {} after update",
classification);
throw new SystemException("updateClassification didn't find new classification after update");
}
} finally { } finally {
taskanaEngineImpl.returnConnection(); taskanaEngineImpl.returnConnection();
LOGGER.debug("exit from updateClassification()."); LOGGER.debug("exit from updateClassification().");
@ -291,8 +306,11 @@ public class ClassificationServiceImpl implements ClassificationService {
} }
@Override @Override
public Classification newClassification() { public Classification newClassification(String domain, String key, String type) {
ClassificationImpl classification = new ClassificationImpl(); ClassificationImpl classification = new ClassificationImpl();
classification.setKey(key);
classification.setDomain(domain);
classification.setType(type);
return classification; return classification;
} }

View File

@ -6,7 +6,9 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
import java.sql.Date;
import java.sql.SQLException; import java.sql.SQLException;
import java.time.LocalDate;
import java.util.List; import java.util.List;
import org.h2.store.fs.FileUtils; import org.h2.store.fs.FileUtils;
@ -33,6 +35,7 @@ public class UpdateClassificationAccTest extends AbstractAccTest {
String newName = "updated Name"; String newName = "updated Name";
String newEntryPoint = "updated EntryPoint"; String newEntryPoint = "updated EntryPoint";
ClassificationService classificationService = taskanaEngine.getClassificationService(); ClassificationService classificationService = taskanaEngine.getClassificationService();
Classification oldClassification = classificationService.getClassification("T2100", "DOMAIN_A");
Classification classification = classificationService.getClassification("T2100", "DOMAIN_A"); Classification classification = classificationService.getClassification("T2100", "DOMAIN_A");
classification.setApplicationEntryPoint(newEntryPoint); classification.setApplicationEntryPoint(newEntryPoint);
classification.setCategory("PROCESS"); classification.setCategory("PROCESS");
@ -49,6 +52,7 @@ public class UpdateClassificationAccTest extends AbstractAccTest {
classification.setName(newName); classification.setName(newName);
classification.setParentClassificationKey("T2000"); classification.setParentClassificationKey("T2000");
classification.setPriority(1000); classification.setPriority(1000);
classification.setServiceLevel("P2DT3H4M"); classification.setServiceLevel("P2DT3H4M");
classificationService.updateClassification(classification); classificationService.updateClassification(classification);
@ -62,8 +66,17 @@ public class UpdateClassificationAccTest extends AbstractAccTest {
List<ClassificationSummary> classifications = classificationService.getAllClassifications("T2100", List<ClassificationSummary> classifications = classificationService.getAllClassifications("T2100",
"DOMAIN_A"); "DOMAIN_A");
assertEquals(2, classifications.size()); assertEquals(2, classifications.size());
for (ClassificationSummary classif : classifications) {
if (classif.getId().equals(oldClassification.getId())) {
assertEquals("MANUAL", classif.getCategory());
// assert that the old one has the correct valid until information
Date yesterday = Date.valueOf(LocalDate.now().minusDays(1));
assertEquals(yesterday, classif.getValidUntil());
} else {
assertEquals("PROCESS", classif.getCategory());
}
}
// assert that the old one has the correct valid until information
assertThat(classifications.get(0).getValidUntil(), not(equalTo(classifications.get(1).getValidUntil()))); assertThat(classifications.get(0).getValidUntil(), not(equalTo(classifications.get(1).getValidUntil())));
} }

View File

@ -161,7 +161,7 @@ public class ClassificationServiceImplTest {
public void testCreateClassificationIntoRootDomain() public void testCreateClassificationIntoRootDomain()
throws ClassificationAlreadyExistException { throws ClassificationAlreadyExistException {
ClassificationImpl classification = (ClassificationImpl) createDummyClassification(); ClassificationImpl classification = (ClassificationImpl) createDummyClassification();
classification.setDomain(""); ((ClassificationImpl) classification).setDomain("");
doReturn(null).when(classificationMapperMock).findByKeyAndDomain(classification.getKey(), doReturn(null).when(classificationMapperMock).findByKeyAndDomain(classification.getKey(),
classification.getDomain(), ClassificationServiceImpl.CURRENT_CLASSIFICATIONS_VALID_UNTIL); classification.getDomain(), ClassificationServiceImpl.CURRENT_CLASSIFICATIONS_VALID_UNTIL);
@ -183,13 +183,13 @@ public class ClassificationServiceImplTest {
public void testUpdateClassificationAtNewDomain() throws ClassificationNotFoundException { public void testUpdateClassificationAtNewDomain() throws ClassificationNotFoundException {
Classification classification = createDummyClassification(); Classification classification = createDummyClassification();
ClassificationImpl oldClassification = (ClassificationImpl) createDummyClassification(); ClassificationImpl oldClassification = (ClassificationImpl) createDummyClassification();
oldClassification.setDomain(""); ((ClassificationImpl) oldClassification).setDomain("");
doReturn(oldClassification).when(cutSpy).getClassification(classification.getKey(), classification.getDomain()); doReturn(oldClassification).when(cutSpy).getClassification(classification.getKey(), classification.getDomain());
cutSpy.updateClassification(classification); cutSpy.updateClassification(classification);
verify(taskanaEngineImplMock, times(1)).openConnection(); verify(taskanaEngineImplMock, times(1)).openConnection();
verify(cutSpy, times(1)).getClassification(classification.getKey(), classification.getDomain()); verify(cutSpy, times(2)).getClassification(classification.getKey(), classification.getDomain());
verify(classificationMapperMock, times(1)).insert((ClassificationImpl) classification); verify(classificationMapperMock, times(1)).insert((ClassificationImpl) classification);
verify(taskanaEngineImplMock, times(1)).returnConnection(); verify(taskanaEngineImplMock, times(1)).returnConnection();
verifyNoMoreInteractions(classificationMapperMock, taskanaEngineImplMock, classificationQueryImplMock); verifyNoMoreInteractions(classificationMapperMock, taskanaEngineImplMock, classificationQueryImplMock);
@ -210,7 +210,7 @@ public class ClassificationServiceImplTest {
cutSpy.updateClassification(classification); cutSpy.updateClassification(classification);
verify(taskanaEngineImplMock, times(1)).openConnection(); verify(taskanaEngineImplMock, times(1)).openConnection();
verify(cutSpy, times(1)).getClassification(classification.getKey(), classification.getDomain()); verify(cutSpy, times(2)).getClassification(classification.getKey(), classification.getDomain());
verify(classificationMapperMock, times(1)).update(any()); verify(classificationMapperMock, times(1)).update(any());
verify(classificationMapperMock, times(1)).insert(any()); verify(classificationMapperMock, times(1)).insert(any());
verify(taskanaEngineImplMock, times(1)).returnConnection(); verify(taskanaEngineImplMock, times(1)).returnConnection();

View File

@ -240,7 +240,7 @@ public class TaskServiceImplTest {
TaskServiceImpl cutSpy = Mockito.spy(cut); TaskServiceImpl cutSpy = Mockito.spy(cut);
ObjectReference expectedObjectReference = JunitHelper.createDefaultObjRef(); ObjectReference expectedObjectReference = JunitHelper.createDefaultObjRef();
Classification classification = new ClassificationImpl(); ClassificationImpl classification = new ClassificationImpl();
classification.setName("Name"); classification.setName("Name");
classification.setCategory("MANUAL"); classification.setCategory("MANUAL");
classification.setKey("classificationKey"); classification.setKey("classificationKey");

View File

@ -82,7 +82,7 @@ public class ClassificationServiceImplIntAutoCommitTest {
Classification actualClassification2; Classification actualClassification2;
// empty classification (root) // empty classification (root)
expectedClassification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); expectedClassification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey("", "type1");
expectedClassification = (ClassificationImpl) classificationService expectedClassification = (ClassificationImpl) classificationService
.createClassification(expectedClassification); .createClassification(expectedClassification);
actualClassification = classificationService.getClassification(expectedClassification.getKey(), actualClassification = classificationService.getClassification(expectedClassification.getKey(),
@ -93,8 +93,7 @@ public class ClassificationServiceImplIntAutoCommitTest {
assertThat(actualClassification.getId(), startsWith(ID_PREFIX_CLASSIFICATION)); assertThat(actualClassification.getId(), startsWith(ID_PREFIX_CLASSIFICATION));
// specific to domain + root // specific to domain + root
expectedClassification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); expectedClassification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(domain, "type1");
expectedClassification.setDomain(domain);
expectedClassification.setKey(key); expectedClassification.setKey(key);
expectedClassification = (ClassificationImpl) classificationService expectedClassification = (ClassificationImpl) classificationService
.createClassification(expectedClassification); .createClassification(expectedClassification);
@ -117,18 +116,17 @@ public class ClassificationServiceImplIntAutoCommitTest {
// does exist already // does exist already
try { try {
expectedClassification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); expectedClassification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(domain, "type1");
expectedClassification.setKey(key); expectedClassification.setKey(key);
expectedClassification.setDomain(domain);
classificationService.createClassification(expectedClassification); classificationService.createClassification(expectedClassification);
fail("Should have thrown 'ClassificationAlreadyExistException' here."); fail("Should have thrown 'ClassificationAlreadyExistException' here.");
} catch (ClassificationAlreadyExistException e) { } catch (ClassificationAlreadyExistException e) {
} }
// new classification but root existing // new classification but root existing
expectedClassification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); expectedClassification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(domain + "_2",
"type1");
expectedClassification.setKey(key); expectedClassification.setKey(key);
expectedClassification.setDomain(domain + "_2");
classificationService.createClassification(expectedClassification); classificationService.createClassification(expectedClassification);
actualClassification = classificationService.getClassification(key, domain + "_2"); actualClassification = classificationService.getClassification(key, domain + "_2");
assertThat(actualClassification, not(equalTo(null))); assertThat(actualClassification, not(equalTo(null)));
@ -142,8 +140,8 @@ public class ClassificationServiceImplIntAutoCommitTest {
// invalid serviceLevel // invalid serviceLevel
try { try {
expectedClassification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); expectedClassification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(domain + "_3",
expectedClassification.setDomain(domain + "_3"); "type1");
expectedClassification.setKey(""); expectedClassification.setKey("");
expectedClassification.setServiceLevel("ASAP"); expectedClassification.setServiceLevel("ASAP");
classificationService.createClassification(expectedClassification); classificationService.createClassification(expectedClassification);
@ -156,11 +154,11 @@ public class ClassificationServiceImplIntAutoCommitTest {
public void testFindAllClassifications() public void testFindAllClassifications()
throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException, throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException,
InvalidArgumentException { InvalidArgumentException {
Classification classification0 = this.createDummyClassificationWithUniqueKey(); Classification classification0 = this.createDummyClassificationWithUniqueKey("", "type1");
classificationService.createClassification(classification0); classificationService.createClassification(classification0);
Classification classification1 = this.createDummyClassificationWithUniqueKey(); Classification classification1 = this.createDummyClassificationWithUniqueKey("", "type1");
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
Classification classification2 = this.createDummyClassificationWithUniqueKey(); Classification classification2 = this.createDummyClassificationWithUniqueKey("", "type1");
classification2.setParentClassificationKey(classification0.getKey()); classification2.setParentClassificationKey(classification0.getKey());
classificationService.createClassification(classification2); classificationService.createClassification(classification2);
@ -171,7 +169,7 @@ public class ClassificationServiceImplIntAutoCommitTest {
public void testModifiedClassification() public void testModifiedClassification()
throws ClassificationAlreadyExistException, ClassificationNotFoundException { throws ClassificationAlreadyExistException, ClassificationNotFoundException {
Classification classification = this.createDummyClassificationWithUniqueKey(); Classification classification = this.createDummyClassificationWithUniqueKey("domain1", "type1");
classificationService.createClassification(classification); classificationService.createClassification(classification);
classification.setDescription("TEST SOMETHING"); classification.setDescription("TEST SOMETHING");
classificationService.updateClassification(classification); classificationService.updateClassification(classification);
@ -183,7 +181,7 @@ public class ClassificationServiceImplIntAutoCommitTest {
public void testInsertAndClassificationMapper() public void testInsertAndClassificationMapper()
throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException, throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException,
InvalidArgumentException { InvalidArgumentException {
Classification classification = this.createDummyClassificationWithUniqueKey(); Classification classification = this.createDummyClassificationWithUniqueKey("", "type1");
Classification actualClassification = classificationService.createClassification(classification); Classification actualClassification = classificationService.createClassification(classification);
Date today = Date.valueOf(LocalDate.now()); Date today = Date.valueOf(LocalDate.now());
List<ClassificationSummary> list = classificationService.createClassificationQuery() List<ClassificationSummary> list = classificationService.createClassificationQuery()
@ -199,7 +197,7 @@ public class ClassificationServiceImplIntAutoCommitTest {
@Test @Test
public void testUpdateAndClassificationMapper() public void testUpdateAndClassificationMapper()
throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException { throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException {
ClassificationImpl classification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); Classification classification = this.createDummyClassificationWithUniqueKey("", "type1");
classificationService.createClassification(classification); classificationService.createClassification(classification);
System.out.println(classification.getId()); System.out.println(classification.getId());
classification.setDescription("description"); classification.setDescription("description");
@ -212,33 +210,30 @@ public class ClassificationServiceImplIntAutoCommitTest {
list = classificationService.createClassificationQuery().validInDomain(true).list(); list = classificationService.createClassificationQuery().validInDomain(true).list();
Assert.assertEquals(2, list.size()); Assert.assertEquals(2, list.size());
classification.setDomain("domain");
classificationService.updateClassification(classification); classificationService.updateClassification(classification);
System.out.println(classification.getId()); System.out.println(classification.getId());
list = classificationService.createClassificationQuery().validUntil(Date.valueOf("9999-12-31")).list(); list = classificationService.createClassificationQuery().validUntil(Date.valueOf("9999-12-31")).list();
Assert.assertEquals(2, list.size()); Assert.assertEquals(1, list.size());
System.out.println(classification.getParentClassificationKey()); System.out.println(classification.getParentClassificationKey());
List<ClassificationSummary> temp = classificationService.getClassificationTree(); List<ClassificationSummary> temp = classificationService.getClassificationTree();
List<ClassificationSummary> allClassifications = new ArrayList<>(); List<ClassificationSummary> allClassifications = new ArrayList<>();
temp.stream().forEach(c -> allClassifications.add(c)); temp.stream().forEach(c -> allClassifications.add(c));
Assert.assertEquals(2, allClassifications.size()); Assert.assertEquals(1, allClassifications.size());
} }
@Test @Test
public void testFindWithClassificationMapperDomainAndCategory() public void testFindWithClassificationMapperDomainAndCategory()
throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException { throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException,
ClassificationImpl classification1 = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); InvalidArgumentException {
classification1.setDomain("domain1"); Classification classification1 = this.createDummyClassificationWithUniqueKey("domain1", "type1");
classification1.setCategory("category1"); classification1.setCategory("category1");
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
ClassificationImpl classification2 = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); Classification classification2 = this.createDummyClassificationWithUniqueKey("domain2", "type1");
classification2.setDomain("domain2");
classification2.setCategory("category1"); classification2.setCategory("category1");
classificationService.createClassification(classification2); classificationService.createClassification(classification2);
ClassificationImpl classification3 = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); Classification classification3 = this.createDummyClassificationWithUniqueKey("domain1", "type1");
classification3.setDomain("domain1");
classification3.setCategory("category2"); classification3.setCategory("category2");
classificationService.createClassification(classification3); classificationService.createClassification(classification3);
@ -255,21 +250,21 @@ public class ClassificationServiceImplIntAutoCommitTest {
public void testFindWithClassificationMapperCustomAndCategory() public void testFindWithClassificationMapperCustomAndCategory()
throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException, throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException,
InvalidArgumentException { InvalidArgumentException {
Classification classification1 = this.createDummyClassificationWithUniqueKey(); Classification classification1 = this.createDummyClassificationWithUniqueKey("", "type1");
classification1.setDescription("DESC1"); classification1.setDescription("DESC1");
classification1.setCategory("category1"); classification1.setCategory("category1");
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
Classification classification2 = this.createDummyClassificationWithUniqueKey(); Classification classification2 = this.createDummyClassificationWithUniqueKey("", "type1");
classification2.setDescription("DESC1"); classification2.setDescription("DESC1");
classification2.setCustom1("custom1"); classification2.setCustom1("custom1");
classification2.setCategory("category1"); classification2.setCategory("category1");
classificationService.createClassification(classification2); classificationService.createClassification(classification2);
Classification classification3 = this.createDummyClassificationWithUniqueKey(); Classification classification3 = this.createDummyClassificationWithUniqueKey("", "type1");
classification3.setCustom1("custom2"); classification3.setCustom1("custom2");
classification3.setCustom2("custom1"); classification3.setCustom2("custom1");
classification3.setCategory("category2"); classification3.setCategory("category2");
classificationService.createClassification(classification3); classificationService.createClassification(classification3);
Classification classification4 = this.createDummyClassificationWithUniqueKey(); Classification classification4 = this.createDummyClassificationWithUniqueKey("", "type1");
classification4.setDescription("description2"); classification4.setDescription("description2");
classification4.setCustom8("custom2"); classification4.setCustom8("custom2");
classification4.setCategory("category1"); classification4.setCategory("category1");
@ -288,24 +283,22 @@ public class ClassificationServiceImplIntAutoCommitTest {
@Test @Test
public void testFindWithClassificationMapperPriorityTypeAndParent() public void testFindWithClassificationMapperPriorityTypeAndParent()
throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException { throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException,
ClassificationImpl classification = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); NumberFormatException, InvalidArgumentException {
Classification classification = this.createDummyClassificationWithUniqueKey("", "type1");
classification.setPriority(Integer.decode("5")); classification.setPriority(Integer.decode("5"));
classification.setType("type1");
classificationService.createClassification(classification); classificationService.createClassification(classification);
ClassificationImpl classification1 = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); Classification classification1 = this.createDummyClassificationWithUniqueKey("", "type1");
classification1.setPriority(Integer.decode("3")); classification1.setPriority(Integer.decode("3"));
classification1.setType("type1");
classification1.setParentClassificationKey(classification.getKey()); classification1.setParentClassificationKey(classification.getKey());
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
ClassificationImpl classification2 = (ClassificationImpl) this.createDummyClassificationWithUniqueKey(); Classification classification2 = this.createDummyClassificationWithUniqueKey("", "type2");
classification2.setPriority(Integer.decode("5")); classification2.setPriority(Integer.decode("5"));
classification2.setType("type2");
classification2.setParentClassificationKey(classification.getKey()); classification2.setParentClassificationKey(classification.getKey());
classificationService.createClassification(classification2); classificationService.createClassification(classification2);
ClassificationImpl classification3 = (ClassificationImpl) this.createDummyClassificationWithUniqueKey();
Classification classification3 = this.createDummyClassificationWithUniqueKey("", "type1");
classification3.setPriority(Integer.decode("5")); classification3.setPriority(Integer.decode("5"));
classification3.setType("type1");
classification3.setParentClassificationKey(classification1.getKey()); classification3.setParentClassificationKey(classification1.getKey());
classificationService.createClassification(classification3); classificationService.createClassification(classification3);
@ -328,25 +321,25 @@ public class ClassificationServiceImplIntAutoCommitTest {
throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException, throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException,
InvalidArgumentException { InvalidArgumentException {
int all = 0; int all = 0;
Classification classification = this.createDummyClassificationWithUniqueKey(); Classification classification = this.createDummyClassificationWithUniqueKey("", "type1");
classification.setServiceLevel("P1D"); classification.setServiceLevel("P1D");
classification.setName("name1"); classification.setName("name1");
classification.setDescription("desc"); classification.setDescription("desc");
classificationService.createClassification(classification); classificationService.createClassification(classification);
all++; all++;
Classification classification1 = this.createDummyClassificationWithUniqueKey(); Classification classification1 = this.createDummyClassificationWithUniqueKey("", "type1");
classification1.setServiceLevel("P1DT1H"); classification1.setServiceLevel("P1DT1H");
classification1.setName("name1"); classification1.setName("name1");
classification1.setDescription("desc"); classification1.setDescription("desc");
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
all++; all++;
Classification classification2 = this.createDummyClassificationWithUniqueKey(); Classification classification2 = this.createDummyClassificationWithUniqueKey("", "type1");
classification2.setServiceLevel("P1D"); classification2.setServiceLevel("P1D");
classification2.setName("name"); classification2.setName("name");
classification2.setDescription("desc"); classification2.setDescription("desc");
classificationService.createClassification(classification2); classificationService.createClassification(classification2);
all++; all++;
Classification classification3 = this.createDummyClassificationWithUniqueKey(); Classification classification3 = this.createDummyClassificationWithUniqueKey("", "type1");
classification3.setName("name1"); classification3.setName("name1");
classification3.setDescription("description"); classification3.setDescription("description");
classificationService.createClassification(classification3); classificationService.createClassification(classification3);
@ -366,8 +359,8 @@ public class ClassificationServiceImplIntAutoCommitTest {
public void testDefaultSettingsWithClassificationMapper() public void testDefaultSettingsWithClassificationMapper()
throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException, throws NotAuthorizedException, ClassificationAlreadyExistException, ClassificationNotFoundException,
InvalidArgumentException { InvalidArgumentException {
Classification classification = this.createDummyClassificationWithUniqueKey(); Classification classification = this.createDummyClassificationWithUniqueKey("", "type1");
Classification classification1 = this.createDummyClassificationWithUniqueKey(); Classification classification1 = this.createDummyClassificationWithUniqueKey("", "type1");
classificationService.createClassification(classification); classificationService.createClassification(classification);
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
classification1.setParentClassificationKey(classification.getKey()); classification1.setParentClassificationKey(classification.getKey());
@ -402,9 +395,8 @@ public class ClassificationServiceImplIntAutoCommitTest {
FileUtils.deleteRecursive("~/data", true); FileUtils.deleteRecursive("~/data", true);
} }
private Classification createDummyClassificationWithUniqueKey() { private Classification createDummyClassificationWithUniqueKey(String domain, String type) {
Classification classification = classificationService.newClassification(); Classification classification = classificationService.newClassification(domain, "TEST" + counter, type);
classification.setKey("TEST" + counter);
counter++; counter++;
return classification; return classification;
} }

View File

@ -87,7 +87,7 @@ public class ClassificationServiceImplIntExplicitTest {
Classification actualClassification2; Classification actualClassification2;
// empty classification (root) // empty classification (root)
expectedClassification = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); expectedClassification = (ClassificationImpl) this.createNewClassificationWithUniqueKey("", "t1");
expectedClassification = (ClassificationImpl) classificationService expectedClassification = (ClassificationImpl) classificationService
.createClassification(expectedClassification); .createClassification(expectedClassification);
connection.commit(); connection.commit();
@ -99,8 +99,7 @@ public class ClassificationServiceImplIntExplicitTest {
assertThat(actualClassification.getId(), startsWith(ID_PREFIX_CLASSIFICATION)); assertThat(actualClassification.getId(), startsWith(ID_PREFIX_CLASSIFICATION));
// specific to domain + root // specific to domain + root
expectedClassification = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); expectedClassification = (ClassificationImpl) this.createNewClassificationWithUniqueKey(domain, "t1");
expectedClassification.setDomain(domain);
expectedClassification.setKey(key); expectedClassification.setKey(key);
expectedClassification = (ClassificationImpl) classificationService expectedClassification = (ClassificationImpl) classificationService
.createClassification(expectedClassification); .createClassification(expectedClassification);
@ -124,9 +123,8 @@ public class ClassificationServiceImplIntExplicitTest {
// does exist already // does exist already
try { try {
expectedClassification = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); expectedClassification = (ClassificationImpl) this.createNewClassificationWithUniqueKey(domain, "t1");
expectedClassification.setKey(key); expectedClassification.setKey(key);
expectedClassification.setDomain(domain);
classificationService.createClassification(expectedClassification); classificationService.createClassification(expectedClassification);
connection.commit(); connection.commit();
fail("Should have thrown 'ClassificationAlreadyExistException' here."); fail("Should have thrown 'ClassificationAlreadyExistException' here.");
@ -134,7 +132,7 @@ public class ClassificationServiceImplIntExplicitTest {
} }
// new classification but root existing // new classification but root existing
expectedClassification = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); expectedClassification = (ClassificationImpl) this.createNewClassificationWithUniqueKey("", "t1");
expectedClassification.setKey(key); expectedClassification.setKey(key);
expectedClassification.setDomain(domain + "_2"); expectedClassification.setDomain(domain + "_2");
classificationService.createClassification(expectedClassification); classificationService.createClassification(expectedClassification);
@ -151,7 +149,7 @@ public class ClassificationServiceImplIntExplicitTest {
// invalid serviceLevel // invalid serviceLevel
try { try {
expectedClassification = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); expectedClassification = (ClassificationImpl) this.createNewClassificationWithUniqueKey("", "t1");
expectedClassification.setDomain(domain + "_3"); expectedClassification.setDomain(domain + "_3");
expectedClassification.setKey(""); expectedClassification.setKey("");
expectedClassification.setServiceLevel("ASAP"); expectedClassification.setServiceLevel("ASAP");
@ -168,11 +166,11 @@ public class ClassificationServiceImplIntExplicitTest {
ClassificationNotFoundException { ClassificationNotFoundException {
Connection connection = dataSource.getConnection(); Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection); taskanaEngineImpl.setConnection(connection);
Classification classification0 = this.createNewClassificationWithUniqueKey(); Classification classification0 = this.createNewClassificationWithUniqueKey("", "t1");
classificationService.createClassification(classification0); classificationService.createClassification(classification0);
Classification classification1 = this.createNewClassificationWithUniqueKey(); Classification classification1 = this.createNewClassificationWithUniqueKey("", "t1");
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
Classification classification2 = this.createNewClassificationWithUniqueKey(); Classification classification2 = this.createNewClassificationWithUniqueKey("", "t1");
classification2.setParentClassificationKey(classification0.getKey()); classification2.setParentClassificationKey(classification0.getKey());
classificationService.createClassification(classification2); classificationService.createClassification(classification2);
@ -186,7 +184,7 @@ public class ClassificationServiceImplIntExplicitTest {
Connection connection = dataSource.getConnection(); Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection); taskanaEngineImpl.setConnection(connection);
Classification classification = this.createNewClassificationWithUniqueKey(); Classification classification = this.createNewClassificationWithUniqueKey("novatec", "t1");
connection.commit(); connection.commit();
classificationService.createClassification(classification); classificationService.createClassification(classification);
classification.setDescription("TEST SOMETHING"); classification.setDescription("TEST SOMETHING");
@ -201,7 +199,7 @@ public class ClassificationServiceImplIntExplicitTest {
ClassificationNotFoundException { ClassificationNotFoundException {
Connection connection = dataSource.getConnection(); Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection); taskanaEngineImpl.setConnection(connection);
Classification classification = this.createNewClassificationWithUniqueKey(); Classification classification = this.createNewClassificationWithUniqueKey("", "t1");
classificationService.createClassification(classification); classificationService.createClassification(classification);
Date today = Date.valueOf(LocalDate.now()); Date today = Date.valueOf(LocalDate.now());
List<ClassificationSummary> list = classificationService.createClassificationQuery() List<ClassificationSummary> list = classificationService.createClassificationQuery()
@ -218,7 +216,7 @@ public class ClassificationServiceImplIntExplicitTest {
ClassificationAlreadyExistException, ClassificationNotFoundException, InvalidArgumentException { ClassificationAlreadyExistException, ClassificationNotFoundException, InvalidArgumentException {
Connection connection = dataSource.getConnection(); Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection); taskanaEngineImpl.setConnection(connection);
ClassificationImpl classification = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); Classification classification = this.createNewClassificationWithUniqueKey("", "t1");
classificationService.createClassification(classification); classificationService.createClassification(classification);
System.out.println(classification.getKey()); System.out.println(classification.getKey());
classification.setDescription("description"); classification.setDescription("description");
@ -231,16 +229,15 @@ public class ClassificationServiceImplIntExplicitTest {
list = classificationService.createClassificationQuery().validInDomain(true).list(); list = classificationService.createClassificationQuery().validInDomain(true).list();
Assert.assertEquals(2, list.size()); Assert.assertEquals(2, list.size());
classification.setDomain("domain");
classificationService.updateClassification(classification); classificationService.updateClassification(classification);
System.out.println(classification.getKey()); System.out.println(classification.getKey());
list = classificationService.createClassificationQuery().validUntil(Date.valueOf("9999-12-31")).list(); list = classificationService.createClassificationQuery().validUntil(Date.valueOf("9999-12-31")).list();
Assert.assertEquals(2, list.size()); Assert.assertEquals(1, list.size());
System.out.println(classification.getParentClassificationKey()); System.out.println(classification.getParentClassificationKey());
List<ClassificationSummary> allClassifications = classificationService.getClassificationTree(); List<ClassificationSummary> allClassifications = classificationService.getClassificationTree();
Assert.assertEquals(2, allClassifications.size()); Assert.assertEquals(1, allClassifications.size());
connection.commit(); connection.commit();
} }
@ -250,16 +247,14 @@ public class ClassificationServiceImplIntExplicitTest {
ClassificationNotFoundException { ClassificationNotFoundException {
Connection connection = dataSource.getConnection(); Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection); taskanaEngineImpl.setConnection(connection);
ClassificationImpl classification1 = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); Classification classification1 = this.createNewClassificationWithUniqueKey("domain1", "t1");
classification1.setDomain("domain1");
classification1.setCategory("category1"); classification1.setCategory("category1");
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
ClassificationImpl classification2 = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); Classification classification2 = this.createNewClassificationWithUniqueKey("domain2", "t1");
classification2.setDomain("domain2");
classification2.setCategory("category1"); classification2.setCategory("category1");
classificationService.createClassification(classification2); classificationService.createClassification(classification2);
ClassificationImpl classification3 = (ClassificationImpl) this.createNewClassificationWithUniqueKey();
classification3.setDomain("domain1"); Classification classification3 = this.createNewClassificationWithUniqueKey("domain1", "t1");
classification3.setCategory("category2"); classification3.setCategory("category2");
classificationService.createClassification(classification3); classificationService.createClassification(classification3);
@ -279,21 +274,21 @@ public class ClassificationServiceImplIntExplicitTest {
ClassificationNotFoundException { ClassificationNotFoundException {
Connection connection = dataSource.getConnection(); Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection); taskanaEngineImpl.setConnection(connection);
Classification classification1 = this.createNewClassificationWithUniqueKey(); Classification classification1 = this.createNewClassificationWithUniqueKey("", "t1");
classification1.setDescription("DESC1"); classification1.setDescription("DESC1");
classification1.setCategory("category1"); classification1.setCategory("category1");
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
Classification classification2 = this.createNewClassificationWithUniqueKey(); Classification classification2 = this.createNewClassificationWithUniqueKey("", "t1");
classification2.setDescription("DESC1"); classification2.setDescription("DESC1");
classification2.setCustom1("custom1"); classification2.setCustom1("custom1");
classification2.setCategory("category1"); classification2.setCategory("category1");
classificationService.createClassification(classification2); classificationService.createClassification(classification2);
Classification classification3 = this.createNewClassificationWithUniqueKey(); Classification classification3 = this.createNewClassificationWithUniqueKey("", "t1");
classification3.setCustom1("custom2"); classification3.setCustom1("custom2");
classification3.setCustom2("custom1"); classification3.setCustom2("custom1");
classification3.setCategory("category2"); classification3.setCategory("category2");
classificationService.createClassification(classification3); classificationService.createClassification(classification3);
Classification classification4 = this.createNewClassificationWithUniqueKey(); Classification classification4 = this.createNewClassificationWithUniqueKey("", "t1");
classification4.setDescription("description2"); classification4.setDescription("description2");
classification4.setCustom8("custom2"); classification4.setCustom8("custom2");
classification4.setCategory("category1"); classification4.setCategory("category1");
@ -317,23 +312,19 @@ public class ClassificationServiceImplIntExplicitTest {
ClassificationNotFoundException { ClassificationNotFoundException {
Connection connection = dataSource.getConnection(); Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection); taskanaEngineImpl.setConnection(connection);
ClassificationImpl classification = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); Classification classification = this.createNewClassificationWithUniqueKey("", "type1");
classification.setPriority(Integer.decode("5")); classification.setPriority(Integer.decode("5"));
classification.setType("type1");
classificationService.createClassification(classification); classificationService.createClassification(classification);
ClassificationImpl classification1 = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); Classification classification1 = this.createNewClassificationWithUniqueKey("", "type1");
classification1.setPriority(Integer.decode("3")); classification1.setPriority(Integer.decode("3"));
classification1.setType("type1");
classification1.setParentClassificationKey(classification.getKey()); classification1.setParentClassificationKey(classification.getKey());
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
ClassificationImpl classification2 = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); Classification classification2 = this.createNewClassificationWithUniqueKey("", "type2");
classification2.setPriority(Integer.decode("5")); classification2.setPriority(Integer.decode("5"));
classification2.setType("type2");
classification2.setParentClassificationKey(classification.getKey()); classification2.setParentClassificationKey(classification.getKey());
classificationService.createClassification(classification2); classificationService.createClassification(classification2);
ClassificationImpl classification3 = (ClassificationImpl) this.createNewClassificationWithUniqueKey(); Classification classification3 = this.createNewClassificationWithUniqueKey("", "type1");
classification3.setPriority(Integer.decode("5")); classification3.setPriority(Integer.decode("5"));
classification3.setType("type1");
classification3.setParentClassificationKey(classification1.getKey()); classification3.setParentClassificationKey(classification1.getKey());
classificationService.createClassification(classification3); classificationService.createClassification(classification3);
@ -359,25 +350,25 @@ public class ClassificationServiceImplIntExplicitTest {
Connection connection = dataSource.getConnection(); Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection); taskanaEngineImpl.setConnection(connection);
int all = 0; int all = 0;
Classification classification = this.createNewClassificationWithUniqueKey(); Classification classification = this.createNewClassificationWithUniqueKey("", "type1");
classification.setServiceLevel("P1D"); classification.setServiceLevel("P1D");
classification.setName("name1"); classification.setName("name1");
classification.setDescription("desc"); classification.setDescription("desc");
classificationService.createClassification(classification); classificationService.createClassification(classification);
all++; all++;
Classification classification1 = this.createNewClassificationWithUniqueKey(); Classification classification1 = this.createNewClassificationWithUniqueKey("", "type1");
classification1.setServiceLevel("P1DT1H"); classification1.setServiceLevel("P1DT1H");
classification1.setName("name1"); classification1.setName("name1");
classification1.setDescription("desc"); classification1.setDescription("desc");
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
all++; all++;
Classification classification2 = this.createNewClassificationWithUniqueKey(); Classification classification2 = this.createNewClassificationWithUniqueKey("", "type1");
classification2.setServiceLevel("P1D"); classification2.setServiceLevel("P1D");
classification2.setName("name"); classification2.setName("name");
classification2.setDescription("desc"); classification2.setDescription("desc");
classificationService.createClassification(classification2); classificationService.createClassification(classification2);
all++; all++;
Classification classification3 = this.createNewClassificationWithUniqueKey(); Classification classification3 = this.createNewClassificationWithUniqueKey("", "type1");
classification3.setName("name1"); classification3.setName("name1");
classification3.setDescription("description"); classification3.setDescription("description");
classificationService.createClassification(classification3); classificationService.createClassification(classification3);
@ -399,8 +390,8 @@ public class ClassificationServiceImplIntExplicitTest {
ClassificationAlreadyExistException, ClassificationNotFoundException, InvalidArgumentException { ClassificationAlreadyExistException, ClassificationNotFoundException, InvalidArgumentException {
Connection connection = dataSource.getConnection(); Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection); taskanaEngineImpl.setConnection(connection);
Classification classification = this.createNewClassificationWithUniqueKey(); Classification classification = this.createNewClassificationWithUniqueKey("", "type1");
Classification classification1 = this.createNewClassificationWithUniqueKey(); Classification classification1 = this.createNewClassificationWithUniqueKey("", "type1");
classificationService.createClassification(classification); classificationService.createClassification(classification);
classificationService.createClassification(classification1); classificationService.createClassification(classification1);
classification1.setParentClassificationKey(classification.getKey()); classification1.setParentClassificationKey(classification.getKey());
@ -442,9 +433,8 @@ public class ClassificationServiceImplIntExplicitTest {
FileUtils.deleteRecursive("~/data", true); FileUtils.deleteRecursive("~/data", true);
} }
private Classification createNewClassificationWithUniqueKey() { private Classification createNewClassificationWithUniqueKey(String domain, String type) {
Classification classification = classificationService.newClassification(); Classification classification = classificationService.newClassification(domain, "TEST" + counter, type);
classification.setKey("TEST" + counter);
counter++; counter++;
return classification; return classification;
} }

View File

@ -17,6 +17,7 @@ import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import pro.taskana.Classification;
import pro.taskana.ClassificationService; import pro.taskana.ClassificationService;
import pro.taskana.TaskMonitorService; import pro.taskana.TaskMonitorService;
import pro.taskana.TaskanaEngine; import pro.taskana.TaskanaEngine;
@ -34,7 +35,6 @@ import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.TaskAlreadyExistException; import pro.taskana.exceptions.TaskAlreadyExistException;
import pro.taskana.exceptions.TaskNotFoundException; import pro.taskana.exceptions.TaskNotFoundException;
import pro.taskana.exceptions.WorkbasketNotFoundException; import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.impl.ClassificationImpl;
import pro.taskana.impl.JunitHelper; import pro.taskana.impl.JunitHelper;
import pro.taskana.impl.TaskImpl; import pro.taskana.impl.TaskImpl;
import pro.taskana.impl.TaskServiceImpl; import pro.taskana.impl.TaskServiceImpl;
@ -111,9 +111,7 @@ public class TaskMonitorServiceImplIntAutocommitTest {
workbasket2.setType(WorkbasketType.GROUP); workbasket2.setType(WorkbasketType.GROUP);
workBasketService.createWorkbasket(workbasket2); workBasketService.createWorkbasket(workbasket2);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("novatec", "TEST", "type1");
classification.setKey("TEST");
classification.setDomain("novatec");
classificationService.createClassification(classification); classificationService.createClassification(classification);
TaskImpl task1 = (TaskImpl) taskServiceImpl.newTask(); TaskImpl task1 = (TaskImpl) taskServiceImpl.newTask();

View File

@ -18,6 +18,7 @@ import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import pro.taskana.Classification;
import pro.taskana.ClassificationService; import pro.taskana.ClassificationService;
import pro.taskana.TaskMonitorService; import pro.taskana.TaskMonitorService;
import pro.taskana.TaskanaEngine; import pro.taskana.TaskanaEngine;
@ -35,7 +36,6 @@ import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.TaskAlreadyExistException; import pro.taskana.exceptions.TaskAlreadyExistException;
import pro.taskana.exceptions.TaskNotFoundException; import pro.taskana.exceptions.TaskNotFoundException;
import pro.taskana.exceptions.WorkbasketNotFoundException; import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.impl.ClassificationImpl;
import pro.taskana.impl.JunitHelper; import pro.taskana.impl.JunitHelper;
import pro.taskana.impl.TaskImpl; import pro.taskana.impl.TaskImpl;
import pro.taskana.impl.TaskServiceImpl; import pro.taskana.impl.TaskServiceImpl;
@ -116,9 +116,7 @@ public class TaskMonitorServiceImplIntExplicitTest {
workbasket2.setType(WorkbasketType.GROUP); workbasket2.setType(WorkbasketType.GROUP);
workBasketService.createWorkbasket(workbasket2); workBasketService.createWorkbasket(workbasket2);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("novatec", "TEST", "type1");
classification.setKey("TEST");
classification.setDomain("novatec");
classificationService.createClassification(classification); classificationService.createClassification(classification);
TaskImpl task1 = (TaskImpl) taskServiceImpl.newTask(); TaskImpl task1 = (TaskImpl) taskServiceImpl.newTask();

View File

@ -22,6 +22,7 @@ import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import pro.taskana.Classification;
import pro.taskana.ClassificationService; import pro.taskana.ClassificationService;
import pro.taskana.Task; import pro.taskana.Task;
import pro.taskana.TaskanaEngine; import pro.taskana.TaskanaEngine;
@ -105,9 +106,7 @@ public class TaskServiceImplIntAutocommitTest {
wb.setType(WorkbasketType.GROUP); wb.setType(WorkbasketType.GROUP);
wb.setDomain("novatec"); wb.setDomain("novatec");
taskanaEngine.getWorkbasketService().createWorkbasket(wb); taskanaEngine.getWorkbasketService().createWorkbasket(wb);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
classification.setKey("TEST");
classification.setDomain("novatec");
taskanaEngine.getClassificationService().createClassification(classification); taskanaEngine.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask(); Task task = taskServiceImpl.newTask();
@ -136,12 +135,11 @@ public class TaskServiceImplIntAutocommitTest {
wb.setDomain("novatec"); wb.setDomain("novatec");
wb.setKey("wb1k1"); wb.setKey("wb1k1");
taskanaEngine.getWorkbasketService().createWorkbasket(wb); taskanaEngine.getWorkbasketService().createWorkbasket(wb);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification();
classification.setKey("TEST"); Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
classification.setDomain("novatec"); classification = taskanaEngine.getClassificationService()
classification = (ClassificationImpl) taskanaEngine.getClassificationService()
.createClassification(classification); .createClassification(classification);
classification = (ClassificationImpl) taskanaEngine.getClassificationService().getClassification( classification = taskanaEngine.getClassificationService().getClassification(
classification.getKey(), classification.getKey(),
classification.getDomain()); classification.getDomain());
@ -174,9 +172,7 @@ public class TaskServiceImplIntAutocommitTest {
wb.setType(WorkbasketType.GROUP); wb.setType(WorkbasketType.GROUP);
wb.setDomain("novatec"); wb.setDomain("novatec");
te.getWorkbasketService().createWorkbasket(wb); te.getWorkbasketService().createWorkbasket(wb);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = te.getClassificationService().newClassification("novatec", "TEST", "t1");
classification.setKey("TEST");
classification.setDomain("novatec");
te.getClassificationService().createClassification(classification); te.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask(); Task task = taskServiceImpl.newTask();
@ -200,9 +196,7 @@ public class TaskServiceImplIntAutocommitTest {
wb.setType(WorkbasketType.GROUP); wb.setType(WorkbasketType.GROUP);
wb.setDomain("novatec"); wb.setDomain("novatec");
taskanaEngine.getWorkbasketService().createWorkbasket(wb); taskanaEngine.getWorkbasketService().createWorkbasket(wb);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
classification.setKey("TEST");
classification.setDomain("novatec");
taskanaEngine.getClassificationService().createClassification(classification); taskanaEngine.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask(); Task task = taskServiceImpl.newTask();
@ -242,9 +236,7 @@ public class TaskServiceImplIntAutocommitTest {
dummyWorkbasket.setDomain("novatec"); dummyWorkbasket.setDomain("novatec");
dummyWorkbasket = workbasketService.createWorkbasket(dummyWorkbasket); dummyWorkbasket = workbasketService.createWorkbasket(dummyWorkbasket);
ClassificationImpl dummyClassification = (ClassificationImpl) classificationService.newClassification(); Classification dummyClassification = classificationService.newClassification("novatec", "1", "t1");
dummyClassification.setKey("1");
dummyClassification.setDomain("novatec");
dummyClassification.setName("Dummy-Classification"); dummyClassification.setName("Dummy-Classification");
classificationService.createClassification(dummyClassification); classificationService.createClassification(dummyClassification);
@ -327,11 +319,9 @@ public class TaskServiceImplIntAutocommitTest {
destinationWB = workbasketService.createWorkbasket(wb); destinationWB = workbasketService.createWorkbasket(wb);
// Classification required for Task // Classification required for Task
classification = (ClassificationImpl) classificationService.newClassification(); classification = (ClassificationImpl) classificationService.newClassification("domain", "KEY", "t1");
classification.setCategory("Test Classification"); classification.setCategory("Test Classification");
classification.setDomain("domain");
classification.setName("Transfert-Task Classification"); classification.setName("Transfert-Task Classification");
classification.setKey("KEY");
classificationService.createClassification(classification); classificationService.createClassification(classification);
// Task which should be transfered // Task which should be transfered
@ -381,11 +371,10 @@ public class TaskServiceImplIntAutocommitTest {
classificationService = taskanaEngine.getClassificationService(); classificationService = taskanaEngine.getClassificationService();
workbasketService = taskanaEngine.getWorkbasketService(); workbasketService = taskanaEngine.getWorkbasketService();
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification("test-domain",
"KEY", "t1");
classification.setCategory("Test Classification"); classification.setCategory("Test Classification");
classification.setDomain("test-domain");
classification.setName("Transfert-Task Classification"); classification.setName("Transfert-Task Classification");
classification.setKey("KEY");
classificationService.createClassification(classification); classificationService.createClassification(classification);
WorkbasketImpl wb = (WorkbasketImpl) workbasketService.newWorkbasket(); WorkbasketImpl wb = (WorkbasketImpl) workbasketService.newWorkbasket();
@ -467,9 +456,7 @@ public class TaskServiceImplIntAutocommitTest {
wb.setType(WorkbasketType.GROUP); wb.setType(WorkbasketType.GROUP);
wb.setDomain("novatec"); wb.setDomain("novatec");
taskanaEngine.getWorkbasketService().createWorkbasket(wb); taskanaEngine.getWorkbasketService().createWorkbasket(wb);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
classification.setKey("TEST");
classification.setDomain("novatec");
taskanaEngine.getClassificationService().createClassification(classification); taskanaEngine.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask(); Task task = taskServiceImpl.newTask();

View File

@ -25,6 +25,7 @@ import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import pro.taskana.Classification;
import pro.taskana.ClassificationService; import pro.taskana.ClassificationService;
import pro.taskana.Task; import pro.taskana.Task;
import pro.taskana.TaskanaEngine; import pro.taskana.TaskanaEngine;
@ -114,9 +115,7 @@ public class TaskServiceImplIntExplicitTest {
workbasket.setKey("k1"); workbasket.setKey("k1");
workbasket.setType(WorkbasketType.GROUP); workbasket.setType(WorkbasketType.GROUP);
workbasket.setDomain("novatec"); workbasket.setDomain("novatec");
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("novatec", "TEST", "type1");
classification.setKey("TEST");
classification.setDomain("novatec");
taskanaEngineImpl.getWorkbasketService().createWorkbasket(workbasket); taskanaEngineImpl.getWorkbasketService().createWorkbasket(workbasket);
taskanaEngineImpl.getClassificationService().createClassification(classification); taskanaEngineImpl.getClassificationService().createClassification(classification);
connection.commit(); connection.commit();
@ -189,11 +188,9 @@ public class TaskServiceImplIntExplicitTest {
workbasket.setName("workbasket99"); workbasket.setName("workbasket99");
workbasket.setType(WorkbasketType.GROUP); workbasket.setType(WorkbasketType.GROUP);
workbasket.setDomain("novatec"); workbasket.setDomain("novatec");
workbasket = workBasketServiceImpl.createWorkbasket(workbasket); workBasketServiceImpl.createWorkbasket(workbasket);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
classification.setKey("TEST"); classification = classificationServiceImpl.createClassification(classification);
classification.setDomain("novatec");
classification = (ClassificationImpl) classificationServiceImpl.createClassification(classification);
Task task = taskServiceImpl.newTask(); Task task = taskServiceImpl.newTask();
task.setName("Unit Test Task"); task.setName("Unit Test Task");
@ -218,9 +215,7 @@ public class TaskServiceImplIntExplicitTest {
generateSampleAccessItems(); generateSampleAccessItems();
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("novatec", "TEST1", "t1");
classification.setKey("TEST1");
classification.setDomain("novatec");
classification.setCategory("MANUAL"); classification.setCategory("MANUAL");
classification.setName("classification name"); classification.setName("classification name");
classification.setServiceLevel("P1D"); classification.setServiceLevel("P1D");
@ -317,10 +312,10 @@ public class TaskServiceImplIntExplicitTest {
wb = workbasketService.createWorkbasket(wb); wb = workbasketService.createWorkbasket(wb);
this.createWorkbasketWithSecurity(wb, CurrentUserContext.getUserid(), true, true, this.createWorkbasketWithSecurity(wb, CurrentUserContext.getUserid(), true, true,
true, false); true, false);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification(wb.getDomain(),
classification.setDomain(wb.getDomain()); UUID.randomUUID().toString(), "t1"); // not persisted,
classification.setName("not persisted - so not found object."); // not found.
classification.setKey(UUID.randomUUID().toString()); classification.setName("not persisted - so not found.");
Task task = this.generateDummyTask(); Task task = this.generateDummyTask();
task.setWorkbasketKey(wb.getKey()); task.setWorkbasketKey(wb.getKey());
@ -328,7 +323,7 @@ public class TaskServiceImplIntExplicitTest {
taskServiceImpl.createTask(task); taskServiceImpl.createTask(task);
} }
@WithAccessId(userName = "Elena", groupNames = { "DummyGroup" }) @WithAccessId(userName = "Elena", groupNames = {"DummyGroup"})
@Test @Test
public void should_ReturnList_when_BuilderIsUsed() throws SQLException, NotAuthorizedException, public void should_ReturnList_when_BuilderIsUsed() throws SQLException, NotAuthorizedException,
WorkbasketNotFoundException, ClassificationNotFoundException, ClassificationAlreadyExistException, WorkbasketNotFoundException, ClassificationNotFoundException, ClassificationAlreadyExistException,
@ -340,9 +335,7 @@ public class TaskServiceImplIntExplicitTest {
WorkbasketImpl workbasket = (WorkbasketImpl) workbasketService.newWorkbasket(); WorkbasketImpl workbasket = (WorkbasketImpl) workbasketService.newWorkbasket();
workbasket.setName("workbasket"); workbasket.setName("workbasket");
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
classification.setKey("TEST");
classification.setDomain("novatec");
classificationService.createClassification(classification); classificationService.createClassification(classification);
workbasket.setId("1"); // set id manually for authorization tests workbasket.setId("1"); // set id manually for authorization tests
workbasket.setKey("k1"); workbasket.setKey("k1");
@ -421,11 +414,9 @@ public class TaskServiceImplIntExplicitTest {
createWorkbasketWithSecurity(destinationWB, destinationWB.getOwner(), false, true, true, true); createWorkbasketWithSecurity(destinationWB, destinationWB.getOwner(), false, true, true, true);
// Classification required for Task // Classification required for Task
classification = (ClassificationImpl) classificationService.newClassification(); classification = (ClassificationImpl) classificationService.newClassification("domain", "KEY", "t1");
classification.setCategory("Test Classification"); classification.setCategory("Test Classification");
classification.setDomain("domain");
classification.setName("Transfert-Task Classification"); classification.setName("Transfert-Task Classification");
classification.setKey("KEY");
classificationService.createClassification(classification); classificationService.createClassification(classification);
// Task which should be transfered // Task which should be transfered
@ -480,11 +471,11 @@ public class TaskServiceImplIntExplicitTest {
classificationService = taskanaEngine.getClassificationService(); classificationService = taskanaEngine.getClassificationService();
workbasketService = taskanaEngine.getWorkbasketService(); workbasketService = taskanaEngine.getWorkbasketService();
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification("test-domain",
"KEY",
"t1");
classification.setCategory("Test Classification"); classification.setCategory("Test Classification");
classification.setDomain("test-domain");
classification.setName("Transfert-Task Classification"); classification.setName("Transfert-Task Classification");
classification.setKey("KEY");
classificationService.createClassification(classification); classificationService.createClassification(classification);
WorkbasketImpl wb = (WorkbasketImpl) workbasketService.newWorkbasket(); WorkbasketImpl wb = (WorkbasketImpl) workbasketService.newWorkbasket();
@ -565,9 +556,7 @@ public class TaskServiceImplIntExplicitTest {
workbasket.setDomain("novatec"); workbasket.setDomain("novatec");
taskanaEngine.getWorkbasketService().createWorkbasket(workbasket); taskanaEngine.getWorkbasketService().createWorkbasket(workbasket);
ClassificationImpl classification = (ClassificationImpl) classificationService.newClassification(); Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
classification.setKey("TEST");
classification.setDomain("novatec");
taskanaEngine.getClassificationService().createClassification(classification); taskanaEngine.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask(); Task task = taskServiceImpl.newTask();