aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java')
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java341
1 files changed, 141 insertions, 200 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java
index d1b540b312..48111ad041 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/ComputeDaoZusammenImpl.java
@@ -7,9 +7,9 @@
* 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.
@@ -17,9 +17,11 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen;
+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 com.amdocs.zusammen.adaptor.inbound.api.types.item.Element;
import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
@@ -28,6 +30,11 @@ 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.io.ByteArrayInputStream;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Optional;
+import java.util.stream.Collectors;
import org.openecomp.core.utilities.file.FileUtils;
import org.openecomp.core.zusammen.api.ZusammenAdaptor;
import org.openecomp.sdc.datatypes.model.ElementType;
@@ -38,222 +45,156 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
import org.openecomp.sdc.versioning.dao.types.Version;
import org.openecomp.types.ElementPropertyName;
-import java.io.ByteArrayInputStream;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-import static org.openecomp.core.zusammen.api.ZusammenUtil.*;
-
public class ComputeDaoZusammenImpl implements ComputeDao {
- private ZusammenAdaptor zusammenAdaptor;
-
- public ComputeDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) {
- this.zusammenAdaptor = zusammenAdaptor;
- }
-
- @Override
- public void registerVersioning(String versionableEntityType) {
- // registerVersioning not implemented for ComputeDaoZusammenImpl
- }
-
- @Override
- public Collection<ComputeEntity> list(ComputeEntity compute) {
- SessionContext context = createSessionContext();
- ElementContext elementContext =
- new ElementContext(compute.getVspId(), compute.getVersion().getId());
-
- return listComputes(context, elementContext, compute);
- }
-
- private Collection<ComputeEntity> listComputes(SessionContext context,
- ElementContext elementContext,
- ComputeEntity compute) {
- return zusammenAdaptor
- .listElementsByName(context, elementContext, new Id(compute.getComponentId()),
- ElementType.Computes.name())
- .stream()
- .map(new ElementToComputeConvertor()::convert)
- .map(computeEntity -> {
- computeEntity.setComponentId(compute.getComponentId());
- computeEntity.setVspId(compute.getVspId());
- computeEntity.setVersion(compute.getVersion());
- return computeEntity;
- })
- .collect(Collectors.toList());
- }
-
- @Override
- public void create(ComputeEntity compute) {
- ZusammenElement computeElement = computeToZusammen(compute, Action.CREATE);
-
- ZusammenElement computesElement = buildStructuralElement(ElementType.Computes, Action.IGNORE);
- computesElement.setSubElements(Collections.singletonList(computeElement));
-
- ZusammenElement componentElement =
- buildElement(new Id(compute.getComponentId()), Action.IGNORE);
- componentElement.setSubElements(Collections.singletonList(computesElement));
-
- SessionContext context = createSessionContext();
- ElementContext elementContext =
- new ElementContext(compute.getVspId(), compute.getVersion().getId());
+ private ZusammenAdaptor zusammenAdaptor;
- Element savedElement =
- zusammenAdaptor.saveElement(context, elementContext, componentElement, "Create compute");
- compute.setId(savedElement.getSubElements().iterator().next()
- .getSubElements().iterator().next().getElementId().getValue());
- }
-
- @Override
- public void update(ComputeEntity compute) {
- ZusammenElement computeElement = computeToZusammen(compute, Action.UPDATE);
-
- SessionContext context = createSessionContext();
- ElementContext elementContext =
- new ElementContext(compute.getVspId(), compute.getVersion().getId());
- zusammenAdaptor.saveElement(context, elementContext, computeElement,
- String.format("Update compute with id %s", compute.getId()));
- }
-
- @Override
- public ComputeEntity get(ComputeEntity compute) {
- SessionContext context = createSessionContext();
- ElementContext elementContext =
- new ElementContext(compute.getVspId(), compute.getVersion().getId());
- Optional<Element> element =
- zusammenAdaptor.getElement(context, elementContext, compute.getId());
-
- if (element.isPresent()) {
-
- ElementToComputeConvertor convertor = new ElementToComputeConvertor();
- ComputeEntity entity = convertor.convert(element.get());
- entity.setVspId(compute.getVspId());
- entity.setVersion(compute.getVersion());
- entity.setComponentId(compute.getComponentId());
- return entity;
- } else {
- return null;
+ public ComputeDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) {
+ this.zusammenAdaptor = zusammenAdaptor;
}
- }
-
- @Override
- public void delete(ComputeEntity compute) {
- ZusammenElement computeElement = buildElement(new Id(compute.getId()), Action.DELETE);
- SessionContext context = createSessionContext();
- ElementContext elementContext =
- new ElementContext(compute.getVspId(), compute.getVersion().getId());
- zusammenAdaptor.saveElement(context, elementContext, computeElement,
- String.format("Delete compute with id %s", compute.getId()));
- }
-
- @Override
- public ComputeEntity getQuestionnaireData(String vspId, Version version, String componentId,
- String computeId) {
- SessionContext context = createSessionContext();
- ElementContext elementContext = new ElementContext(vspId, version.getId());
-
- return getQuestionnaire(context, elementContext,
- new ComputeEntity(vspId, version, componentId, computeId));
- }
-
- private ComputeEntity getQuestionnaire(SessionContext context, ElementContext elementContext,
- ComputeEntity compute) {
- Optional<Element> questionnaireElement = zusammenAdaptor
- .getElementByName(context, elementContext, new Id(compute.getId()),
- ElementType.ComputeQuestionnaire.name());
- return questionnaireElement.map(
- element -> element.getData() == null
- ? null
- : new String(FileUtils.toByteArray(element.getData())))
- .map(questionnaireData -> {
- compute.setQuestionnaireData(questionnaireData);
- return compute;
- })
- .orElse(null);
- }
+ @Override
+ public void registerVersioning(String versionableEntityType) {
+ // registerVersioning not implemented for ComputeDaoZusammenImpl
+ }
- @Override
- public void updateQuestionnaireData(String vspId, Version version, String componentId,
- String computeId, String questionnaireData) {
- ZusammenElement questionnaireElement =
- computeQuestionnaireToZusammen(questionnaireData, Action.UPDATE);
+ @Override
+ public Collection<ComputeEntity> list(ComputeEntity compute) {
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(compute.getVspId(), compute.getVersion().getId());
+ return listComputes(context, elementContext, compute);
+ }
- ZusammenElement computeElement = buildElement(new Id(computeId), Action.IGNORE);
- computeElement.setSubElements(Collections.singletonList(questionnaireElement));
+ private Collection<ComputeEntity> listComputes(SessionContext context, ElementContext elementContext, ComputeEntity compute) {
+ return zusammenAdaptor.listElementsByName(context, elementContext, new Id(compute.getComponentId()), ElementType.Computes.name()).stream()
+ .map(new ElementToComputeConvertor()::convert).map(computeEntity -> {
+ computeEntity.setComponentId(compute.getComponentId());
+ computeEntity.setVspId(compute.getVspId());
+ computeEntity.setVersion(compute.getVersion());
+ return computeEntity;
+ }).collect(Collectors.toList());
+ }
- SessionContext context = createSessionContext();
- ElementContext elementContext = new ElementContext(vspId, version.getId());
- zusammenAdaptor.saveElement(context, elementContext, computeElement, "Update compute "
- + "questionnaire");
- }
+ @Override
+ public void create(ComputeEntity compute) {
+ ZusammenElement computeElement = computeToZusammen(compute, Action.CREATE);
+ ZusammenElement computesElement = buildStructuralElement(ElementType.Computes, Action.IGNORE);
+ computesElement.setSubElements(Collections.singletonList(computeElement));
+ ZusammenElement componentElement = buildElement(new Id(compute.getComponentId()), Action.IGNORE);
+ componentElement.setSubElements(Collections.singletonList(computesElement));
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(compute.getVspId(), compute.getVersion().getId());
+ Element savedElement = zusammenAdaptor.saveElement(context, elementContext, componentElement, "Create compute");
+ compute.setId(savedElement.getSubElements().iterator().next().getSubElements().iterator().next().getElementId().getValue());
+ }
- @Override
- public Collection<ComputeEntity> listByVsp(String vspId, Version version) {
- SessionContext context = createSessionContext();
- ElementContext elementContext = new ElementContext(vspId, version.getId());
+ @Override
+ public void update(ComputeEntity compute) {
+ ZusammenElement computeElement = computeToZusammen(compute, Action.UPDATE);
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(compute.getVspId(), compute.getVersion().getId());
+ zusammenAdaptor.saveElement(context, elementContext, computeElement, String.format("Update compute with id %s", compute.getId()));
+ }
- Collection<ComponentEntity> components = ComponentDaoZusammenImpl
- .listComponents(zusammenAdaptor, context, vspId, version);
+ @Override
+ public ComputeEntity get(ComputeEntity compute) {
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(compute.getVspId(), compute.getVersion().getId());
+ Optional<Element> element = zusammenAdaptor.getElement(context, elementContext, compute.getId());
+ if (element.isPresent()) {
+ ElementToComputeConvertor convertor = new ElementToComputeConvertor();
+ ComputeEntity entity = convertor.convert(element.get());
+ entity.setVspId(compute.getVspId());
+ entity.setVersion(compute.getVersion());
+ entity.setComponentId(compute.getComponentId());
+ return entity;
+ } else {
+ return null;
+ }
+ }
- return components.stream()
- .map(component ->
- listComputes(context, elementContext,
- new ComputeEntity(vspId, version, component.getId(), null)).stream()
- .map(compute -> getQuestionnaire(context, elementContext, compute))
- .collect(Collectors.toList()))
- .flatMap(Collection::stream)
- .collect(Collectors.toList());
- }
+ @Override
+ public void delete(ComputeEntity compute) {
+ ZusammenElement computeElement = buildElement(new Id(compute.getId()), Action.DELETE);
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(compute.getVspId(), compute.getVersion().getId());
+ zusammenAdaptor.saveElement(context, elementContext, computeElement, String.format("Delete compute with id %s", compute.getId()));
+ }
- @Override
- public void deleteAll(String vspId, Version version) {
+ @Override
+ public ComputeEntity getQuestionnaireData(String vspId, Version version, String componentId, String computeId) {
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(vspId, version.getId());
+ return getQuestionnaire(context, elementContext, new ComputeEntity(vspId, version, componentId, computeId));
+ }
- SessionContext context = createSessionContext();
- ElementContext elementContext = new ElementContext(vspId, version.getId());
+ private ComputeEntity getQuestionnaire(SessionContext context, ElementContext elementContext, ComputeEntity compute) {
+ Optional<Element> questionnaireElement = zusammenAdaptor
+ .getElementByName(context, elementContext, new Id(compute.getId()), ElementType.ComputeQuestionnaire.name());
+ return questionnaireElement.map(element -> element.getData() == null ? null : new String(FileUtils.toByteArray(element.getData())))
+ .map(questionnaireData -> {
+ compute.setQuestionnaireData(questionnaireData);
+ return compute;
+ }).orElse(null);
+ }
- Optional<Element> optionalElement = zusammenAdaptor.getElementByName(context,
- elementContext, null, ElementType.Computes.name());
+ @Override
+ public void updateQuestionnaireData(String vspId, Version version, String componentId, String computeId, String questionnaireData) {
+ ZusammenElement questionnaireElement = computeQuestionnaireToZusammen(questionnaireData, Action.UPDATE);
+ ZusammenElement computeElement = buildElement(new Id(computeId), Action.IGNORE);
+ computeElement.setSubElements(Collections.singletonList(questionnaireElement));
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(vspId, version.getId());
+ zusammenAdaptor.saveElement(context, elementContext, computeElement, "Update compute " + "questionnaire");
+ }
- if (optionalElement.isPresent()) {
- Element computesElement = optionalElement.get();
- Collection<Element> computes = computesElement.getSubElements();
+ @Override
+ public Collection<ComputeEntity> listByVsp(String vspId, Version version) {
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(vspId, version.getId());
+ Collection<ComponentEntity> components = ComponentDaoZusammenImpl.listComponents(zusammenAdaptor, context, vspId, version);
+ return components.stream().map(
+ component -> listComputes(context, elementContext, new ComputeEntity(vspId, version, component.getId(), null)).stream()
+ .map(compute -> getQuestionnaire(context, elementContext, compute)).collect(Collectors.toList())).flatMap(Collection::stream)
+ .collect(Collectors.toList());
+ }
- computes.forEach(compute -> {
- ZusammenElement computeElement = buildElement(compute.getElementId(), Action.DELETE);
- zusammenAdaptor.saveElement(context, elementContext, computeElement,
- "Delete compute with id " + compute.getElementId());
- });
+ @Override
+ public void deleteAll(String vspId, Version version) {
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(vspId, version.getId());
+ Optional<Element> optionalElement = zusammenAdaptor.getElementByName(context, elementContext, null, ElementType.Computes.name());
+ if (optionalElement.isPresent()) {
+ Element computesElement = optionalElement.get();
+ Collection<Element> computes = computesElement.getSubElements();
+ computes.forEach(compute -> {
+ ZusammenElement computeElement = buildElement(compute.getElementId(), Action.DELETE);
+ zusammenAdaptor.saveElement(context, elementContext, computeElement, "Delete compute with id " + compute.getElementId());
+ });
+ }
}
- }
- private ZusammenElement computeToZusammen(ComputeEntity compute, Action action) {
- ZusammenElement computeElement = buildComputeElement(compute, action);
- if (action == Action.CREATE) {
- computeElement.setSubElements(Collections.singletonList(
- computeQuestionnaireToZusammen(compute.getQuestionnaireData(), Action.CREATE)));
+ private ZusammenElement computeToZusammen(ComputeEntity compute, Action action) {
+ ZusammenElement computeElement = buildComputeElement(compute, action);
+ if (action == Action.CREATE) {
+ computeElement.setSubElements(Collections.singletonList(computeQuestionnaireToZusammen(compute.getQuestionnaireData(), Action.CREATE)));
+ }
+ return computeElement;
}
- return computeElement;
- }
- private ZusammenElement computeQuestionnaireToZusammen(String questionnaireData,
- Action action) {
- ZusammenElement questionnaireElement =
- buildStructuralElement(ElementType.ComputeQuestionnaire, action);
- questionnaireElement.setData(new ByteArrayInputStream(questionnaireData.getBytes()));
- return questionnaireElement;
- }
+ private ZusammenElement computeQuestionnaireToZusammen(String questionnaireData, Action action) {
+ ZusammenElement questionnaireElement = buildStructuralElement(ElementType.ComputeQuestionnaire, action);
+ questionnaireElement.setData(new ByteArrayInputStream(questionnaireData.getBytes()));
+ return questionnaireElement;
+ }
- private ZusammenElement buildComputeElement(ComputeEntity compute, Action action) {
- ZusammenElement computeElement =
- buildElement(compute.getId() == null ? null : new Id(compute.getId()), action);
- Info info = new Info();
- info.addProperty(ElementPropertyName.elementType.name(), ElementType.Compute);
- info.addProperty(ElementPropertyName.compositionData.name(), compute.getCompositionData());
- computeElement.setInfo(info);
- computeElement.setData(new ByteArrayInputStream(compute.getCompositionData().getBytes()));
- return computeElement;
- }
+ private ZusammenElement buildComputeElement(ComputeEntity compute, Action action) {
+ ZusammenElement computeElement = buildElement(compute.getId() == null ? null : new Id(compute.getId()), action);
+ Info info = new Info();
+ info.addProperty(ElementPropertyName.elementType.name(), ElementType.Compute);
+ info.addProperty(ElementPropertyName.compositionData.name(), compute.getCompositionData());
+ computeElement.setInfo(info);
+ computeElement.setData(new ByteArrayInputStream(compute.getCompositionData().getBytes()));
+ return computeElement;
+ }
}