package org.onap.sdc.workflow.api;
-import static org.onap.sdc.workflow.api.RestConstants.USER_ID_HEADER_PARAM;
-
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.onap.sdc.workflow.api.types.CollectionWrapper;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
@RequestMapping("/workflows")
@PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation("Create workflow")
- ResponseEntity<?> create(Workflow workflow, String user);
+ ResponseEntity<Workflow> create(Workflow workflow, String user);
- @GetMapping(path = "/{id}")
+ @GetMapping(path = "/{workflowId}")
@ApiOperation("Get workflow")
- Workflow get(String id, String user);
+ Workflow get(String workflowId, String user);
- @PutMapping(path = "/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @PutMapping(path = "/{workflowId}", consumes = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation("Update workflow")
- Workflow update(Workflow workflow, String id, String user);
+ Workflow update(Workflow workflow, String workflowId, String user);
}
}
@Override
- public ResponseEntity<?> create(@RequestBody Workflow workflow, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
- workflowManager.create(workflow);
- return new ResponseEntity<>(workflow, HttpStatus.CREATED);
+ public ResponseEntity<Workflow> create(@RequestBody Workflow workflow, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+ return new ResponseEntity<>(workflowManager.create(workflow), HttpStatus.CREATED);
}
@Override
- public Workflow get(@PathVariable("id") String id, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+ public Workflow get(@PathVariable("workflowId") String workflowId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
Workflow workflow = new Workflow();
- workflow.setId(id);
+ workflow.setId(workflowId);
return workflowManager.get(workflow);
}
@Override
- public Workflow update(@RequestBody Workflow workflow, @PathVariable("id") String id,
+ public Workflow update(@RequestBody Workflow workflow, @PathVariable("workflowId") String workflowId,
@RequestHeader(USER_ID_HEADER_PARAM) String user) {
- workflow.setId(id);
+ workflow.setId(workflowId);
workflowManager.update(workflow);
return workflow;
}
try {
if (servletRequest instanceof HttpServletRequest) {
-
contextProvider.create(getUser(servletRequest), getTenant());
}
}
private String getUser(ServletRequest servletRequest) {
- return ((HttpServletRequest) servletRequest).getHeader(USER_ID_HEADER_PARAM);
+ return "GLOBAL_USER";
+ // TODO: 7/11/2018 get user from header when collaboration will be supported
+ //((HttpServletRequest) servletRequest).getHeader(USER_ID_HEADER_PARAM);
}
private String getTenant() {
Workflow get(Workflow workflow);
- void create(Workflow workflow);
+ Workflow create(Workflow workflow);
void update(Workflow workflow);
}
import java.util.Collection;
import java.util.function.Predicate;
import java.util.stream.Collectors;
-import org.onap.sdc.workflow.services.exceptions.EntityNotFoundException;
-import org.onap.sdc.workflow.services.mappers.WorkflowMapper;
import org.onap.sdc.workflow.persistence.types.Workflow;
import org.onap.sdc.workflow.services.UniqueValueService;
import org.onap.sdc.workflow.services.WorkflowManager;
+import org.onap.sdc.workflow.services.exceptions.EntityNotFoundException;
+import org.onap.sdc.workflow.services.impl.mappers.WorkflowMapper;
import org.openecomp.sdc.versioning.ItemManager;
import org.openecomp.sdc.versioning.types.Item;
import org.openecomp.sdc.versioning.types.ItemStatus;
@Service("workflowManager")
public class WorkflowManagerImpl implements WorkflowManager {
- private static final String WORKFLOW_TYPE = "WORKFLOW";
+ public static final String WORKFLOW_TYPE = "WORKFLOW";
private static final String WORKFLOW_NOT_FOUND_ERROR_MSG = "Workflow with id '%s' does not exist";
- protected static final Predicate<Item> ITEM_PREDICATE = item -> WORKFLOW_TYPE.equals(item.getType());
private static final String WORKFLOW_NAME_UNIQUE_TYPE = "WORKFLOW_NAME";
+ static final Predicate<Item> ITEM_PREDICATE = item -> WORKFLOW_TYPE.equals(item.getType());
+
private final ItemManager itemManager;
private final UniqueValueService uniqueValueService;
- private WorkflowMapper workflowMapper;
+ private final WorkflowMapper workflowMapper;
@Autowired
public WorkflowManagerImpl(ItemManager itemManager,
@Override
public Collection<Workflow> list() {
- return itemManager.list(ITEM_PREDICATE).stream()
- .map(item -> workflowMapper.itemToWorkflow(item)).collect(Collectors.toList());
+ return itemManager.list(ITEM_PREDICATE).stream().map(workflowMapper::itemToWorkflow)
+ .collect(Collectors.toList());
}
@Override
}
@Override
- public void create(Workflow workflow) {
+ public Workflow create(Workflow workflow) {
Item item = workflowMapper.workflowToItem(workflow);
item.setStatus(ItemStatus.ACTIVE);
- item.setType(WORKFLOW_TYPE);
- uniqueValueService.validateUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE, new String[]{workflow.getName()});
+ uniqueValueService.validateUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE, new String[] {workflow.getName()});
workflow.setId(itemManager.create(item).getId());
- uniqueValueService.createUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE, new String[]{workflow.getName()});
+ uniqueValueService.createUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE, new String[] {workflow.getName()});
+ return workflow;
}
@Override
item.setId(workflow.getId());
item.setStatus(retrievedItem.getStatus());
item.setVersionStatusCounters(retrievedItem.getVersionStatusCounters());
- item.setType(retrievedItem.getType());
itemManager.update(item);
}
}
import org.onap.sdc.workflow.services.exceptions.EntityNotFoundException;
import org.onap.sdc.workflow.services.exceptions.InvalidArtifactException;
import org.onap.sdc.workflow.services.exceptions.VersionModificationException;
-import org.onap.sdc.workflow.services.mappers.VersionMapper;
+import org.onap.sdc.workflow.services.impl.mappers.VersionMapper;
import org.openecomp.sdc.versioning.VersioningManager;
import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.sdc.versioning.types.VersionCreationMethod;
-package org.onap.sdc.workflow.services.mappers;
+package org.onap.sdc.workflow.services.impl.mappers;
-import java.util.Collections;
-import java.util.Map;
import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.Named;
-import org.onap.sdc.workflow.persistence.types.WorkflowProperty;
import org.onap.sdc.workflow.persistence.types.WorkflowVersion;
-import org.onap.sdc.workflow.persistence.types.WorkflowVersionStatus;
import org.openecomp.sdc.versioning.dao.types.Version;
-import org.openecomp.sdc.versioning.dao.types.VersionStatus;
@Mapper(componentModel = "spring", uses = VersionStatusMapper.class)
public interface VersionMapper {
-package org.onap.sdc.workflow.services.mappers;
+package org.onap.sdc.workflow.services.impl.mappers;
import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
-package org.onap.sdc.workflow.services.mappers;
+package org.onap.sdc.workflow.services.impl.mappers;
import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
import org.onap.sdc.workflow.persistence.types.Workflow;
+import org.onap.sdc.workflow.services.impl.WorkflowManagerImpl;
import org.openecomp.sdc.versioning.types.Item;
-@Mapper(componentModel = "spring")
+@Mapper(componentModel = "spring", imports = WorkflowManagerImpl.class)
public interface WorkflowMapper {
Workflow itemToWorkflow(Item item);
@InheritInverseConfiguration
+ @Mapping(expression = "java(WorkflowManagerImpl.WORKFLOW_TYPE)", target = "type")
Item workflowToItem(Workflow workflow);
}
import org.onap.sdc.workflow.persistence.types.Workflow;
import org.onap.sdc.workflow.services.UniqueValueService;
import org.onap.sdc.workflow.services.exceptions.EntityNotFoundException;
-import org.onap.sdc.workflow.services.mappers.WorkflowMapper;
+import org.onap.sdc.workflow.services.impl.mappers.WorkflowMapper;
import org.openecomp.sdc.versioning.ItemManager;
import org.openecomp.sdc.versioning.types.Item;
import org.openecomp.sdc.versioning.types.ItemStatus;
import org.onap.sdc.workflow.persistence.types.WorkflowVersionStatus;
import org.onap.sdc.workflow.services.exceptions.CreateVersionException;
import org.onap.sdc.workflow.services.exceptions.EntityNotFoundException;
-import org.onap.sdc.workflow.services.mappers.VersionMapper;
+import org.onap.sdc.workflow.services.impl.mappers.VersionMapper;
import org.openecomp.sdc.versioning.VersioningManager;
import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.sdc.versioning.dao.types.VersionStatus;
-package org.onap.sdc.workflow.api.mapping;
+package org.onap.sdc.workflow.services.impl.mappers;
import static org.junit.Assert.assertEquals;
import org.junit.runner.RunWith;
import org.onap.sdc.workflow.persistence.types.WorkflowVersion;
import org.onap.sdc.workflow.persistence.types.WorkflowVersionStatus;
-import org.onap.sdc.workflow.services.mappers.VersionMapper;
-import org.onap.sdc.workflow.services.mappers.VersionStatusMapper;
import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.sdc.versioning.dao.types.VersionStatus;
import org.springframework.beans.factory.annotation.Autowired;
@Test
- public void shouldMapVersionToWorkflowVersion(){
+ public void shouldMapVersionToWorkflowVersion() {
Version version = createVersion();
WorkflowVersion mappedWorkflowVersion = versionMapper.versionToWorkflowVersion(version);
- assertEquals(mappedWorkflowVersion.getId(),version.getId());
- assertEquals(mappedWorkflowVersion.getBaseId(),version.getBaseId());
- assertEquals(mappedWorkflowVersion.getDescription(),version.getDescription());
- assertEquals(mappedWorkflowVersion.getName(),version.getName());
- assertEquals(mappedWorkflowVersion.getCreationTime(),version.getCreationTime());
- assertEquals(mappedWorkflowVersion.getModificationTime(),version.getModificationTime());
+ assertEquals(mappedWorkflowVersion.getId(), version.getId());
+ assertEquals(mappedWorkflowVersion.getBaseId(), version.getBaseId());
+ assertEquals(mappedWorkflowVersion.getDescription(), version.getDescription());
+ assertEquals(mappedWorkflowVersion.getName(), version.getName());
+ assertEquals(mappedWorkflowVersion.getCreationTime(), version.getCreationTime());
+ assertEquals(mappedWorkflowVersion.getModificationTime(), version.getModificationTime());
}
@Test
- public void shouldMapWorkflowVersionToVersion(){
+ public void shouldMapWorkflowVersionToVersion() {
WorkflowVersion workflowVersion = createWorkflowVersion();
Version mappedVersion = versionMapper.workflowVersionToVersion(workflowVersion);
- assertEquals(mappedVersion.getId(),workflowVersion.getId());
- assertEquals(mappedVersion.getBaseId(),workflowVersion.getBaseId());
- assertEquals(mappedVersion.getDescription(),workflowVersion.getDescription());
- assertEquals(mappedVersion.getName(),workflowVersion.getName());
- assertEquals(mappedVersion.getCreationTime(),workflowVersion.getCreationTime());
- assertEquals(mappedVersion.getModificationTime(),workflowVersion.getModificationTime());
+ assertEquals(mappedVersion.getId(), workflowVersion.getId());
+ assertEquals(mappedVersion.getBaseId(), workflowVersion.getBaseId());
+ assertEquals(mappedVersion.getDescription(), workflowVersion.getDescription());
+ assertEquals(mappedVersion.getName(), workflowVersion.getName());
+ assertEquals(mappedVersion.getCreationTime(), workflowVersion.getCreationTime());
+ assertEquals(mappedVersion.getModificationTime(), workflowVersion.getModificationTime());
}
- private Version createVersion(){
+ private Version createVersion() {
Version version = new Version("version_id");
version.setBaseId("base_version_id");
version.setName("1.0");
}
- private WorkflowVersion createWorkflowVersion(){
+ private WorkflowVersion createWorkflowVersion() {
WorkflowVersion workflowVersion = new WorkflowVersion();
workflowVersion.setId("wf_version_id");
workflowVersion.setBaseId("wf_base_version_id");
-package org.onap.sdc.workflow.api.mapping;
+package org.onap.sdc.workflow.services.impl.mappers;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.onap.sdc.workflow.persistence.types.WorkflowVersionStatus;
-import org.onap.sdc.workflow.services.mappers.VersionStatusMapper;
import org.openecomp.sdc.versioning.dao.types.VersionStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
-package org.onap.sdc.workflow.api.mapping;
+package org.onap.sdc.workflow.services.impl.mappers;
import static org.junit.Assert.assertEquals;
import static org.onap.sdc.workflow.TestUtil.createItem;
import static org.onap.sdc.workflow.TestUtil.createWorkflow;
-import java.util.HashMap;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.onap.sdc.workflow.persistence.types.Workflow;
-import org.onap.sdc.workflow.persistence.types.WorkflowProperty;
-import org.onap.sdc.workflow.services.mappers.WorkflowMapper;
import org.openecomp.sdc.versioning.types.Item;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;