aboutsummaryrefslogtreecommitdiffstats
path: root/workflow-designer-be/src/main/java
diff options
context:
space:
mode:
authortalig <talig@amdocs.com>2019-11-20 15:13:47 +0200
committertalig <talig@amdocs.com>2019-11-20 15:14:44 +0200
commitc54aacb32df8fcb27375d1b131f76afc0a34d0c7 (patch)
tree8f2f0d927051a65a391744af845fdd760fbd523a /workflow-designer-be/src/main/java
parent820f4ec65a28ed822d4205b05ac6fbbd910a46cc (diff)
Use versioning, zusammen and session libs from sdc-common-be
zusammen-lib in sdc-common-be uses cassandra 3.6.0 withoutJMXReporting (cassandra 3.4.0 with spring boot 2.1.0 caused: java.lang.NoClassDefFoundError: com/codahale/metrics/JmxReporter) Change-Id: I248442d519b2ad5f4869e9384e447e9004d24586 Issue-ID: SDC-2541 Signed-off-by: talig <talig@amdocs.com>
Diffstat (limited to 'workflow-designer-be/src/main/java')
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/SpringBootWebApplication.java2
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/ActivitySpecController.java11
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/ExceptionsHandler.java3
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ActivitySpecRepositoryImpl.java28
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ArtifactRepositoryImpl.java33
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ParameterRepositoryImpl.java60
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/ActivitySpecEntity.java7
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/WorkflowZusammenConfigProvider.java48
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/ZusammenConfig.java96
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/filters/SessionContextFilter.java25
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionStatusModificationException.java2
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/WorkflowStatusModificationException.java26
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/ActivitySpecManagerImpl.java159
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/CollaborationConfiguration.java45
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java71
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java52
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/ActivitySpecMapper.java19
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/ArchivingStatusMapper.java36
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionMapper.java18
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionStateMapper.java11
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/WorkflowMapper.java32
21 files changed, 331 insertions, 453 deletions
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/SpringBootWebApplication.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/SpringBootWebApplication.java
index 0feafd2a..87de212e 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/SpringBootWebApplication.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/SpringBootWebApplication.java
@@ -21,8 +21,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
+@ComponentScan( {"org.onap.sdc.common", "org.onap.sdc.workflow"})
public class SpringBootWebApplication {
public static void main(String[] args) {
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/ActivitySpecController.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/ActivitySpecController.java
index dca6c695..ac72d46e 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/ActivitySpecController.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/ActivitySpecController.java
@@ -23,7 +23,6 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
-import java.util.Objects;
import java.util.stream.Collectors;
import javax.validation.Valid;
import org.onap.sdc.workflow.api.mappers.ActivitySpecDtoMapper;
@@ -35,7 +34,6 @@ import org.onap.sdc.workflow.api.types.activityspec.ActivitySpecRequest;
import org.onap.sdc.workflow.api.types.activityspec.ActivitySpecResponse;
import org.onap.sdc.workflow.persistence.types.ActivitySpecEntity;
import org.onap.sdc.workflow.services.ActivitySpecManager;
-import org.openecomp.sdc.versioning.dao.types.Version;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.HttpStatus;
@@ -83,8 +81,7 @@ public class ActivitySpecController {
public ResponseEntity<ActivitySpecCreateResponse> create(@Valid @RequestBody ActivitySpecRequest request) {
ActivitySpecEntity activitySpec =
activitySpecManager.createActivitySpec(activitySpecDtoMapper.fromActivitySpecRequest(request));
- return new ResponseEntity<>(new ActivitySpecCreateResponse(activitySpec.getId(),
- Objects.nonNull(activitySpec.getVersion()) ? activitySpec.getVersion().getId() : null),
+ return new ResponseEntity<>(new ActivitySpecCreateResponse(activitySpec.getId(),activitySpec.getVersionId()),
HttpStatus.CREATED);
}
@@ -95,7 +92,7 @@ public class ActivitySpecController {
@ApiParam(value = "Version Id", defaultValue = VERSION_ID_DEFAULT_VALUE) @PathVariable("versionId")
String versionId) {
return activitySpecDtoMapper.toActivitySpecDataResponse(
- activitySpecManager.get(new ActivitySpecEntity(activitySpecId, new Version(versionId))));
+ activitySpecManager.get(new ActivitySpecEntity(activitySpecId, versionId)));
}
@PutMapping("/{id}/versions/{versionId}")
@@ -107,7 +104,7 @@ public class ActivitySpecController {
String versionId) {
ActivitySpecEntity activitySpec = activitySpecDtoMapper.fromActivitySpecRequest(request);
activitySpec.setId(activitySpecId);
- activitySpec.setVersion(new Version(versionId));
+ activitySpec.setVersionId(versionId);
activitySpecManager.update(activitySpec);
}
@@ -122,6 +119,6 @@ public class ActivitySpecController {
@ApiParam(value = "Version Id", defaultValue = VERSION_ID_DEFAULT_VALUE) @PathVariable("versionId")
String versionId) {
activitySpecManager
- .actOnAction(new ActivitySpecEntity(activitySpecId, new Version(versionId)), request.getAction());
+ .actOnAction(new ActivitySpecEntity(activitySpecId, versionId), request.getAction());
}
}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/ExceptionsHandler.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/ExceptionsHandler.java
index 083206c8..70633d41 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/ExceptionsHandler.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/ExceptionsHandler.java
@@ -35,7 +35,6 @@ import org.onap.sdc.workflow.services.exceptions.VersionStateModificationExcepti
import org.onap.sdc.workflow.services.exceptions.VersionStateModificationMissingArtifactException;
import org.onap.sdc.workflow.services.exceptions.VersionStatusModificationException;
import org.onap.sdc.workflow.services.exceptions.WorkflowModificationException;
-import org.onap.sdc.workflow.services.exceptions.WorkflowStatusModificationException;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
import org.springframework.context.support.DefaultMessageSourceResolvable;
@@ -96,7 +95,7 @@ public class ExceptionsHandler extends ResponseEntityExceptionHandler {
VersionStateModificationException.class,
VersionStateModificationMissingArtifactException.class,
VersionStatusModificationException.class,
- UniqueValueViolationException.class, WorkflowStatusModificationException.class,
+ UniqueValueViolationException.class,
WorkflowModificationException.class})
public final ResponseEntity<ErrorResponse> handleUnprocessableEntityException(Exception exception) {
LOG.debug(LOG_MSG, UNPROCESSABLE_ENTITY, exception);
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ActivitySpecRepositoryImpl.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ActivitySpecRepositoryImpl.java
index 726e831c..b304f900 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ActivitySpecRepositoryImpl.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ActivitySpecRepositoryImpl.java
@@ -16,12 +16,10 @@
package org.onap.sdc.workflow.persistence.impl;
-import static org.openecomp.core.zusammen.api.ZusammenUtil.buildStructuralElement;
-import static org.openecomp.core.zusammen.api.ZusammenUtil.createSessionContext;
+import static org.onap.sdc.common.zusammen.services.ZusammenElementUtil.buildStructuralElement;
import com.amdocs.zusammen.adaptor.inbound.api.types.item.Element;
import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
-import com.amdocs.zusammen.datatypes.SessionContext;
import com.amdocs.zusammen.datatypes.item.Action;
import com.amdocs.zusammen.datatypes.item.ElementContext;
import com.amdocs.zusammen.datatypes.item.Info;
@@ -29,13 +27,14 @@ import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.Objects;
import java.util.Optional;
+import org.onap.sdc.common.versioning.persistence.zusammen.ZusammenSessionContextCreator;
+import org.onap.sdc.common.zusammen.services.ZusammenAdaptor;
import org.onap.sdc.workflow.persistence.ActivitySpecRepository;
import org.onap.sdc.workflow.persistence.impl.types.ActivitySpecData;
import org.onap.sdc.workflow.persistence.impl.types.ActivitySpecElementType;
import org.onap.sdc.workflow.persistence.types.ActivitySpecEntity;
import org.onap.sdc.workflow.services.ActivitySpecConstant;
import org.onap.sdc.workflow.services.utilities.JsonUtil;
-import org.openecomp.core.zusammen.api.ZusammenAdaptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@@ -43,40 +42,39 @@ import org.springframework.stereotype.Repository;
public class ActivitySpecRepositoryImpl implements ActivitySpecRepository {
private final ZusammenAdaptor zusammenAdaptor;
+ private final ZusammenSessionContextCreator contextCreator;
@Autowired
- public ActivitySpecRepositoryImpl(ZusammenAdaptor zusammenAdaptor) {
+ public ActivitySpecRepositoryImpl(ZusammenAdaptor zusammenAdaptor, ZusammenSessionContextCreator contextCreator) {
this.zusammenAdaptor = zusammenAdaptor;
+ this.contextCreator = contextCreator;
}
@Override
public void create(ActivitySpecEntity activitySpec) {
- SessionContext context = createSessionContext();
ZusammenElement generalElement = mapActivityDetailsToZusammenElement(activitySpec, Action.CREATE);
- ElementContext elementContext = new ElementContext(activitySpec.getId(), activitySpec.getVersion().getId());
+ ElementContext elementContext = new ElementContext(activitySpec.getId(), activitySpec.getVersionId());
zusammenAdaptor
- .saveElement(context, elementContext, generalElement, "Create Activity Spec General Info Element");
+ .saveElement(contextCreator.create(), elementContext, generalElement, "Create Activity Spec General Info Element");
}
@Override
public ActivitySpecEntity get(ActivitySpecEntity entity) {
- SessionContext context = createSessionContext();
-
- ElementContext elementContext = new ElementContext(entity.getId(), entity.getVersion().getId());
+ ElementContext elementContext = new ElementContext(entity.getId(), entity.getVersionId());
Optional<Element> element =
- zusammenAdaptor.getElementByName(context, elementContext, null, ActivitySpecElementType.ACTIVITYSPEC.name());
+ zusammenAdaptor.getElementByName(contextCreator.create(), elementContext, null, ActivitySpecElementType.ACTIVITYSPEC.name());
return element.map(this::mapZusammenElementToActivityDetails).orElse(null);
}
@Override
public void update(ActivitySpecEntity entity) {
- SessionContext context = createSessionContext();
+
ZusammenElement generalElement = mapActivityDetailsToZusammenElement(entity, Action.UPDATE);
- ElementContext elementContext = new ElementContext(entity.getId(), entity.getVersion().getId());
+ ElementContext elementContext = new ElementContext(entity.getId(), entity.getVersionId());
zusammenAdaptor
- .saveElement(context, elementContext, generalElement, "Update Activity Spec General Info Element");
+ .saveElement(contextCreator.create(), elementContext, generalElement, "Update Activity Spec General Info Element");
}
private ZusammenElement mapActivityDetailsToZusammenElement(ActivitySpecEntity entity, Action action) {
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ArtifactRepositoryImpl.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ArtifactRepositoryImpl.java
index 06e2a638..4ad54614 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ArtifactRepositoryImpl.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ArtifactRepositoryImpl.java
@@ -16,13 +16,11 @@
package org.onap.sdc.workflow.persistence.impl;
-import static org.openecomp.core.zusammen.api.ZusammenUtil.buildStructuralElement;
-import static org.openecomp.core.zusammen.api.ZusammenUtil.createSessionContext;
+import static org.onap.sdc.common.zusammen.services.ZusammenElementUtil.buildStructuralElement;
import com.amdocs.zusammen.adaptor.inbound.api.types.item.Element;
import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo;
import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
-import com.amdocs.zusammen.datatypes.SessionContext;
import com.amdocs.zusammen.datatypes.item.Action;
import com.amdocs.zusammen.datatypes.item.ElementContext;
import java.io.ByteArrayInputStream;
@@ -31,10 +29,11 @@ import java.io.InputStream;
import java.util.Arrays;
import java.util.Optional;
import org.apache.commons.io.IOUtils;
+import org.onap.sdc.common.versioning.persistence.zusammen.ZusammenSessionContextCreator;
+import org.onap.sdc.common.zusammen.services.ZusammenAdaptor;
import org.onap.sdc.workflow.persistence.ArtifactRepository;
-import org.onap.sdc.workflow.persistence.types.ArtifactEntity;
import org.onap.sdc.workflow.persistence.impl.types.WorkflowElementType;
-import org.openecomp.core.zusammen.api.ZusammenAdaptor;
+import org.onap.sdc.workflow.persistence.types.ArtifactEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@@ -45,10 +44,12 @@ public class ArtifactRepositoryImpl implements ArtifactRepository {
private static final String EMPTY_DATA = "{}";
private final ZusammenAdaptor zusammenAdaptor;
+ private final ZusammenSessionContextCreator contextCreator;
@Autowired
- public ArtifactRepositoryImpl(ZusammenAdaptor zusammenAdaptor) {
+ public ArtifactRepositoryImpl(ZusammenAdaptor zusammenAdaptor, ZusammenSessionContextCreator contextCreator) {
this.zusammenAdaptor = zusammenAdaptor;
+ this.contextCreator = contextCreator;
}
@Override
@@ -58,20 +59,20 @@ public class ArtifactRepositoryImpl implements ArtifactRepository {
artifactElement.setData(artifactEntity.getArtifactData());
artifactElement.getInfo().addProperty(FILE_NAME_PROPERTY, artifactEntity.getFileName());
- SessionContext context = createSessionContext();
+
ElementContext elementContext = new ElementContext(workflowId, versionId);
zusammenAdaptor
- .saveElement(context, elementContext, artifactElement, "Update WorkflowVersion Artifact Element");
+ .saveElement(contextCreator.create(), elementContext, artifactElement, "Update WorkflowVersion Artifact Element");
}
@Override
public Optional<ArtifactEntity> get(String workflowId, String versionId) {
- SessionContext context = createSessionContext();
+
ElementContext elementContext = new ElementContext(workflowId, versionId);
Optional<Element> elementOptional =
- zusammenAdaptor.getElementByName(context, elementContext, null, WorkflowElementType.ARTIFACT.name());
+ zusammenAdaptor.getElementByName(contextCreator.create(), elementContext, null, WorkflowElementType.ARTIFACT.name());
if (!elementOptional.isPresent() || hasEmptyData(elementOptional.get().getData())) {
return Optional.empty();
@@ -87,10 +88,10 @@ public class ArtifactRepositoryImpl implements ArtifactRepository {
@Override
public boolean isExist(String workflowId, String versionId) {
- SessionContext context = createSessionContext();
+
ElementContext elementContext = new ElementContext(workflowId, versionId);
- Optional<ElementInfo> optionalElementInfo = zusammenAdaptor.getElementInfoByName(context, elementContext, null,
+ Optional<ElementInfo> optionalElementInfo = zusammenAdaptor.getElementInfoByName(contextCreator.create(), elementContext, null,
WorkflowElementType.ARTIFACT.name());
return optionalElementInfo.isPresent() && optionalElementInfo.get().getInfo().getProperties()
.containsKey(FILE_NAME_PROPERTY);
@@ -98,27 +99,27 @@ public class ArtifactRepositoryImpl implements ArtifactRepository {
@Override
public void createStructure(String workflowId, String versionId) {
- SessionContext context = createSessionContext();
+
ElementContext elementContext = new ElementContext(workflowId, versionId);
ZusammenElement artifactElement = buildStructuralElement(WorkflowElementType.ARTIFACT.name(), Action.CREATE);
artifactElement.setData(new ByteArrayInputStream(EMPTY_DATA.getBytes()));
zusammenAdaptor
- .saveElement(context, elementContext, artifactElement, "Create WorkflowVersion Artifact Element");
+ .saveElement(contextCreator.create(), elementContext, artifactElement, "Create WorkflowVersion Artifact Element");
}
@Override
public void delete(String workflowId, String versionId) {
- SessionContext context = createSessionContext();
+
ElementContext elementContext = new ElementContext(workflowId, versionId);
ZusammenElement artifactElement = buildStructuralElement(WorkflowElementType.ARTIFACT.name(), Action.UPDATE);
artifactElement.setData(new ByteArrayInputStream(EMPTY_DATA.getBytes()));
artifactElement.getInfo().getProperties().remove(FILE_NAME_PROPERTY);
- zusammenAdaptor.saveElement(context, elementContext, artifactElement, "Delete WorkflowVersion Artifact Data");
+ zusammenAdaptor.saveElement(contextCreator.create(), elementContext, artifactElement, "Delete WorkflowVersion Artifact Data");
}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ParameterRepositoryImpl.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ParameterRepositoryImpl.java
index 00dadead..eeef2477 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ParameterRepositoryImpl.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ParameterRepositoryImpl.java
@@ -16,29 +16,28 @@
package org.onap.sdc.workflow.persistence.impl;
-import static org.openecomp.core.zusammen.api.ZusammenUtil.buildElement;
-import static org.openecomp.core.zusammen.api.ZusammenUtil.buildStructuralElement;
-import static org.openecomp.core.zusammen.api.ZusammenUtil.createSessionContext;
+import static org.onap.sdc.common.zusammen.services.ZusammenElementUtil.ELEMENT_TYPE_PROPERTY;
+import static org.onap.sdc.common.zusammen.services.ZusammenElementUtil.buildElement;
+import static org.onap.sdc.common.zusammen.services.ZusammenElementUtil.buildStructuralElement;
import com.amdocs.zusammen.adaptor.inbound.api.types.item.Element;
import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo;
import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
import com.amdocs.zusammen.datatypes.Id;
-import com.amdocs.zusammen.datatypes.SessionContext;
import com.amdocs.zusammen.datatypes.item.Action;
import com.amdocs.zusammen.datatypes.item.ElementContext;
import com.amdocs.zusammen.datatypes.item.Info;
import java.util.Collection;
import java.util.Optional;
import java.util.stream.Collectors;
+import org.onap.sdc.common.versioning.persistence.zusammen.ZusammenSessionContextCreator;
+import org.onap.sdc.common.zusammen.services.ZusammenAdaptor;
import org.onap.sdc.workflow.persistence.ParameterRepository;
import org.onap.sdc.workflow.persistence.impl.types.ParameterPropertyName;
import org.onap.sdc.workflow.persistence.impl.types.WorkflowElementType;
import org.onap.sdc.workflow.persistence.types.ParameterEntity;
import org.onap.sdc.workflow.persistence.types.ParameterRole;
import org.onap.sdc.workflow.persistence.types.ParameterType;
-import org.openecomp.core.zusammen.api.ZusammenAdaptor;
-import org.openecomp.types.ElementPropertyName;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@@ -46,90 +45,80 @@ import org.springframework.stereotype.Repository;
public class ParameterRepositoryImpl implements ParameterRepository {
private final ZusammenAdaptor zusammenAdaptor;
+ private final ZusammenSessionContextCreator contextCreator;
@Autowired
- public ParameterRepositoryImpl(ZusammenAdaptor zusammenAdaptor) {
+ public ParameterRepositoryImpl(ZusammenAdaptor zusammenAdaptor, ZusammenSessionContextCreator contextCreator) {
this.zusammenAdaptor = zusammenAdaptor;
+ this.contextCreator = contextCreator;
}
@Override
public void createStructure(String id, String versionId) {
-
- SessionContext context = createSessionContext();
ElementContext elementContext = new ElementContext(id, versionId);
ZusammenElement inputsElement = buildStructuralElement(WorkflowElementType.INPUTS.name(), Action.CREATE);
ZusammenElement outputsElement = buildStructuralElement(WorkflowElementType.OUTPUTS.name(), Action.CREATE);
- zusammenAdaptor.saveElement(context, elementContext, inputsElement, "Create WorkflowVersion INPUTS Element");
- zusammenAdaptor.saveElement(context, elementContext, outputsElement, "Create WorkflowVersion OUTPUTS Element");
+ zusammenAdaptor.saveElement(contextCreator.create(), elementContext, inputsElement, "Create WorkflowVersion INPUTS Element");
+ zusammenAdaptor.saveElement(contextCreator.create(), elementContext, outputsElement, "Create WorkflowVersion OUTPUTS Element");
}
@Override
public Collection<ParameterEntity> list(String id, String versionId, ParameterRole role) {
-
- SessionContext context = createSessionContext();
ElementContext elementContext = new ElementContext(id, versionId);
- return zusammenAdaptor.listElementsByName(context, elementContext, null, getParentElementType(role)).stream()
- .map(this::mapElementInfoToParameter).collect(Collectors.toList());
-
+ return zusammenAdaptor.listElementsByName(contextCreator.create(), elementContext, null, getParentElementType(role)).stream()
+ .map(this::mapElementInfoToParameter).collect(Collectors.toList());
}
@Override
public void deleteAll(String id, String versionId, ParameterRole role) {
-
- SessionContext context = createSessionContext();
ElementContext elementContext = new ElementContext(id, versionId);
Optional<ElementInfo> optionalParentElement =
- zusammenAdaptor.getElementInfoByName(context, elementContext, null, getParentElementType(role));
+ zusammenAdaptor.getElementInfoByName(contextCreator.create(), elementContext, null, getParentElementType(role));
if (!optionalParentElement.isPresent()) {
- throw new IllegalStateException(String.format("Missing data for workflow id %s version id %s",id,versionId));
+ throw new IllegalStateException(
+ String.format("Missing data for workflow id %s version id %s", id, versionId));
}
ZusammenElement parentElement = buildElement(optionalParentElement.get().getId(), Action.IGNORE);
parentElement.setSubElements(optionalParentElement.get().getSubElements().stream()
- .map(parameter -> buildElement(parameter.getId(),
- Action.DELETE)).collect(Collectors.toList()));
+ .map(parameter -> buildElement(parameter.getId(), Action.DELETE))
+ .collect(Collectors.toList()));
- zusammenAdaptor.saveElement(context, elementContext, parentElement, "Delete all " + role);
+ zusammenAdaptor.saveElement(contextCreator.create(), elementContext, parentElement, "Delete all " + role);
}
@Override
public ParameterEntity get(String id, String versionId, String parameterId) {
-
- SessionContext context = createSessionContext();
ElementContext elementContext = new ElementContext(id, versionId);
- Optional<ElementInfo> element = zusammenAdaptor.getElementInfo(context, elementContext, new Id(parameterId));
+ Optional<ElementInfo> element = zusammenAdaptor.getElementInfo(contextCreator.create(), elementContext, new Id(parameterId));
return element.map(this::mapElementInfoToParameter).orElse(null);
}
@Override
public void delete(String id, String versionId, String parameterId) {
- SessionContext context = createSessionContext();
ElementContext elementContext = new ElementContext(id, versionId);
ZusammenElement parameterElement = buildElement(new Id(parameterId), Action.DELETE);
- zusammenAdaptor.saveElement(context, elementContext, parameterElement,
+ zusammenAdaptor.saveElement(contextCreator.create(), elementContext, parameterElement,
String.format("Delete Parameter with id %s", parameterId));
-
}
@Override
public ParameterEntity create(String id, String versionId, ParameterRole role, ParameterEntity parameter) {
-
ZusammenElement parameterElement = parameterToZusammenElement(parameter, role, Action.CREATE);
ZusammenElement parentElement = buildStructuralElement(getParentElementType(role), Action.IGNORE);
parentElement.addSubElement(parameterElement);
- SessionContext context = createSessionContext();
ElementContext elementContext = new ElementContext(id, versionId);
- Element savedElement = zusammenAdaptor.saveElement(context, elementContext, parentElement,
+ Element savedElement = zusammenAdaptor.saveElement(contextCreator.create(), elementContext, parentElement,
"Create WorkflowVersion Parameter Element");
parameter.setId(savedElement.getSubElements().iterator().next().getElementId().getValue());
@@ -138,22 +127,19 @@ public class ParameterRepositoryImpl implements ParameterRepository {
@Override
public void update(String id, String versionId, ParameterRole role, ParameterEntity parameter) {
-
- SessionContext context = createSessionContext();
ElementContext elementContext = new ElementContext(id, versionId);
ZusammenElement parameterElement = parameterToZusammenElement(parameter, role, Action.UPDATE);
- zusammenAdaptor.saveElement(context, elementContext, parameterElement, "Update WorkflowVersion Parameter");
+ zusammenAdaptor.saveElement(contextCreator.create(), elementContext, parameterElement, "Update WorkflowVersion Parameter");
}
private ZusammenElement parameterToZusammenElement(ParameterEntity parameter, ParameterRole role, Action action) {
-
ZusammenElement parameterElement =
buildElement(parameter.getId() == null ? null : new Id(parameter.getId()), action);
Info info = new Info();
info.setName(parameter.getName());
- info.addProperty(ElementPropertyName.elementType.name(), WorkflowElementType.valueOf(role.name()));
+ info.addProperty(ELEMENT_TYPE_PROPERTY, WorkflowElementType.valueOf(role.name()));
info.addProperty(ParameterPropertyName.TYPE.name(), parameter.getType());
info.addProperty(ParameterPropertyName.MANDATORY.name(), parameter.isMandatory());
parameterElement.setInfo(info);
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/ActivitySpecEntity.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/ActivitySpecEntity.java
index cf2db9a1..cf3be394 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/ActivitySpecEntity.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/ActivitySpecEntity.java
@@ -18,14 +18,13 @@ package org.onap.sdc.workflow.persistence.types;
import java.util.List;
import lombok.NoArgsConstructor;
-import org.openecomp.sdc.versioning.dao.types.Version;
@lombok.Data
@NoArgsConstructor
public class ActivitySpecEntity {
private String id;
- private Version version;
+ private String versionId;
private String name;
private String description;
@@ -38,8 +37,8 @@ public class ActivitySpecEntity {
//Not to be maintained in activityspec element
private String status;
- public ActivitySpecEntity(String id, Version version) {
+ public ActivitySpecEntity(String id, String versionId) {
this.id = id;
- this.version = version;
+ this.versionId = versionId;
}
}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/WorkflowZusammenConfigProvider.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/WorkflowZusammenConfigProvider.java
new file mode 100644
index 00000000..dbd2d6de
--- /dev/null
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/WorkflowZusammenConfigProvider.java
@@ -0,0 +1,48 @@
+/*
+ * 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.server.config;
+
+import lombok.Getter;
+import org.onap.sdc.common.zusammen.config.ZusammenConfigProvider;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@Getter
+public class WorkflowZusammenConfigProvider implements ZusammenConfigProvider {
+
+ @Value("${spring.data.cassandra.keyspace-name}")
+ private String tenant;
+ @Value("${spring.data.cassandra.contact-points}")
+ private String cassandraAddresses;
+ @Value("${spring.data.cassandra.port}")
+ private String cassandraPort;
+
+ @Value("${spring.data.cassandra.username}")
+ private String cassandraUser;
+ @Value("${spring.data.cassandra.password}")
+ private String cassandraPassword;
+ @Value("${zusammen.cassandra.isAuthenticate}")
+ private String cassandraAuth;
+ @Value("${spring.data.cassandra.ssl}")
+
+ private String cassandraSSL;
+ @Value("${zusammen.cassandra.trustStorePath}")
+ private String cassandraTrustStorePath;
+ @Value("${zusammen.cassandra.trustStorePassword}")
+ private String cassandraTrustStorePassword;
+} \ No newline at end of file
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/ZusammenConfig.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/ZusammenConfig.java
deleted file mode 100644
index 700b1b9f..00000000
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/ZusammenConfig.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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.server.config;
-
-import com.datastax.driver.core.RemoteEndpointAwareJdkSSLOptions;
-import com.datastax.driver.core.SSLOptions;
-import java.io.FileInputStream;
-import java.security.KeyStore;
-import java.security.SecureRandom;
-import javax.annotation.PostConstruct;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManagerFactory;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.cassandra.ClusterBuilderCustomizer;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class ZusammenConfig {
-
- @Value("${spring.data.cassandra.keyspace-name}")
- private String tenant;
- @Value("${spring.data.cassandra.contact-points}")
- private String cassandraAddress;
- @Value("${spring.data.cassandra.username}")
- private String cassandraUser;
- @Value("${spring.data.cassandra.password}")
- private String cassandraPassword;
- @Value("${zusammen.cassandra.isAuthenticate}")
- private String cassandraAuth;
- @Value("${spring.data.cassandra.ssl}")
- private String cassandraSSL;
- @Value("${zusammen.cassandra.trustStorePath}")
- private String cassandraTrustStorePath;
- @Value("${zusammen.cassandra.trustStorePassword}")
- private String cassandraTrustStorePassword;
-
- private static final String[] CIPHER_SUITES = {"TLS_RSA_WITH_AES_128_CBC_SHA"};
- private static final String KEYSTORE_TYPE = "JKS";
- private static final String SECURE_SOCKET_PROTOCOL = "SSL";
-
- @PostConstruct
- public void init() {
- System.setProperty("cassandra.nodes", cassandraAddress);
- System.setProperty("cassandra.user", cassandraUser);
- System.setProperty("cassandra.password", cassandraPassword);
- System.setProperty("cassandra.authenticate", Boolean.toString(Boolean.valueOf(cassandraAuth)));
- System.setProperty("cassandra.ssl", Boolean.toString(Boolean.valueOf(cassandraSSL)));
- System.setProperty("cassandra.truststore", cassandraTrustStorePath);
- System.setProperty("cassandra.truststore.password", cassandraTrustStorePassword);
- }
-
- public String getTenant() {
- return tenant;
- }
-
- @Bean
- @ConditionalOnProperty("spring.data.cassandra.ssl")
- ClusterBuilderCustomizer clusterBuilderCustomizer() {
- SSLOptions sslOptions = RemoteEndpointAwareJdkSSLOptions
- .builder()
- .withSSLContext(getSslContext())
- .withCipherSuites(CIPHER_SUITES).build();
- return builder -> builder.withSSL(sslOptions);
- }
-
- private SSLContext getSslContext() {
- try (FileInputStream tsf = new FileInputStream(cassandraTrustStorePath)) {
- SSLContext ctx = SSLContext.getInstance(SECURE_SOCKET_PROTOCOL);
- KeyStore ts = KeyStore.getInstance(KEYSTORE_TYPE);
- ts.load(tsf, cassandraTrustStorePassword.toCharArray());
- TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
- tmf.init(ts);
- ctx.init(null, tmf.getTrustManagers(), new SecureRandom());
- return ctx;
- } catch (Exception ex) {
- throw new BeanCreationException(ex.getMessage(), ex);
- }
- }
-} \ No newline at end of file
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/filters/SessionContextFilter.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/filters/SessionContextFilter.java
index e9742fcd..57cda856 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/filters/SessionContextFilter.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/filters/SessionContextFilter.java
@@ -24,20 +24,21 @@ import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
-import org.onap.sdc.workflow.server.config.ZusammenConfig;
-import org.openecomp.sdc.common.session.SessionContextProvider;
-import org.openecomp.sdc.common.session.SessionContextProviderFactory;
+import org.onap.sdc.common.session.SessionContextProvider;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class SessionContextFilter implements Filter {
- private ZusammenConfig zusammenConfig;
+ private final SessionContextProvider sessionContextProvider;
+ @Value("${spring.data.cassandra.keyspace-name}")
+ private String tenant;
@Autowired
- public SessionContextFilter(ZusammenConfig zusammenConfig) {
- this.zusammenConfig = zusammenConfig;
+ public SessionContextFilter(SessionContextProvider sessionContextProvider) {
+ this.sessionContextProvider = sessionContextProvider;
}
@Override
@@ -48,16 +49,14 @@ public class SessionContextFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
- SessionContextProvider contextProvider = SessionContextProviderFactory.getInstance().createInterface();
-
try {
if (servletRequest instanceof HttpServletRequest) {
- contextProvider.create(getUser(servletRequest), getTenant());
+ sessionContextProvider.create(getUser(servletRequest), tenant);
}
filterChain.doFilter(servletRequest, servletResponse);
} finally {
- contextProvider.close();
+ sessionContextProvider.close();
}
}
@@ -69,10 +68,6 @@ public class SessionContextFilter implements Filter {
private String getUser(ServletRequest servletRequest) {
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() {
- return zusammenConfig.getTenant();
+ //((HttpServletRequest) servletRequest).getHeader(USER_ID_HEADER_PARAM);
}
}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionStatusModificationException.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionStatusModificationException.java
index 4eb8af42..917a8384 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionStatusModificationException.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionStatusModificationException.java
@@ -16,7 +16,7 @@
package org.onap.sdc.workflow.services.exceptions;
-import org.openecomp.sdc.versioning.dao.types.VersionStatus;
+import org.onap.sdc.common.versioning.services.types.VersionStatus;
public class VersionStatusModificationException extends RuntimeException {
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/WorkflowStatusModificationException.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/WorkflowStatusModificationException.java
deleted file mode 100644
index 380b1405..00000000
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/WorkflowStatusModificationException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.services.exceptions;
-
-import org.openecomp.sdc.common.errors.CoreException;
-
-public class WorkflowStatusModificationException extends RuntimeException {
-
- public WorkflowStatusModificationException(CoreException ex) {
- super(ex.getMessage());
- }
-}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/ActivitySpecManagerImpl.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/ActivitySpecManagerImpl.java
index 640affe8..e1849b9f 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/ActivitySpecManagerImpl.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/ActivitySpecManagerImpl.java
@@ -16,12 +16,12 @@
package org.onap.sdc.workflow.services.impl;
+import static org.onap.sdc.common.versioning.services.types.VersionStatus.Certified;
+import static org.onap.sdc.common.versioning.services.types.VersionStatus.Deleted;
+import static org.onap.sdc.common.versioning.services.types.VersionStatus.Deprecated;
+import static org.onap.sdc.common.versioning.services.types.VersionStatus.Draft;
import static org.onap.sdc.workflow.services.ActivitySpecConstant.ACTIVITY_SPEC_NOT_FOUND;
import static org.onap.sdc.workflow.services.ActivitySpecConstant.VERSION_ID_DEFAULT_VALUE;
-import static org.openecomp.sdc.versioning.dao.types.VersionStatus.Certified;
-import static org.openecomp.sdc.versioning.dao.types.VersionStatus.Deleted;
-import static org.openecomp.sdc.versioning.dao.types.VersionStatus.Deprecated;
-import static org.openecomp.sdc.versioning.dao.types.VersionStatus.Draft;
import java.util.Collection;
import java.util.Collections;
@@ -32,6 +32,12 @@ import java.util.Map;
import java.util.Objects;
import java.util.function.Predicate;
import java.util.stream.Collectors;
+import org.onap.sdc.common.versioning.services.ItemManager;
+import org.onap.sdc.common.versioning.services.VersioningManager;
+import org.onap.sdc.common.versioning.services.types.Item;
+import org.onap.sdc.common.versioning.services.types.Version;
+import org.onap.sdc.common.versioning.services.types.VersionCreationMethod;
+import org.onap.sdc.common.versioning.services.types.VersionStatus;
import org.onap.sdc.workflow.api.types.activityspec.ActivitySpecAction;
import org.onap.sdc.workflow.persistence.ActivitySpecRepository;
import org.onap.sdc.workflow.persistence.types.ActivitySpecEntity;
@@ -40,15 +46,8 @@ import org.onap.sdc.workflow.services.UniqueValueService;
import org.onap.sdc.workflow.services.exceptions.EntityNotFoundException;
import org.onap.sdc.workflow.services.exceptions.VersionStatusModificationException;
import org.onap.sdc.workflow.services.impl.mappers.ActivitySpecMapper;
-import org.openecomp.sdc.common.errors.SdcRuntimeException;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.versioning.ItemManager;
-import org.openecomp.sdc.versioning.VersioningManager;
-import org.openecomp.sdc.versioning.dao.types.Version;
-import org.openecomp.sdc.versioning.dao.types.VersionStatus;
-import org.openecomp.sdc.versioning.types.Item;
-import org.openecomp.sdc.versioning.types.VersionCreationMethod;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
@@ -91,13 +90,15 @@ public class ActivitySpecManagerImpl implements ActivitySpecManager {
uniqueValueService.validateUniqueValue(ACTIVITY_SPEC_NAME, activitySpec.getName());
- Item item = activitySpecMapper.activitySpecToItem(activitySpec);
- item = itemManager.create(item);
+ Item item = new Item();
+ activitySpecMapper.toItem(activitySpec, item);
+ Item createdItem = itemManager.create(item);
- Version version = getActivitySpecVersion(activitySpec);
- versioningManager.create(item.getId(), version, VersionCreationMethod.major);
+ Version createdVersion =
+ versioningManager.create(createdItem.getId(), null, new Version(), VersionCreationMethod.major);
- enrichActivitySpec(item, version, activitySpec);
+ activitySpec.setId(createdItem.getId());
+ activitySpec.setVersionId(createdVersion.getId());
activitySpecDao.create(activitySpec);
uniqueValueService.createUniqueValue(ACTIVITY_SPEC_NAME, activitySpec.getName());
@@ -106,18 +107,18 @@ public class ActivitySpecManagerImpl implements ActivitySpecManager {
@Override
public ActivitySpecEntity get(ActivitySpecEntity activitySpec) {
- activitySpec.setVersion(calculateLatestVersion(activitySpec));
+ activitySpec.setVersionId(calculateLatestVersion(activitySpec));
ActivitySpecEntity retrieved;
try {
+
retrieved = activitySpecDao.get(activitySpec);
- } catch (SdcRuntimeException runtimeException) {
- LOGGER.debug(
- "Failed to retrieve activity spec for activitySpecId: " + activitySpec.getId() + " and version: "
- + activitySpec.getVersion().getId(), runtimeException);
+ } catch (RuntimeException e) {
+ LOGGER.error("Failed to retrieve activity spec for activitySpecId: {} and version: {}",
+ activitySpec.getId(), activitySpec.getVersionId(), e);
throw new EntityNotFoundException(ACTIVITY_SPEC_NOT_FOUND);
}
if (retrieved != null) {
- final Version retrievedVersion = versioningManager.get(activitySpec.getId(), activitySpec.getVersion());
+ final Version retrievedVersion = versioningManager.get(activitySpec.getId(), activitySpec.getVersionId());
retrieved.setStatus(Objects.nonNull(retrievedVersion) ? retrievedVersion.getStatus().name() : null);
}
return retrieved;
@@ -125,74 +126,66 @@ public class ActivitySpecManagerImpl implements ActivitySpecManager {
@Override
public void update(ActivitySpecEntity activitySpec) {
- Item retrievedItem = itemManager.get(activitySpec.getId());
- if (retrievedItem == null) {
+ Item item = itemManager.get(activitySpec.getId());
+ if (item == null) {
LOGGER.error("Activity Spec with id {} was not found", activitySpec.getId());
throw new EntityNotFoundException(ACTIVITY_SPEC_NOT_FOUND);
}
- uniqueValueService.updateUniqueValue(ACTIVITY_SPEC_NAME, retrievedItem.getName(), activitySpec.getName());
+ uniqueValueService.updateUniqueValue(ACTIVITY_SPEC_NAME, item.getName(), activitySpec.getName());
- Item item = activitySpecMapper.activitySpecToItem(activitySpec);
- item.setId(activitySpec.getId());
- item.setStatus(retrievedItem.getStatus());
- item.setVersionStatusCounters(retrievedItem.getVersionStatusCounters());
- itemManager.update(item);
+ activitySpecMapper.toItem(activitySpec, item);
+ itemManager.update(activitySpec.getId(), item);
- activitySpec.setVersion(calculateLatestVersion(activitySpec));
+ activitySpec.setVersionId(calculateLatestVersion(activitySpec));
activitySpecDao.update(activitySpec);
}
@Override
public void actOnAction(ActivitySpecEntity activitySpec, ActivitySpecAction action) {
- Version version = calculateLatestVersion(activitySpec);
- if (action == ActivitySpecAction.CERTIFY) {
- version.setStatus(Certified);
- }
- if (action == ActivitySpecAction.DEPRECATE) {
- version.setStatus(Deprecated);
- }
- if (action == ActivitySpecAction.DELETE) {
- version.setStatus(Deleted);
- }
-
- updateVersionStatus(activitySpec.getId(), action, version);
- if (action == ActivitySpecAction.DELETE) {
- final String activitySpecName = get(new ActivitySpecEntity(activitySpec.getId(), version)).getName();
- uniqueValueService.deleteUniqueValue(ACTIVITY_SPEC_NAME, activitySpecName);
- }
- }
+ VersionStatus newStatus = getVersionStatusByAction(action);
- private void updateVersionStatus(String activitySpecId, ActivitySpecAction action, Version version) {
- VersionStatus prevVersionStatus = null;
+ String versionId = calculateLatestVersion(activitySpec);
Version retrievedVersion;
try {
- retrievedVersion = versioningManager.get(activitySpecId, version);
- } catch (SdcRuntimeException exception) {
- LOGGER.debug(
- "Failed to get version for activitySpecId: " + activitySpecId + " and version: " + version.getId(),
- exception);
+ retrievedVersion = versioningManager.get(activitySpec.getId(), versionId);
+ } catch (RuntimeException e) {
+ LOGGER.error("failed to get activity {}, version {}", activitySpec.getId(), versionId, e);
+ throw new EntityNotFoundException(ACTIVITY_SPEC_NOT_FOUND);
+ }
+ if (retrievedVersion == null) {
throw new EntityNotFoundException(ACTIVITY_SPEC_NOT_FOUND);
+ }
+ VersionStatus retrievedStatus = retrievedVersion.getStatus();
+ VersionStatus expectedPrevStatus = EXPECTED_PREV_STATUS.get(newStatus);
+ if (expectedPrevStatus != null && retrievedStatus != expectedPrevStatus) {
+ LOGGER.debug("Failed to {} since activity spec is in status {}", action.name(), retrievedStatus);
+ throw new VersionStatusModificationException(activitySpec.getId(), versionId, retrievedStatus,
+ newStatus);
}
- VersionStatus status = version.getStatus();
- VersionStatus expectedPrevStatus = EXPECTED_PREV_STATUS.get(status);
- if (expectedPrevStatus != null) {
+ versioningManager.updateStatus(activitySpec.getId(), retrievedVersion.getId(), newStatus,
+ "actionOnActivitySpec :" + action.name());
- VersionStatus retrievedStatus = Objects.nonNull(retrievedVersion) ? retrievedVersion.getStatus() : null;
- if (retrievedStatus != expectedPrevStatus) {
- LOGGER.debug("Failed to " + version.getStatus() + " since activity spec is in " + retrievedStatus);
- throw new VersionStatusModificationException(activitySpecId, version.getId(), retrievedStatus, status);
- }
- prevVersionStatus = expectedPrevStatus;
+ if (action == ActivitySpecAction.DELETE) {
+ final String activitySpecName = get(new ActivitySpecEntity(activitySpec.getId(), versionId)).getName();
+ uniqueValueService.deleteUniqueValue(ACTIVITY_SPEC_NAME, activitySpecName);
}
+ }
- if (Objects.nonNull(retrievedVersion)) {
- retrievedVersion.setStatus(status);
- versioningManager.updateVersion(activitySpecId, retrievedVersion);
- itemManager.updateVersionStatus(activitySpecId, status, prevVersionStatus);
- versioningManager.publish(activitySpecId, retrievedVersion, "actionOnActivitySpec :" + action.name());
+ private VersionStatus getVersionStatusByAction(ActivitySpecAction action) {
+ switch (action) {
+ case DELETE:
+ return Deleted;
+ case DEPRECATE:
+ return Deprecated;
+ case CERTIFY:
+ return Certified;
+ default:
+ throw new UnsupportedOperationException(
+ String.format("Activity Spec action %s is not supported", action.name()));
}
+
}
@Override
@@ -220,29 +213,19 @@ public class ActivitySpecManagerImpl implements ActivitySpecManager {
.map(activitySpecMapper::itemToActivitySpec).collect(Collectors.toList());
}
- private Version calculateLatestVersion(ActivitySpecEntity activitySpec) {
- if (VERSION_ID_DEFAULT_VALUE.equalsIgnoreCase(activitySpec.getVersion().getId())) {
- List<Version> list;
+ private String calculateLatestVersion(ActivitySpecEntity activitySpec) {
+ if (VERSION_ID_DEFAULT_VALUE.equalsIgnoreCase(activitySpec.getVersionId())) {
+ List<Version> versions;
try {
- list = versioningManager.list(activitySpec.getId());
- } catch (SdcRuntimeException runtimeException) {
- LOGGER.debug("Failed to list versions for activitySpecId " + activitySpec.getId(), runtimeException);
+ versions = versioningManager.list(activitySpec.getId());
+ } catch (RuntimeException e) {
+ LOGGER.error("Failed to list versions for activitySpecId {}", activitySpec.getId(), e);
throw new EntityNotFoundException(ACTIVITY_SPEC_NOT_FOUND);
}
- if (Objects.nonNull(list) && !list.isEmpty()) {
- return list.get(0);
+ if (Objects.nonNull(versions) && !versions.isEmpty()) {
+ return versions.get(0).getId();
}
}
- return activitySpec.getVersion();
- }
-
- private Version getActivitySpecVersion(ActivitySpecEntity activitySpecEntity) {
- return activitySpecEntity.getVersion() == null ? new Version() : activitySpecEntity.getVersion();
-
- }
-
- private void enrichActivitySpec(Item item, Version version, ActivitySpecEntity activitySpecEntity) {
- activitySpecEntity.setId(item.getId());
- activitySpecEntity.setVersion(version);
+ return activitySpec.getVersionId();
}
}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/CollaborationConfiguration.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/CollaborationConfiguration.java
deleted file mode 100644
index c0612436..00000000
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/CollaborationConfiguration.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.services.impl;
-
-import org.openecomp.core.zusammen.api.ZusammenAdaptor;
-import org.openecomp.core.zusammen.api.ZusammenAdaptorFactory;
-import org.openecomp.sdc.versioning.ItemManager;
-import org.openecomp.sdc.versioning.ItemManagerFactory;
-import org.openecomp.sdc.versioning.VersioningManager;
-import org.openecomp.sdc.versioning.VersioningManagerFactory;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class CollaborationConfiguration {
-
- @Bean
- public ItemManager itemManager() {
- return ItemManagerFactory.getInstance().createInterface();
- }
-
- @Bean
- public VersioningManager versioningManager() {
- return VersioningManagerFactory.getInstance().createInterface();
- }
-
- @Bean
- public ZusammenAdaptor zusammenAdaptor() {
- return ZusammenAdaptorFactory.getInstance().createInterface();
- }
-}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java
index 3d9cda51..fc135621 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java
@@ -27,28 +27,27 @@ import java.util.List;
import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Collectors;
+import org.onap.sdc.common.versioning.services.ItemManager;
+import org.onap.sdc.common.versioning.services.types.Item;
+import org.onap.sdc.common.versioning.services.types.ItemStatus;
+import org.onap.sdc.common.versioning.services.types.VersionStatus;
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.exceptions.WorkflowModificationException;
-import org.onap.sdc.workflow.services.exceptions.WorkflowStatusModificationException;
+import org.onap.sdc.workflow.services.impl.mappers.ArchivingStatusMapper;
import org.onap.sdc.workflow.services.impl.mappers.VersionStateMapper;
import org.onap.sdc.workflow.services.impl.mappers.WorkflowMapper;
+import org.onap.sdc.workflow.services.types.ArchivingStatus;
import org.onap.sdc.workflow.services.types.Page;
import org.onap.sdc.workflow.services.types.PagingRequest;
import org.onap.sdc.workflow.services.types.RequestSpec;
import org.onap.sdc.workflow.services.types.Sort;
import org.onap.sdc.workflow.services.types.SortingRequest;
import org.onap.sdc.workflow.services.types.Workflow;
-import org.onap.sdc.workflow.services.types.ArchivingStatus;
import org.onap.sdc.workflow.services.types.WorkflowVersionState;
-import org.openecomp.sdc.common.errors.CoreException;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.versioning.ItemManager;
-import org.openecomp.sdc.versioning.dao.types.VersionStatus;
-import org.openecomp.sdc.versioning.types.Item;
-import org.openecomp.sdc.versioning.types.ItemStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
@@ -69,15 +68,17 @@ public class WorkflowManagerImpl implements WorkflowManager {
private final ItemManager itemManager;
private final UniqueValueService uniqueValueService;
private final WorkflowMapper workflowMapper;
+ private final ArchivingStatusMapper archivingStatusMapper;
private final VersionStateMapper versionStateMapper;
@Autowired
public WorkflowManagerImpl(ItemManager itemManager,
@Qualifier("uniqueValueService") UniqueValueService uniqueValueService, WorkflowMapper workflowMapper,
- VersionStateMapper versionStateMapper) {
+ ArchivingStatusMapper archivingStatusMapper, VersionStateMapper versionStateMapper) {
this.itemManager = itemManager;
this.uniqueValueService = uniqueValueService;
this.workflowMapper = workflowMapper;
+ this.archivingStatusMapper = archivingStatusMapper;
this.versionStateMapper = versionStateMapper;
}
@@ -89,11 +90,10 @@ public class WorkflowManagerImpl implements WorkflowManager {
Collection<Item> workflowItems =
itemManager.list(createFilter(statusFilter, searchNameFilter, versionStatesFilter));
- List<Workflow> workflowsSlice = workflowItems.stream().map(workflowMapper::itemToWorkflow)
- .sorted(getWorkflowComparator(requestSpec.getSorting()))
- .skip(requestSpec.getPaging().getOffset())
- .limit(requestSpec.getPaging().getLimit())
- .collect(Collectors.toList());
+ List<Workflow> workflowsSlice = workflowItems.stream().map(workflowMapper::fromItem)
+ .sorted(getWorkflowComparator(requestSpec.getSorting()))
+ .skip(requestSpec.getPaging().getOffset())
+ .limit(requestSpec.getPaging().getLimit()).collect(Collectors.toList());
return new Page<>(workflowsSlice, requestSpec.getPaging(), workflowItems.size());
}
@@ -104,56 +104,41 @@ public class WorkflowManagerImpl implements WorkflowManager {
if (retrievedItem == null) {
throw new EntityNotFoundException(String.format(WORKFLOW_NOT_FOUND_ERROR_MSG, workflow.getId()));
}
- return this.workflowMapper.itemToWorkflow(retrievedItem);
+ return this.workflowMapper.fromItem(retrievedItem);
}
@Override
public Workflow create(Workflow workflow) {
- Item item = workflowMapper.workflowToItem(workflow);
- item.setStatus(ItemStatus.ACTIVE);
+ Item item = new Item();
+ workflowMapper.toItem(workflow, item);
uniqueValueService.validateUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE, workflow.getName());
Item createdItem = itemManager.create(item);
uniqueValueService.createUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE, workflow.getName());
- return workflowMapper.itemToWorkflow(createdItem);
+ return workflowMapper.fromItem(createdItem);
}
@Override
public void update(Workflow workflow) {
- Item retrievedItem = itemManager.get(workflow.getId());
- if (retrievedItem == null) {
+ Item item = itemManager.get(workflow.getId());
+ if (item == null) {
throw new EntityNotFoundException(String.format(WORKFLOW_NOT_FOUND_ERROR_MSG, workflow.getId()));
}
- if (ItemStatus.ARCHIVED.equals(retrievedItem.getStatus())) {
+ if (ItemStatus.ARCHIVED.equals(item.getStatus())) {
throw new WorkflowModificationException(workflow.getId());
}
- uniqueValueService.updateUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE, retrievedItem.getName(), workflow.getName());
+ uniqueValueService.updateUniqueValue(WORKFLOW_NAME_UNIQUE_TYPE, item.getName(), workflow.getName());
- Item item = workflowMapper.workflowToItem(workflow);
- item.setId(workflow.getId());
- item.setStatus(retrievedItem.getStatus());
- item.setVersionStatusCounters(retrievedItem.getVersionStatusCounters());
- itemManager.update(item);
+ workflowMapper.toItem(workflow, item);
+ itemManager.update(workflow.getId(), item);
}
@Override
public void updateStatus(String workflowId, ArchivingStatus status) {
- Item item = itemManager.get(workflowId);
- if (item == null) {
- throw new EntityNotFoundException(String.format(WORKFLOW_NOT_FOUND_ERROR_MSG, workflowId));
- }
- try {
- if (ArchivingStatus.ARCHIVED.equals(status)) {
- itemManager.archive(item);
- } else if (ArchivingStatus.ACTIVE.equals(status)) {
- itemManager.restore(item);
- }
- } catch (CoreException ex) {
- throw new WorkflowStatusModificationException(ex);
- }
+ itemManager.updateStatus(workflowId, archivingStatusMapper.toItemStatus(status));
}
private static RequestSpec getRequestSpec(RequestSpec requestSpec) {
@@ -184,8 +169,8 @@ public class WorkflowManagerImpl implements WorkflowManager {
private static Comparator<Workflow> getWorkflowComparator(SortingRequest sorting) {
Boolean byNameAscending = sorting.getSorts().stream()
- .filter(sort -> WORKSPACES_SORT_PROPERTY.equalsIgnoreCase(sort.getProperty()))
- .findFirst().map(Sort::isAscendingOrder).orElse(true);
+ .filter(sort -> WORKSPACES_SORT_PROPERTY.equalsIgnoreCase(sort.getProperty()))
+ .findFirst().map(Sort::isAscendingOrder).orElse(true);
Comparator<Workflow> byName = Comparator.comparing(Workflow::getName);
return byNameAscending ? byName : byName.reversed();
@@ -209,12 +194,12 @@ public class WorkflowManagerImpl implements WorkflowManager {
private static Predicate<Item> addSearchNameFilter(Predicate<Item> filter, String searchNameFilter) {
return filter.and(item -> searchNameFilter == null || item.getName().toLowerCase()
- .contains(searchNameFilter.toLowerCase()));
+ .contains(searchNameFilter.toLowerCase()));
}
private static Predicate<Item> addVersionStatusFilter(Predicate<Item> filter, Set<VersionStatus> versionStatuses) {
return filter.and(item -> versionStatuses == null || item.getVersionStatusCounters().keySet().stream()
- .anyMatch(versionStatuses::contains));
+ .anyMatch(versionStatuses::contains));
}
private static Predicate<Item> addItemStatusFilter(Predicate<Item> filter, String itemStatusFilter) {
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java
index 33210778..f95e6a1f 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java
@@ -29,7 +29,13 @@ import java.util.Optional;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
-
+import org.onap.sdc.common.versioning.services.ItemManager;
+import org.onap.sdc.common.versioning.services.VersioningManager;
+import org.onap.sdc.common.versioning.services.types.Item;
+import org.onap.sdc.common.versioning.services.types.ItemStatus;
+import org.onap.sdc.common.versioning.services.types.Version;
+import org.onap.sdc.common.versioning.services.types.VersionCreationMethod;
+import org.onap.sdc.common.versioning.services.types.VersionStatus;
import org.onap.sdc.workflow.persistence.ArtifactRepository;
import org.onap.sdc.workflow.persistence.ParameterRepository;
import org.onap.sdc.workflow.persistence.types.ArtifactEntity;
@@ -49,13 +55,6 @@ import org.onap.sdc.workflow.services.types.WorkflowVersion;
import org.onap.sdc.workflow.services.types.WorkflowVersionState;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.versioning.ItemManager;
-import org.openecomp.sdc.versioning.VersioningManager;
-import org.openecomp.sdc.versioning.dao.types.Version;
-import org.openecomp.sdc.versioning.dao.types.VersionStatus;
-import org.openecomp.sdc.versioning.types.Item;
-import org.openecomp.sdc.versioning.types.ItemStatus;
-import org.openecomp.sdc.versioning.types.VersionCreationMethod;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@@ -95,7 +94,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
return versioningManager.list(workflowId).stream()
.filter(version -> versionStatusFilter == null || versionStatusFilter.contains(
version.getStatus()))
- .map(versionMapper::versionToWorkflowVersion)
+ .map(versionMapper::fromVersion)
.sorted(Comparator.comparing(WorkflowVersion::getName).reversed())
.peek(workflowVersion -> loadAndAddParameters(workflowId, workflowVersion))
.collect(Collectors.toList());
@@ -103,7 +102,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
@Override
public WorkflowVersion get(String workflowId, String versionId) {
- WorkflowVersion workflowVersion = versionMapper.versionToWorkflowVersion(getVersion(workflowId, versionId));
+ WorkflowVersion workflowVersion = versionMapper.fromVersion(getVersion(workflowId, versionId));
loadAndAddParameters(workflowId, workflowVersion);
workflowVersion.setHasArtifact(artifactRepository.isExist(workflowId,versionId));
return workflowVersion;
@@ -125,14 +124,13 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
Version version = new Version();
version.setDescription(workflowVersion.getDescription());
- version.setBaseId(baseVersionId);
- Version createdVersion = versioningManager.create(workflowId, version, VersionCreationMethod.major);
+ Version createdVersion = versioningManager.create(workflowId, baseVersionId, version, VersionCreationMethod.major);
- if (versions.isEmpty()) { // only for first version
+ if (versions.isEmpty()) { // only for first versionId
artifactRepository.createStructure(workflowId, createdVersion.getId());
parameterRepository.createStructure(workflowId, createdVersion.getId());
updateParameters(workflowId, createdVersion.getId(), workflowVersion.getInputs(), workflowVersion.getOutputs());
- versioningManager.publish(workflowId, createdVersion, "Add initial data");
+ versioningManager.publish(workflowId, createdVersion.getId(), "Add initial data");
}
return get(workflowId, createdVersion.getId());
@@ -141,22 +139,20 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
@Override
public void update(String workflowId, WorkflowVersion workflowVersion) {
validateWorkflowStatus(workflowId);
- Version retrievedVersion = getVersion(workflowId, workflowVersion.getId());
- if (CERTIFIED.equals(versionStateMapper.versionStatusToWorkflowVersionState(retrievedVersion.getStatus()))) {
+ Version version = getVersion(workflowId, workflowVersion.getId());
+ if (CERTIFIED.equals(versionStateMapper.versionStatusToWorkflowVersionState(version.getStatus()))) {
throw new VersionModificationException(workflowId, workflowVersion.getId());
}
- Version version = versionMapper.workflowVersionToVersion(workflowVersion);
- version.setName(retrievedVersion.getName());
- version.setStatus(retrievedVersion.getStatus());
+ versionMapper.toVersion(workflowVersion, version);
updateParameters(workflowId, version.getId(), workflowVersion.getInputs(), workflowVersion.getOutputs());
- versioningManager.updateVersion(workflowId, version);
+ versioningManager.update(workflowId, version.getId(), version);
- Version updatedVersion = versioningManager.get(workflowId, version);
- if(updatedVersion.getState().isDirty()) {
- versioningManager.publish(workflowId, version, "Update version");
+ Version updatedVersion = versioningManager.get(workflowId, version.getId());
+ if (updatedVersion.getState().isDirty()) {
+ versioningManager.publish(workflowId, version.getId(), "Update version");
}
}
@@ -175,7 +171,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
newState);
}
try {
- versioningManager.submit(workflowId, new Version(versionId),
+ versioningManager.updateStatus(workflowId, versionId, VersionStatus.Certified,
String.format("Update version state to %s", newState.name()));
} catch (Exception submitException) {
throw new VersionStateModificationException(workflowId, versionId, currentState, newState,
@@ -198,9 +194,9 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
ArtifactEntity artifactEntity =
new ArtifactEntity(StringUtils.cleanPath(artifact.getOriginalFilename()), artifactData);
artifactRepository.update(workflowId, versionId, artifactEntity);
- Version updatedVersion = versioningManager.get(workflowId, new Version(versionId));
+ Version updatedVersion = versioningManager.get(workflowId, versionId);
if(updatedVersion.getState().isDirty()) {
- versioningManager.publish(workflowId, updatedVersion, "Update artifact");
+ versioningManager.publish(workflowId, updatedVersion.getId(), "Update artifact");
}
} catch (IOException e) {
@@ -234,7 +230,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
}
if(retrievedVersion.isHasArtifact()) {
artifactRepository.delete(workflowId, versionId);
- versioningManager.publish(workflowId, new Version(versionId), "Delete Artifact");
+ versioningManager.publish(workflowId, versionId, "Delete Artifact");
}
}
@@ -249,7 +245,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
private Version getVersion(String workflowId, String versionId) {
try {
- Version version = versioningManager.get(workflowId, new Version(versionId));
+ Version version = versioningManager.get(workflowId, versionId);
if (version == null) {
throw new EntityNotFoundException(String.format(VERSION_NOT_EXIST_MSG, versionId, workflowId));
}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/ActivitySpecMapper.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/ActivitySpecMapper.java
index d9e5a109..09e96c3e 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/ActivitySpecMapper.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/ActivitySpecMapper.java
@@ -24,25 +24,26 @@ import java.util.Map;
import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
-import org.mapstruct.Mappings;
+import org.mapstruct.MappingTarget;
+import org.onap.sdc.common.versioning.services.types.Item;
+import org.onap.sdc.common.versioning.services.types.VersionStatus;
import org.onap.sdc.workflow.persistence.types.ActivitySpecEntity;
import org.onap.sdc.workflow.services.ActivitySpecConstant;
import org.onap.sdc.workflow.services.impl.ItemType;
-import org.openecomp.sdc.versioning.dao.types.VersionStatus;
-import org.openecomp.sdc.versioning.types.Item;
@Mapper(componentModel = "spring", imports = {ItemType.class, ActivitySpecConstant.class})
public interface ActivitySpecMapper {
- @Mappings({@Mapping(source = "versionStatusCounters", target = "status"),
- @Mapping(source = "properties", target = "categoryList")})
+ @Mapping(source = "versionStatusCounters", target = "status")
+ @Mapping(source = "properties", target = "categoryList")
ActivitySpecEntity itemToActivitySpec(Item item);
@InheritInverseConfiguration
- @Mappings({@Mapping(expression = "java(ItemType.ACTIVITYSPEC.name())", target = "type"),
- @Mapping(target = "versionStatusCounters", ignore = true), @Mapping(target = "status", ignore = true),
- @Mapping(source = "categoryList", target = "properties")})
- Item activitySpecToItem(ActivitySpecEntity activitySpec);
+ @Mapping(expression = "java(ItemType.ACTIVITYSPEC.name())", target = "type")
+ @Mapping(target = "versionStatusCounters", ignore = true)
+ @Mapping(target = "status", ignore = true)
+ @Mapping(source = "categoryList", target = "properties")
+ void toItem(ActivitySpecEntity activitySpec, @MappingTarget Item retrievedItem);
default String versionStatusCountersToStatus(Map<VersionStatus, Integer> versionStatusCounters) {
return versionStatusCounters.keySet().stream().findFirst().map(Enum::name).orElse(null);
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/ArchivingStatusMapper.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/ArchivingStatusMapper.java
new file mode 100644
index 00000000..702815f6
--- /dev/null
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/ArchivingStatusMapper.java
@@ -0,0 +1,36 @@
+/*
+ * 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.services.impl.mappers;
+
+import org.mapstruct.InheritInverseConfiguration;
+import org.mapstruct.Mapper;
+import org.mapstruct.ValueMapping;
+import org.onap.sdc.common.versioning.services.types.ItemStatus;
+import org.onap.sdc.workflow.services.types.ArchivingStatus;
+
+@Mapper(componentModel = "spring")
+public interface ArchivingStatusMapper {
+
+ @ValueMapping(source = "ACTIVE", target = "ACTIVE")
+ @ValueMapping(source = "ARCHIVED", target = "ARCHIVED")
+ @ValueMapping(source = "<ANY_REMAINING>", target = "ACTIVE")
+ ArchivingStatus fromItemStatus(ItemStatus status);
+
+ @InheritInverseConfiguration
+ ItemStatus toItemStatus(ArchivingStatus status);
+
+}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionMapper.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionMapper.java
index 6dffb369..145c79fe 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionMapper.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionMapper.java
@@ -19,17 +19,27 @@ package org.onap.sdc.workflow.services.impl.mappers;
import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
+import org.mapstruct.MappingTarget;
+import org.onap.sdc.common.versioning.services.convertors.VersionConvertor;
+import org.onap.sdc.common.versioning.services.types.Version;
+import org.onap.sdc.workflow.services.impl.ItemType;
import org.onap.sdc.workflow.services.types.WorkflowVersion;
-import org.openecomp.sdc.versioning.dao.types.Version;
@Mapper(componentModel = "spring", uses = VersionStateMapper.class)
-public interface VersionMapper {
+public interface VersionMapper extends VersionConvertor<WorkflowVersion> {
+ @Override
+ default String getItemType(){
+ return ItemType.WORKFLOW.name();
+ }
+ @Override
@Mapping(source = "status", target = "state")
- WorkflowVersion versionToWorkflowVersion(Version version);
+ WorkflowVersion fromVersion(Version version);
+ @Override
@InheritInverseConfiguration
- Version workflowVersionToVersion(WorkflowVersion workflowVersion);
+ @Mapping(target = "status", ignore = true)
+ void toVersion(WorkflowVersion workflowVersion, @MappingTarget Version retrievedVersion);
}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionStateMapper.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionStateMapper.java
index 82f5814b..05772f4f 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionStateMapper.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionStateMapper.java
@@ -22,16 +22,15 @@ import java.util.stream.Collectors;
import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.ValueMapping;
-import org.mapstruct.ValueMappings;
+import org.onap.sdc.common.versioning.services.types.VersionStatus;
import org.onap.sdc.workflow.services.types.WorkflowVersionState;
-import org.openecomp.sdc.versioning.dao.types.VersionStatus;
@Mapper(componentModel = "spring")
public interface VersionStateMapper {
- @ValueMappings({@ValueMapping(source = "Certified", target = "CERTIFIED"),
- @ValueMapping(source = "Draft", target = "DRAFT"),
- @ValueMapping(source = "<ANY_REMAINING>", target = "DRAFT")})
+ @ValueMapping(source = "Certified", target = "CERTIFIED")
+ @ValueMapping(source = "Draft", target = "DRAFT")
+ @ValueMapping(source = "<ANY_REMAINING>", target = "DRAFT")
WorkflowVersionState versionStatusToWorkflowVersionState(VersionStatus status);
@InheritInverseConfiguration
@@ -40,7 +39,7 @@ public interface VersionStateMapper {
default Set<WorkflowVersionState> versionStatusCountersToWorkflowVersionStates(
Map<VersionStatus, Integer> versionStatusCounters) {
return versionStatusCounters.keySet().stream().map(this::versionStatusToWorkflowVersionState)
- .collect(Collectors.toSet());
+ .collect(Collectors.toSet());
}
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/WorkflowMapper.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/WorkflowMapper.java
index b7426670..214d2ac6 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/WorkflowMapper.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/WorkflowMapper.java
@@ -19,21 +19,31 @@ package org.onap.sdc.workflow.services.impl.mappers;
import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
-import org.mapstruct.Mappings;
-import org.onap.sdc.workflow.services.types.Workflow;
+import org.mapstruct.MappingTarget;
+import org.onap.sdc.common.versioning.services.convertors.ItemConvertor;
+import org.onap.sdc.common.versioning.services.types.Item;
import org.onap.sdc.workflow.services.impl.ItemType;
-import org.openecomp.sdc.versioning.types.Item;
+import org.onap.sdc.workflow.services.types.Workflow;
+
+@Mapper(componentModel = "spring", imports = ItemType.class,
+ uses = {VersionStateMapper.class, ArchivingStatusMapper.class})
+public interface WorkflowMapper extends ItemConvertor<Workflow> {
-@Mapper(componentModel = "spring", imports = ItemType.class, uses = VersionStateMapper.class)
-public interface WorkflowMapper {
+ @Override
+ default String getItemType() {
+ return ItemType.WORKFLOW.name();
+ }
- @Mappings({@Mapping(source = "versionStatusCounters", target = "versionStates"),
- @Mapping(source = "status", target = "archiving")})
- Workflow itemToWorkflow(Item item);
+ @Override
+ @Mapping(source = "versionStatusCounters", target = "versionStates")
+ @Mapping(source = "status", target = "archiving")
+ Workflow fromItem(Item item);
+ @Override
@InheritInverseConfiguration
- @Mappings({@Mapping(expression = "java(ItemType.WORKFLOW.name())", target = "type"),
- @Mapping(target = "versionStatusCounters", ignore = true)})
- Item workflowToItem(Workflow workflow);
+ @Mapping(target = "status", ignore = true)
+ @Mapping(target = "versionStatusCounters", ignore = true)
+ @Mapping(expression = "java(ItemType.WORKFLOW.name())", target = "type")
+ void toItem(Workflow workflow, @MappingTarget Item item);
}