summaryrefslogtreecommitdiffstats
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/OrchestrationTemplateDaoZusammenImpl.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/OrchestrationTemplateDaoZusammenImpl.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/OrchestrationTemplateDaoZusammenImpl.java180
1 files changed, 117 insertions, 63 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/OrchestrationTemplateDaoZusammenImpl.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/OrchestrationTemplateDaoZusammenImpl.java
index 2b6d52a38a..d02e8541f4 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/OrchestrationTemplateDaoZusammenImpl.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/OrchestrationTemplateDaoZusammenImpl.java
@@ -3,22 +3,27 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen;
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.utils.fileutils.FileUtils;
+import org.apache.commons.io.IOUtils;
import org.openecomp.core.zusammen.api.ZusammenAdaptor;
-import org.openecomp.core.zusammen.api.ZusammenUtil;
+import org.openecomp.sdc.datatypes.model.ElementType;
import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.UploadData;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.UploadDataEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
import org.openecomp.sdc.versioning.dao.types.Version;
import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.nio.ByteBuffer;
+import java.util.Arrays;
import java.util.Optional;
+import static org.openecomp.core.zusammen.api.ZusammenUtil.buildStructuralElement;
+import static org.openecomp.core.zusammen.api.ZusammenUtil.createSessionContext;
+
public class OrchestrationTemplateDaoZusammenImpl implements OrchestrationTemplateDao {
private ZusammenAdaptor zusammenAdaptor;
@@ -33,79 +38,128 @@ public class OrchestrationTemplateDaoZusammenImpl implements OrchestrationTempla
}
@Override
- public String getValidationData(String vspId, Version version) {
- SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(vspId);
- ElementContext elementContext = new ElementContext(itemId,
- VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
- VspZusammenUtil.getVersionTag(version));
+ public OrchestrationTemplateEntity getInfo(String vspId, Version version) {
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(vspId, version.getId());
+
+ Optional<ElementInfo> vspModel = zusammenAdaptor
+ .getElementInfoByName(context, elementContext, null, ElementType.VspModel.name());
+ if (!vspModel.isPresent()) {
+ return null;
+ }
Optional<ElementInfo> elementInfo = zusammenAdaptor
- .getElementInfoByName(context, elementContext, null,
- StructureElement.OrchestrationTemplate.name());
- if (elementInfo.isPresent()) {
- Optional<Element> element =
- zusammenAdaptor.getElementByName(context, elementContext, elementInfo.get().getId(),
- StructureElement.OrchestrationTemplateValidationData.name());
- if (element.isPresent()) {
- return new String(FileUtils.toByteArray(element.get().getData()));
- }
+ .getElementInfoByName(context, elementContext, vspModel.get().getId(),
+ ElementType.OrchestrationTemplate.name());
+ if (!elementInfo.isPresent()) {
+ return null;
}
- return null;
+ Optional<Element> element =
+ zusammenAdaptor.getElementByName(context, elementContext, elementInfo.get().getId(),
+ ElementType.OrchestrationTemplateValidationData.name());
+
+ OrchestrationTemplateEntity orchestrationTemplate = new OrchestrationTemplateEntity();
+ if (!element.isPresent()) {
+ return orchestrationTemplate;
+ }
+ orchestrationTemplate
+ .setFileSuffix(element.get().getInfo().getProperty(InfoPropertyName.fileSuffix.name()));
+ orchestrationTemplate
+ .setFileName(element.get().getInfo().getProperty(InfoPropertyName.fileName.name()));
+ if (!hasEmptyData(element.get().getData())) {
+ orchestrationTemplate
+ .setValidationData(new String(FileUtils.toByteArray(element.get().getData())));
+ }
+ return orchestrationTemplate;
}
@Override
- public UploadDataEntity getOrchestrationTemplate(String vspId, Version version) {
+ public OrchestrationTemplateEntity get(String vspId, Version version) {
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(vspId, version.getId());
- UploadDataEntity uploadData = new UploadDataEntity();
- SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(vspId);
- ElementContext elementContext = new ElementContext(itemId,
- VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor),
- VspZusammenUtil.getVersionTag(version));
+ OrchestrationTemplateEntity orchestrationTemplate = new OrchestrationTemplateEntity();
- Optional<ElementInfo> elementInfo = zusammenAdaptor
- .getElementInfoByName(context, elementContext, null,
- StructureElement.OrchestrationTemplate.name());
- if (elementInfo.isPresent()) {
- Optional<Element> element =
- zusammenAdaptor.getElementByName(context, elementContext, elementInfo.get().getId(),
- StructureElement.OrchestrationTemplateValidationData.name());
- element.ifPresent(element1 -> uploadData
- .setValidationData(new String(FileUtils.toByteArray(element1.getData()))));
- element =
- zusammenAdaptor.getElementByName(context, elementContext, elementInfo.get().getId(),
- StructureElement.OrchestrationTemplateContent.name());
- element.ifPresent(element1 -> uploadData
- .setContentData(ByteBuffer.wrap(FileUtils.toByteArray(element1.getData()))));
+ Optional<ElementInfo> vspModel = zusammenAdaptor
+ .getElementInfoByName(context, elementContext, null, ElementType.VspModel.name());
+ if (!vspModel.isPresent()) {
+ return orchestrationTemplate;
+ }
+
+ Optional<Element> orchestrationTemplateElement = zusammenAdaptor
+ .getElementByName(context, elementContext, vspModel.get().getId(),
+ ElementType.OrchestrationTemplate.name());
+ if (!orchestrationTemplateElement.isPresent()) {
+ return orchestrationTemplate;
+ }
+
+ if (!hasEmptyData(orchestrationTemplateElement.get().getData())) {
+ orchestrationTemplate.setContentData(
+ ByteBuffer.wrap(FileUtils.toByteArray(orchestrationTemplateElement.get().getData())));
}
- return uploadData;
+
+ Optional<Element> validationDataElement =
+ zusammenAdaptor.getElementByName(context, elementContext,
+ orchestrationTemplateElement.get().getElementId(),
+ ElementType.OrchestrationTemplateValidationData.name());
+ if (validationDataElement.isPresent()) {
+ orchestrationTemplate.setFileSuffix(validationDataElement.get().getInfo()
+ .getProperty(InfoPropertyName.fileSuffix.name()));
+ orchestrationTemplate.setFileName(validationDataElement.get().getInfo()
+ .getProperty(InfoPropertyName.fileName.name()));
+ if (!hasEmptyData(validationDataElement.get().getData())) {
+ orchestrationTemplate.setValidationData(
+ new String(FileUtils.toByteArray(validationDataElement.get().getData())));
+ }
+ }
+ return orchestrationTemplate;
}
@Override
- public void updateOrchestrationTemplateData(String vspId, UploadData uploadData) {
+ public void update(String vspId, Version version,
+ OrchestrationTemplateEntity orchestrationTemplate) {
+ SessionContext context = createSessionContext();
+ ElementContext elementContext = new ElementContext(vspId, version.getId());
+
+ ZusammenElement validationData =
+ buildStructuralElement(ElementType.OrchestrationTemplateValidationData, Action.UPDATE);
+ validationData
+ .setData(new ByteArrayInputStream(orchestrationTemplate.getValidationData().getBytes()));
+ validationData.getInfo()
+ .addProperty(InfoPropertyName.fileSuffix.name(), orchestrationTemplate.getFileSuffix());
+ validationData.getInfo()
+ .addProperty(InfoPropertyName.fileName.name(), orchestrationTemplate.getFileName());
+
ZusammenElement orchestrationTemplateElement =
- VspZusammenUtil.buildStructuralElement(StructureElement.OrchestrationTemplate, null);
- ZusammenElement orchestrationTemplateValidationDataElement =
- VspZusammenUtil
- .buildStructuralElement(StructureElement.OrchestrationTemplateValidationData, Action.UPDATE);
- orchestrationTemplateValidationDataElement.setData(new ByteArrayInputStream(uploadData
- .getValidationData().getBytes()));
- ZusammenElement orchestrationTemplateContent =
- VspZusammenUtil.buildStructuralElement(StructureElement.OrchestrationTemplateContent, Action.UPDATE);
- orchestrationTemplateContent
- .setData(new ByteArrayInputStream(uploadData.getContentData().array()));
- orchestrationTemplateElement.addSubElement(orchestrationTemplateValidationDataElement);
- orchestrationTemplateElement.addSubElement(orchestrationTemplateContent);
-
- SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(vspId);
- ElementContext elementContext = new ElementContext(itemId,
- VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
-
- zusammenAdaptor.saveElement(context, elementContext, orchestrationTemplateElement, "Update " +
- "Orchestration Template");
+ buildStructuralElement(ElementType.OrchestrationTemplate, Action.UPDATE);
+ orchestrationTemplateElement
+ .setData(new ByteArrayInputStream(orchestrationTemplate.getContentData().array()));
+ orchestrationTemplateElement.addSubElement(validationData);
+
+ ZusammenElement vspModel = buildStructuralElement(ElementType.VspModel, Action.IGNORE);
+ vspModel.addSubElement(orchestrationTemplateElement);
+
+ zusammenAdaptor.saveElement(context, elementContext, vspModel, "Update Orchestration Template");
}
+ private boolean hasEmptyData(InputStream elementData) {
+ String emptyData = "{}";
+ byte[] byteElementData;
+ try {
+ byteElementData = IOUtils.toByteArray(elementData);
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ return false;
+ }
+ if (Arrays.equals(emptyData.getBytes(), byteElementData)) {
+ return true;
+ }
+ return false;
+ }
+
+ private enum InfoPropertyName {
+ fileSuffix,
+ fileName
+ }
}