From 798e160669500dabdd3486c788774dea5592d271 Mon Sep 17 00:00:00 2001
From: Mustapha Zorgati <15628173+mustaphazorgati@users.noreply.github.com>
Date: Wed, 28 Feb 2018 10:25:37 +0100
Subject: [PATCH] TSK-311 refactoring
---
.travis.yml | 4 ++--
lib/deployment/{deploy.sh => release.sh} | 8 +++----
manifest.yml | 3 +--
rest/taskana-rest-spring-example/pom.xml | 2 +-
.../taskana/rest/ExampleRestApplication.java | 5 +++-
.../rest/security/SampleLoginModule.java | 7 +++++-
.../rest/security/SampleRoleGranter.java | 3 +++
.../rest/security/WebSecurityConfig.java | 3 +++
.../sampledata/SampleDataGenerator.java | 23 ++++++++----------
.../rest/ClassificationController.java | 2 +-
.../ClassificationDefinitionController.java | 2 +-
.../pro/taskana/rest/MonitorController.java | 2 +-
.../pro/taskana/rest/RestConfiguration.java | 18 ++++----------
.../java/pro/taskana/rest/TaskController.java | 2 +-
.../taskana/rest/WorkbasketController.java | 2 +-
.../rest/WorkbasketDefinitionController.java | 4 +---
.../rest/resource/ClassificationResource.java | 2 +-
.../WorkbasketAccessItemResource.java | 2 +-
.../rest/resource/WorkbasketResource.java | 2 +-
.../resource/WorkbasketSummaryResource.java | 2 +-
.../resource/mapper/ClassificationMapper.java | 2 +-
.../mapper/WorkbasketAccessItemMapper.java | 10 ++++----
.../mapper/WorkbasketDefinitionMapper.java | 24 ++++++++-----------
.../resource/mapper/WorkbasketMapper.java | 2 +-
.../mapper/WorkbasketSummaryMapper.java | 2 +-
.../mapper/ClassificationMapperTest.java | 2 +-
.../WorkbasketAccessItemMapperTest.java | 2 +-
.../resource/mapper/WorkbasketMapperTest.java | 2 +-
.../mapper/WorkbasketSummaryMapperTest.java | 2 +-
29 files changed, 70 insertions(+), 76 deletions(-)
rename lib/deployment/{deploy.sh => release.sh} (98%)
rename rest/taskana-rest-spring-example/src/main/java/{ => pro/taskana}/sampledata/SampleDataGenerator.java (85%)
diff --git a/.travis.yml b/.travis.yml
index 18c1cfe72..8495ac98f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -24,8 +24,8 @@ script:
- (cd admin && npm run test-phantom)
&& mvn verify -f lib/
&& mvn verify -f rest/
- && lib/deployment/deploy.sh -ik -p lib/ -m "lib/taskana-core/ lib/taskana-spring/ lib/taskana-cdi/"
- && lib/deployment/deploy.sh -pp -p rest/ -m rest/taskana-rest-spring -mf manifest.yml -swarm lib/taskana-cdi/src/test/java/pro/taskana/TaskanaProducersTest.java
+ && lib/deployment/release.sh -ik -p lib/ -m "lib/taskana-core/ lib/taskana-spring/ lib/taskana-cdi/"
+ && lib/deployment/release.sh -pp -p rest/ -m rest/taskana-rest-spring -mf manifest.yml -swarm lib/taskana-cdi/src/test/java/pro/taskana/TaskanaProducersTest.java
deploy:
provider: cloudfoundry
username: tobias.schaefer@novatec-gmbh.de
diff --git a/lib/deployment/deploy.sh b/lib/deployment/release.sh
similarity index 98%
rename from lib/deployment/deploy.sh
rename to lib/deployment/release.sh
index cfdec9058..5ede91759 100755
--- a/lib/deployment/deploy.sh
+++ b/lib/deployment/release.sh
@@ -1,16 +1,16 @@
#!/bin/bash
set -e #fail fast
-reqRepo="mustaphazorgati/taskana"
+reqRepo="Taskana/taskana"
if [[ -z "$MANIFEST_PREFIX" ]]; then
- MANIFEST_PREFIX="/rest"
+ MANIFEST_PREFIX="target/taskana-rest-spring-example"
fi
#H Usage:
-#H deploy.sh -h | deploy.sh --help
+#H release.sh -h | release.sh --help
#H
#H prints this help and exits
#H
-#H deploy.sh [PARAM...]
+#H release.sh [PARAM...]
#H
#H an easy deployment tool to deploy maven projects.
#H
diff --git a/manifest.yml b/manifest.yml
index 4027e6220..f02e536cd 100644
--- a/manifest.yml
+++ b/manifest.yml
@@ -1,8 +1,7 @@
# Configuration file for Cloud Foundry, see https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html
applications:
- name: taskana-rest
- #TODO: path
- path: rest/target/rest-0.0.8-SNAPSHOT.jar
+ path: rest/taskana-rest-spring-example/target/taskana-rest-spring-example-0.0.8-SNAPSHOT.jar
buildpack: https://github.com/cloudfoundry/java-buildpack.git#v3.10
memory: 512M
disk_quota: 256M
diff --git a/rest/taskana-rest-spring-example/pom.xml b/rest/taskana-rest-spring-example/pom.xml
index f13773779..05e0ffc76 100644
--- a/rest/taskana-rest-spring-example/pom.xml
+++ b/rest/taskana-rest-spring-example/pom.xml
@@ -9,7 +9,7 @@
jar
rest
- Demo project for Spring Boot
+ Demo project for taskana-rest-spring
org.springframework.boot
diff --git a/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/ExampleRestApplication.java b/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/ExampleRestApplication.java
index b517da385..8d05dd7ff 100644
--- a/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/ExampleRestApplication.java
+++ b/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/ExampleRestApplication.java
@@ -10,8 +10,11 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.DependsOn;
import org.springframework.context.annotation.Import;
-import sampledata.SampleDataGenerator;
+import pro.taskana.sampledata.SampleDataGenerator;
+/**
+ * Example Application showing the implementation of taskana-rest-spring.
+ */
@SpringBootApplication
@Import(RestConfiguration.class)
public class ExampleRestApplication {
diff --git a/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/SampleLoginModule.java b/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/SampleLoginModule.java
index 2349f32a1..bfbea05c4 100644
--- a/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/SampleLoginModule.java
+++ b/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/SampleLoginModule.java
@@ -13,6 +13,9 @@ import javax.security.auth.spi.LoginModule;
import pro.taskana.security.GroupPrincipal;
import pro.taskana.security.UserPrincipal;
+/**
+ * TODO.
+ */
public class SampleLoginModule implements LoginModule {
private NameCallback nameCallback;
@@ -45,6 +48,8 @@ public class SampleLoginModule implements LoginModule {
subject.getPrincipals()
.add(new GroupPrincipal("manager" + "_domain_" + username.charAt(0)));
break;
+ default:
+ //necessary for checkstyle
}
subject.getPrincipals().add(new GroupPrincipal("team_" + username.substring(2, 6)));
}
@@ -63,7 +68,7 @@ public class SampleLoginModule implements LoginModule {
nameCallback = new NameCallback("prompt");
passwordCallback = new PasswordCallback("prompt", false);
- callbackHandler.handle(new Callback[] { nameCallback, passwordCallback });
+ callbackHandler.handle(new Callback[] {nameCallback, passwordCallback});
} catch (Exception e) {
throw new RuntimeException(e);
}
diff --git a/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/SampleRoleGranter.java b/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/SampleRoleGranter.java
index 8d2df94f8..6afba562c 100644
--- a/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/SampleRoleGranter.java
+++ b/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/SampleRoleGranter.java
@@ -6,6 +6,9 @@ import java.util.Set;
import org.springframework.security.authentication.jaas.AuthorityGranter;
+/**
+ * TODO.
+ */
public class SampleRoleGranter implements AuthorityGranter {
@Override
diff --git a/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/WebSecurityConfig.java b/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/WebSecurityConfig.java
index b4eb392ed..bc81494a9 100644
--- a/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/WebSecurityConfig.java
+++ b/rest/taskana-rest-spring-example/src/main/java/pro/taskana/rest/security/WebSecurityConfig.java
@@ -21,6 +21,9 @@ import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+/**
+ * TODO.
+ */
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
diff --git a/rest/taskana-rest-spring-example/src/main/java/sampledata/SampleDataGenerator.java b/rest/taskana-rest-spring-example/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java
similarity index 85%
rename from rest/taskana-rest-spring-example/src/main/java/sampledata/SampleDataGenerator.java
rename to rest/taskana-rest-spring-example/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java
index 2128d7a2e..aaa9873cd 100644
--- a/rest/taskana-rest-spring-example/src/main/java/sampledata/SampleDataGenerator.java
+++ b/rest/taskana-rest-spring-example/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java
@@ -1,4 +1,4 @@
-package sampledata;
+package pro.taskana.sampledata;
import java.io.InputStreamReader;
import java.io.PrintWriter;
@@ -11,11 +11,12 @@ import org.apache.ibatis.jdbc.ScriptRunner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+/**
+ * This class generates sample data for manual testing purposes.
+ */
public class SampleDataGenerator {
- private static final Logger logger = LoggerFactory.getLogger(SampleDataGenerator.class);
- private ScriptRunner runner;
-
+ private static final Logger LOGGER = LoggerFactory.getLogger(SampleDataGenerator.class);
private static final String SQL = "/sql";
private static final String TEST_DATA = "/sample-data";
private static final String TASK = SQL + TEST_DATA + "/task.sql";
@@ -24,19 +25,15 @@ public class SampleDataGenerator {
private static final String WORKBASKET_ACCESS_LIST = SQL + TEST_DATA + "/workbasket-access-list.sql";
private static final String CLASSIFICATION = SQL + TEST_DATA + "/classification.sql";
private static final String OBJECT_REFERENCE = SQL + TEST_DATA + "/object-reference.sql";
+ private ScriptRunner runner;
public SampleDataGenerator(DataSource dataSource) throws SQLException {
- if (logger.isDebugEnabled()) {
- logger.debug(dataSource.getConnection().getMetaData().toString());
+ if (LOGGER.isDebugEnabled()) {
+ LOGGER.debug(dataSource.getConnection().getMetaData().toString());
}
runner = new ScriptRunner(dataSource.getConnection());
}
- /**
- * Creates sample data for manual testing purposes.
- *
- * @throws SQLException
- */
public void generateSampleData() throws SQLException {
StringWriter outWriter = new StringWriter();
PrintWriter logWriter = new PrintWriter(outWriter);
@@ -57,9 +54,9 @@ public class SampleDataGenerator {
runner.closeConnection();
- logger.debug(outWriter.toString());
+ LOGGER.debug(outWriter.toString());
if (!errorWriter.toString().trim().isEmpty()) {
- logger.error(errorWriter.toString());
+ LOGGER.error(errorWriter.toString());
}
}
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationController.java
index db4192a0c..eb0ab4cdd 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationController.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationController.java
@@ -29,7 +29,7 @@ import pro.taskana.rest.resource.ClassificationResource;
import pro.taskana.rest.resource.mapper.ClassificationMapper;
/**
- * TODO.
+ * Controller for all {@link Classification} related endpoints.
*/
@RestController
@RequestMapping(path = "/v1/classifications", produces = {MediaType.APPLICATION_JSON_VALUE})
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationDefinitionController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationDefinitionController.java
index de3b8aa1d..f2fa8ca5e 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationDefinitionController.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationDefinitionController.java
@@ -29,7 +29,7 @@ import pro.taskana.rest.resource.ClassificationResource;
import pro.taskana.rest.resource.mapper.ClassificationMapper;
/**
- * TODO.
+ * Controller for Importing / Exporting classifications.
*/
@RestController
@RequestMapping(path = "/v1/classificationdefinitions", produces = {MediaType.APPLICATION_JSON_VALUE})
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/MonitorController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/MonitorController.java
index 6a03d9573..16e186580 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/MonitorController.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/MonitorController.java
@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RestController;
import pro.taskana.TaskState;
/**
- * TODO.
+ * Controller for all monitoring endpoints.
*/
@RestController
@RequestMapping(path = "/v1/monitor", produces = {MediaType.APPLICATION_JSON_VALUE})
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/RestConfiguration.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/RestConfiguration.java
index f18b633a5..2d94d2f6c 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/RestConfiguration.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/RestConfiguration.java
@@ -30,7 +30,7 @@ import pro.taskana.configuration.SpringTaskanaEngineConfiguration;
import pro.taskana.configuration.TaskanaEngineConfiguration;
/**
- * TODO.
+ * Configuration for REST service.
*/
@Configuration
@ComponentScan
@@ -72,7 +72,7 @@ public class RestConfiguration {
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)
- public TaskanaEngine getTaskanaEngine(TaskanaEngineConfiguration taskanaEngineConfiguration) throws SQLException {
+ public TaskanaEngine getTaskanaEngine(TaskanaEngineConfiguration taskanaEngineConfiguration) {
return taskanaEngineConfiguration.buildTaskanaEngine();
}
@@ -82,12 +82,7 @@ public class RestConfiguration {
return new SpringTaskanaEngineConfiguration(dataSource, true, true);
}
- /**
- * Needed to override JSON De-/Serializer in Jackson.
- *
- * @param handlerInstantiator
- * @return
- */
+ // Needed to override JSON De-/Serializer in Jackson.
@Bean
public Jackson2ObjectMapperBuilder jacksonBuilder(HandlerInstantiator handlerInstantiator) {
Jackson2ObjectMapperBuilder b = new Jackson2ObjectMapperBuilder();
@@ -96,12 +91,7 @@ public class RestConfiguration {
return b;
}
- /**
- * Needed for injection into jackson deserilizer.
- *
- * @param context
- * @return
- */
+ //Needed for injection into jackson deserilizer.
@Bean
public HandlerInstantiator handlerInstantiator(ApplicationContext context) {
return new SpringHandlerInstantiator(context.getAutowireCapableBeanFactory());
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskController.java
index 269cb6562..fee6def06 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskController.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskController.java
@@ -34,7 +34,7 @@ import pro.taskana.exceptions.TaskNotFoundException;
import pro.taskana.rest.query.TaskFilter;
/**
- * TODO.
+ * Controller for all {@link Task} related endpoints.
*/
@RestController
@RequestMapping(path = "/v1/tasks", produces = {MediaType.APPLICATION_JSON_VALUE})
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java
index 93f7f77be..3a4425e0d 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java
@@ -42,7 +42,7 @@ import pro.taskana.rest.resource.mapper.WorkbasketMapper;
import pro.taskana.rest.resource.mapper.WorkbasketSummaryMapper;
/**
- * TODO.
+ * Controller for all {@link Workbasket} related endpoints.
*/
@RestController
@RequestMapping(path = "/v1/workbaskets", produces = {MediaType.APPLICATION_JSON_VALUE})
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketDefinitionController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketDefinitionController.java
index 14d055cb3..b31c12afa 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketDefinitionController.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketDefinitionController.java
@@ -35,7 +35,7 @@ import pro.taskana.rest.resource.mapper.WorkbasketDefinitionMapper;
import pro.taskana.rest.resource.mapper.WorkbasketMapper;
/**
- * TODO.
+ * Controller for all {@link WorkbasketDefinition} related endpoints.
*/
@RestController
@RequestMapping(path = "/v1/workbasketdefinitions", produces = {MediaType.APPLICATION_JSON_VALUE})
@@ -85,8 +85,6 @@ public class WorkbasketDefinitionController {
* the list of workbasket definitions which will be imported to the current system.
* @return Return answer is determined by the status code: 200 - all good 400 - list state error (referring to non
* existing id's) 401 - not authorized
- * @throws InvalidArgumentException
- * When the pre-conditions of a workbasket doesn´t match.
*/
@PostMapping(path = "/import")
@Transactional(rollbackFor = Exception.class)
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationResource.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationResource.java
index a8a02bb23..4f632248e 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationResource.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationResource.java
@@ -3,7 +3,7 @@ package pro.taskana.rest.resource;
import org.springframework.hateoas.ResourceSupport;
/**
- * TODO.
+ * Resource class for {@link pro.taskana.Classification}.
*/
public class ClassificationResource extends ResourceSupport {
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketAccessItemResource.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketAccessItemResource.java
index eac481972..e488f3b22 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketAccessItemResource.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketAccessItemResource.java
@@ -5,7 +5,7 @@ import javax.validation.constraints.NotNull;
import org.springframework.hateoas.ResourceSupport;
/**
- * TODO.
+ * Resource class for {@link pro.taskana.WorkbasketAccessItem}.
*/
public class WorkbasketAccessItemResource extends ResourceSupport {
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketResource.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketResource.java
index fff1cdf0c..930d165d1 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketResource.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketResource.java
@@ -7,7 +7,7 @@ import org.springframework.hateoas.ResourceSupport;
import pro.taskana.impl.WorkbasketType;
/**
- * TODO.
+ * Resource class for {@link pro.taskana.Workbasket}.
*/
public class WorkbasketResource extends ResourceSupport {
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketSummaryResource.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketSummaryResource.java
index fc9ccd1f5..ef0ade775 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketSummaryResource.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketSummaryResource.java
@@ -7,7 +7,7 @@ import org.springframework.hateoas.ResourceSupport;
import pro.taskana.impl.WorkbasketType;
/**
- * TODO.
+ * Resource class for {@link pro.taskana.WorkbasketSummary}.
*/
public class WorkbasketSummaryResource extends ResourceSupport {
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/ClassificationMapper.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/ClassificationMapper.java
index 0401ee849..00e707e9b 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/ClassificationMapper.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/ClassificationMapper.java
@@ -17,7 +17,7 @@ import pro.taskana.rest.ClassificationController;
import pro.taskana.rest.resource.ClassificationResource;
/**
- * TODO.
+ * Transforms {@link Classification} to its resource counterpart {@link ClassificationResource} and vice versa.
*/
@Component
public class ClassificationMapper {
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketAccessItemMapper.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketAccessItemMapper.java
index 248018d7d..964258863 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketAccessItemMapper.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketAccessItemMapper.java
@@ -3,7 +3,7 @@ package pro.taskana.rest.resource.mapper;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn;
-import java.util.Arrays;
+import java.util.Collections;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -17,7 +17,7 @@ import pro.taskana.rest.WorkbasketController;
import pro.taskana.rest.resource.WorkbasketAccessItemResource;
/**
- * TODO.
+ * Transforms {@link WorkbasketAccessItem} to its resource counterpart {@link WorkbasketAccessItemResource} and vice versa.
*/
@Component
public class WorkbasketAccessItemMapper {
@@ -43,7 +43,7 @@ public class WorkbasketAccessItemMapper {
return wbAccItemModel;
}
- WorkbasketAccessItemResource addLinks(WorkbasketAccessItemResource resource, WorkbasketAccessItem wbAccItem)
+ private WorkbasketAccessItemResource addLinks(WorkbasketAccessItemResource resource, WorkbasketAccessItem wbAccItem)
throws NotAuthorizedException {
resource.add(
linkTo(methodOn(WorkbasketController.class).getWorkbasketAccessItems(wbAccItem.getWorkbasketId()))
@@ -56,8 +56,8 @@ public class WorkbasketAccessItemMapper {
.withRel("updateWorkbasketAccessItem"));
resource.add(
linkTo(methodOn(WorkbasketController.class).setWorkbasketAccessItems(wbAccItem.getWorkbasketId(),
- Arrays.asList(resource)))
- .withRel("setWorkbasketAccessItems"));
+ Collections.singletonList(resource)))
+ .withRel("setWorkbasketAuthorizations"));
resource.add(
linkTo(methodOn(WorkbasketController.class).deleteWorkbasketAccessItem(wbAccItem.getId()))
.withRel("deleteWorkbasketAccessItem"));
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketDefinitionMapper.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketDefinitionMapper.java
index cb31923c9..3d67b4688 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketDefinitionMapper.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketDefinitionMapper.java
@@ -4,7 +4,7 @@ import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import pro.taskana.Workbasket;
+import pro.taskana.WorkbasketAccessItem;
import pro.taskana.WorkbasketService;
import pro.taskana.WorkbasketSummary;
import pro.taskana.exceptions.NotAuthorizedException;
@@ -22,7 +23,8 @@ import pro.taskana.rest.resource.WorkbasketAccessItemResource;
import pro.taskana.rest.resource.WorkbasketDefinition;
/**
- * TODO.
+ * Transforms {@link Workbasket} into a {@link WorkbasketDefinition}
+ * containing all additional information about that workbasket.
*/
@Component
public class WorkbasketDefinitionMapper {
@@ -41,7 +43,7 @@ public class WorkbasketDefinitionMapper {
*
* @param basket
* {@link Workbasket} which will be converted
- * @return a {@link WorkbasketDefinition}, containing the {@code basket}, its ditribution targets and its
+ * @return a {@link WorkbasketDefinition}, containing the {@code basket}, its distribution targets and its
* authorizations
* @throws NotAuthorizedException
* if the user is not authorized
@@ -51,16 +53,9 @@ public class WorkbasketDefinitionMapper {
public WorkbasketDefinition toResource(Workbasket basket)
throws NotAuthorizedException, WorkbasketNotFoundException {
List authorizations = new ArrayList<>();
- workbasketService.getWorkbasketAccessItems(
- basket.getKey())
- .stream()
- .forEach(t -> {
- try {
- authorizations.add(workbasketAccessItemMapper.toResource(t));
- } catch (NotAuthorizedException e) {
- e.printStackTrace();
- }
- });
+ for (WorkbasketAccessItem accessItem : workbasketService.getWorkbasketAccessItems(basket.getKey())) {
+ authorizations.add(workbasketAccessItemMapper.toResource(accessItem));
+ }
Set distroTargets = workbasketService.getDistributionTargets(basket.getId())
.stream()
.map(WorkbasketSummary::getId)
@@ -75,7 +70,8 @@ public class WorkbasketDefinitionMapper {
linkTo(methodOn(WorkbasketDefinitionController.class).exportWorkbaskets(workbasket.getDomain()))
.withRel("exportWorkbaskets"));
resource.add(
- linkTo(methodOn(WorkbasketDefinitionController.class).importWorkbaskets(Arrays.asList(resource)))
+ linkTo(
+ methodOn(WorkbasketDefinitionController.class).importWorkbaskets(Collections.singletonList(resource)))
.withRel("importWorkbaskets"));
return resource;
}
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketMapper.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketMapper.java
index 63e745f23..447452230 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketMapper.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketMapper.java
@@ -17,7 +17,7 @@ import pro.taskana.rest.WorkbasketController;
import pro.taskana.rest.resource.WorkbasketResource;
/**
- * TODO.
+ * Transforms {@link Workbasket} to its resource counterpart {@link WorkbasketResource} and vice versa.
*/
@Component
public class WorkbasketMapper {
diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketSummaryMapper.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketSummaryMapper.java
index 1fe7fb812..23e8710b8 100644
--- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketSummaryMapper.java
+++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/mapper/WorkbasketSummaryMapper.java
@@ -11,7 +11,7 @@ import pro.taskana.rest.WorkbasketController;
import pro.taskana.rest.resource.WorkbasketSummaryResource;
/**
- * TODO.
+ * Transforms {@link WorkbasketSummary} to its resource counterpart {@link WorkbasketSummaryResource} and vice versa.
*/
@Component
public class WorkbasketSummaryMapper {
diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/ClassificationMapperTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/ClassificationMapperTest.java
index 737e47dc5..5ef4e0a42 100644
--- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/ClassificationMapperTest.java
+++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/ClassificationMapperTest.java
@@ -18,7 +18,7 @@ import pro.taskana.rest.RestConfiguration;
import pro.taskana.rest.resource.ClassificationResource;
/**
- * TODO.
+ * Test for {@link ClassificationMapper}.
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {RestConfiguration.class})
diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketAccessItemMapperTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketAccessItemMapperTest.java
index 406314cc1..e81dff74c 100644
--- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketAccessItemMapperTest.java
+++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketAccessItemMapperTest.java
@@ -15,7 +15,7 @@ import pro.taskana.rest.RestConfiguration;
import pro.taskana.rest.resource.WorkbasketAccessItemResource;
/**
- * TODO.
+ * Test for {@link WorkbasketAccessItemMapper}.
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {RestConfiguration.class})
diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketMapperTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketMapperTest.java
index d4db3104c..78d0ef730 100644
--- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketMapperTest.java
+++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketMapperTest.java
@@ -19,7 +19,7 @@ import pro.taskana.rest.RestConfiguration;
import pro.taskana.rest.resource.WorkbasketResource;
/**
- * TODO.
+ * Test for {@link WorkbasketMapper}.
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {RestConfiguration.class})
diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketSummaryMapperTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketSummaryMapperTest.java
index dc4ef1ece..f36e7bf15 100644
--- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketSummaryMapperTest.java
+++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/mapper/WorkbasketSummaryMapperTest.java
@@ -15,7 +15,7 @@ import pro.taskana.rest.RestConfiguration;
import pro.taskana.rest.resource.WorkbasketSummaryResource;
/**
- * TODO.
+ * Test for {@link WorkbasketSummaryMapper}.
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {RestConfiguration.class})