aboutsummaryrefslogtreecommitdiffstats
path: root/workflow-designer-be
diff options
context:
space:
mode:
Diffstat (limited to 'workflow-designer-be')
-rw-r--r--workflow-designer-be/pom.xml7
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/RestUtils.java15
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowController.java16
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowVersionController.java2
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/Workflow.java4
-rw-r--r--workflow-designer-be/src/main/resources/application.properties3
-rw-r--r--workflow-designer-be/src/test/java/org/onap/sdc/workflow/api/WorkflowControllerTest.java12
7 files changed, 51 insertions, 8 deletions
diff --git a/workflow-designer-be/pom.xml b/workflow-designer-be/pom.xml
index ac77e5f7..60a7cd0b 100644
--- a/workflow-designer-be/pom.xml
+++ b/workflow-designer-be/pom.xml
@@ -8,7 +8,7 @@
<artifactId>workflow-designer-be</artifactId>
<parent>
- <groupId>org.onap.sdc.workflow_designer</groupId>
+ <groupId>org.onap.sdc.sdc-workflow-designer</groupId>
<artifactId>workflow-designer-parent</artifactId>
<version>1.3.0-SNAPSHOT</version>
</parent>
@@ -128,6 +128,11 @@
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-actuator</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<build>
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/RestUtils.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/RestUtils.java
index b6259ccc..8ba75429 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/RestUtils.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/RestUtils.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright © 2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.onap.sdc.workflow;
import java.util.Arrays;
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowController.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowController.java
index 7027985f..f8eb4bb9 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowController.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowController.java
@@ -16,7 +16,7 @@
package org.onap.sdc.workflow.api;
-import static org.onap.sdc.workflow.RestUtils.mapVersionStateFilter;
+import static org.onap.sdc.workflow.RestUtils.*;
import static org.onap.sdc.workflow.api.RestConstants.SIZE_DEFAULT;
import static org.onap.sdc.workflow.api.RestConstants.SORT_FIELD_NAME;
import static org.onap.sdc.workflow.api.RestConstants.SORT_PARAM;
@@ -31,6 +31,7 @@ import java.util.Set;
import org.onap.sdc.workflow.api.types.CollectionWrapper;
import org.onap.sdc.workflow.persistence.types.Workflow;
import org.onap.sdc.workflow.services.WorkflowManager;
+import org.onap.sdc.workflow.services.WorkflowVersionManager;
import org.onap.sdc.workflow.services.exceptions.InvalidPaginationParameterException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -59,10 +60,13 @@ import org.springframework.web.bind.annotation.RestController;
public class WorkflowController {
private final WorkflowManager workflowManager;
+ private final WorkflowVersionManager workflowVersionManager;
@Autowired
- public WorkflowController(@Qualifier("workflowManager") WorkflowManager workflowManager) {
+ public WorkflowController(@Qualifier("workflowManager") WorkflowManager workflowManager,
+ @Qualifier("workflowVersionManager") WorkflowVersionManager workflowVersionManager) {
this.workflowManager = workflowManager;
+ this.workflowVersionManager = workflowVersionManager;
}
@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
@@ -88,10 +92,16 @@ public class WorkflowController {
@GetMapping(path = "/{workflowId}")
@ApiOperation("Get workflow")
public Workflow get(@PathVariable("workflowId") String workflowId,
+ @ApiParam(value = "Expand workflow data", allowableValues = "versions")
+ @RequestParam(value = "expand", required = false) String expand,
@RequestHeader(USER_ID_HEADER_PARAM) String user) {
Workflow workflow = new Workflow();
workflow.setId(workflowId);
- return workflowManager.get(workflow);
+ Workflow retrievedWorkflow = workflowManager.get(workflow);
+ if("versions".equals(expand)){
+ retrievedWorkflow.setVersions(workflowVersionManager.list(workflowId,null));
+ }
+ return retrievedWorkflow;
}
@PutMapping(path = "/{workflowId}", consumes = MediaType.APPLICATION_JSON_VALUE)
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowVersionController.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowVersionController.java
index 91995bd0..34ecb898 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowVersionController.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowVersionController.java
@@ -59,7 +59,7 @@ public class WorkflowVersionController {
private final WorkflowVersionManager workflowVersionManager;
private Validator validator;
- @InitBinder
+ @InitBinder("WorkflowVersion")
private void initBinder(WebDataBinder binder) {
binder.addValidators(validator);
}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/Workflow.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/Workflow.java
index 72e62778..b2fc6f59 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/Workflow.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/Workflow.java
@@ -30,8 +30,8 @@ public class Workflow {
private String id;
@NotNull(message = "Workflow name may not be null")
- @Size(min = 6, max = 30, message = "The field must be at least 6 characters, and less than 30 characters")
- @Pattern(regexp = "[A-Za-z0-9_]*", message = "The field must contain only letters, digits and underscores")
+ @Size(max = 80, message = "Workflow name must be less than 80 characters")
+ @Pattern(regexp = "[A-Za-z0-9_]*", message = "Workflow name must contain only letters, digits and underscores")
private String name;
private String description;
private Set<WorkflowVersionState> versionStates;
diff --git a/workflow-designer-be/src/main/resources/application.properties b/workflow-designer-be/src/main/resources/application.properties
index ab4930b5..c120bda3 100644
--- a/workflow-designer-be/src/main/resources/application.properties
+++ b/workflow-designer-be/src/main/resources/application.properties
@@ -7,4 +7,5 @@ spring.data.cassandra.keyspace-name=workflow
spring.data.cassandra.port=${CS_PORT:9042}
spring.data.cassandra.username=${CS_USER:}
spring.data.cassandra.password=${CS_PASSWORD:}
-zusammen.cassandra.isAuthenticate=${CS_AUTHENTICATE:true} \ No newline at end of file
+zusammen.cassandra.isAuthenticate=${CS_AUTHENTICATE:true}
+management.endpoint.health.show-details=${SHOW_HEALTH:never} \ No newline at end of file
diff --git a/workflow-designer-be/src/test/java/org/onap/sdc/workflow/api/WorkflowControllerTest.java b/workflow-designer-be/src/test/java/org/onap/sdc/workflow/api/WorkflowControllerTest.java
index 5e7df483..337fea79 100644
--- a/workflow-designer-be/src/test/java/org/onap/sdc/workflow/api/WorkflowControllerTest.java
+++ b/workflow-designer-be/src/test/java/org/onap/sdc/workflow/api/WorkflowControllerTest.java
@@ -257,6 +257,18 @@ public class WorkflowControllerTest {
verify(workflowManagerMock).create(reqWorkflow);
}
+ @Test
+ public void shouldThrowExceptionWhenWorkflowNameInvalid() throws Exception {
+
+ Workflow reqWorkflow = new Workflow();
+ reqWorkflow.setName("Invalid workflow name %");
+ MockHttpServletResponse response = mockMvc.perform(
+ post(RestPath.getWorkflowsPath()).header(USER_ID_HEADER_PARAM, USER_ID).contentType(APPLICATION_JSON)
+ .content(GSON.toJson(reqWorkflow))).andDo(print())
+ .andExpect(status().isBadRequest()).andReturn().getResponse();
+ assertEquals("Workflow name must contain only letters, digits and underscores", response.getContentAsString());
+ }
+
private List<Workflow> createWorkflows(int numOfWorkflows) {
List<Workflow> workflowList = new ArrayList<>(numOfWorkflows);
for (int i = 0; i < numOfWorkflows; i++) {