diff options
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')
1 files changed, 126 insertions, 183 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 bc186e7629..dd78a94eb5 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 @@ -13,9 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen; +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.ElementInfo; import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement; @@ -23,6 +25,10 @@ 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 java.io.ByteArrayInputStream; +import java.nio.ByteBuffer; +import java.util.Collection; +import java.util.Optional; import org.openecomp.core.zusammen.api.ZusammenAdaptor; import org.openecomp.sdc.datatypes.model.ElementType; import org.openecomp.sdc.logging.api.Logger; @@ -31,205 +37,142 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity; import org.openecomp.sdc.versioning.dao.types.Version; -import java.io.ByteArrayInputStream; -import java.nio.ByteBuffer; -import java.util.Collection; -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 static final Logger LOGGER = LoggerFactory.getLogger( - OrchestrationTemplateDaoZusammenImpl.class); - private ZusammenAdaptor zusammenAdaptor; - - public OrchestrationTemplateDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) { - this.zusammenAdaptor = zusammenAdaptor; - } - - @Override - public void registerVersioning(String versionableEntityType) { - // registerVersioning not implemented for OrchestrationTemplateDaoZusammenImpl - } - - @Override - 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, vspModel.get().getId(), - ElementType.OrchestrationTemplate.name()); - if (!elementInfo.isPresent()) { - return null; - } - - Optional<Element> element = - zusammenAdaptor.getElementByName(context, elementContext, elementInfo.get().getId(), - ElementType.OrchestrationTemplateValidationData.name()); + private static final Logger LOGGER = LoggerFactory.getLogger(OrchestrationTemplateDaoZusammenImpl.class); + private ZusammenAdaptor zusammenAdaptor; - OrchestrationTemplateEntity orchestrationTemplate = new OrchestrationTemplateEntity(); - if (!element.isPresent()) { - return orchestrationTemplate; + public OrchestrationTemplateDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) { + this.zusammenAdaptor = zusammenAdaptor; } - orchestrationTemplate - .setFileSuffix(element.get().getInfo().getProperty(InfoPropertyName.FILE_SUFFIX.getVal())); - orchestrationTemplate - .setFileName(element.get().getInfo().getProperty(InfoPropertyName.FILE_NAME.getVal())); - if (!VspZusammenUtil.hasEmptyData(element.get().getData())) { - orchestrationTemplate - .setValidationData(new String(FileUtils.toByteArray(element.get().getData()))); - } - return orchestrationTemplate; - } - - @Override - public OrchestrationTemplateEntity get(String vspId, Version version) { - SessionContext context = createSessionContext(); - ElementContext elementContext = new ElementContext(vspId, version.getId()); - - OrchestrationTemplateEntity orchestrationTemplate = new OrchestrationTemplateEntity(); - Optional<ElementInfo> vspModel = zusammenAdaptor - .getElementInfoByName(context, elementContext, null, ElementType.VspModel.name()); - if (!vspModel.isPresent()) { - return orchestrationTemplate; + @Override + public void registerVersioning(String versionableEntityType) { + // registerVersioning not implemented for OrchestrationTemplateDaoZusammenImpl } - Optional<Element> orchestrationTemplateElementOpt = zusammenAdaptor - .getElementByName(context, elementContext, vspModel.get().getId(), - ElementType.OrchestrationTemplate.name()); - - if (! orchestrationTemplateElementOpt.isPresent()) { - return orchestrationTemplate; - } else { - Element orchestrationTemplateElement = orchestrationTemplateElementOpt.get(); - - if (VspZusammenUtil.hasEmptyData(orchestrationTemplateElement.getData())) { - return orchestrationTemplate; - } - - orchestrationTemplate.setContentData( - ByteBuffer.wrap(FileUtils.toByteArray(orchestrationTemplateElement.getData()))); - - Collection<Element> subElements = orchestrationTemplateElement.getSubElements(); - if (subElements.isEmpty()) { + @Override + 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, vspModel.get().getId(), ElementType.OrchestrationTemplate.name()); + if (!elementInfo.isPresent()) { + 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.FILE_SUFFIX.getVal())); + orchestrationTemplate.setFileName(element.get().getInfo().getProperty(InfoPropertyName.FILE_NAME.getVal())); + if (!VspZusammenUtil.hasEmptyData(element.get().getData())) { + orchestrationTemplate.setValidationData(new String(FileUtils.toByteArray(element.get().getData()))); + } return orchestrationTemplate; - } - - for (Element element : subElements) { - Optional<Element> subElementOpt = zusammenAdaptor.getElement(context, - elementContext, element.getElementId().toString()); - - subElementOpt.ifPresent(subElement -> { - if (subElement.getInfo().getName().equals(ElementType - .OrchestrationTemplateValidationData.name())) { - - orchestrationTemplate.setFileSuffix(subElement.getInfo() - .getProperty(InfoPropertyName.FILE_SUFFIX.getVal())); - orchestrationTemplate.setFileName(subElement.getInfo() - .getProperty(InfoPropertyName.FILE_NAME.getVal())); + } - if (!VspZusammenUtil.hasEmptyData(subElement.getData())) { - orchestrationTemplate.setValidationData( - new String(FileUtils.toByteArray(subElement.getData()))); + @Override + public OrchestrationTemplateEntity get(String vspId, Version version) { + SessionContext context = createSessionContext(); + ElementContext elementContext = new ElementContext(vspId, version.getId()); + OrchestrationTemplateEntity orchestrationTemplate = new OrchestrationTemplateEntity(); + Optional<ElementInfo> vspModel = zusammenAdaptor.getElementInfoByName(context, elementContext, null, ElementType.VspModel.name()); + if (!vspModel.isPresent()) { + return orchestrationTemplate; + } + Optional<Element> orchestrationTemplateElementOpt = zusammenAdaptor + .getElementByName(context, elementContext, vspModel.get().getId(), ElementType.OrchestrationTemplate.name()); + if (!orchestrationTemplateElementOpt.isPresent()) { + return orchestrationTemplate; + } else { + Element orchestrationTemplateElement = orchestrationTemplateElementOpt.get(); + if (VspZusammenUtil.hasEmptyData(orchestrationTemplateElement.getData())) { + return orchestrationTemplate; } - } else if (subElement.getInfo().getName().equals(ElementType - .OrchestrationTemplateStructure.name())) { - orchestrationTemplate.setFilesDataStructure(new String(FileUtils.toByteArray(subElement - .getData()))); - } - }); - } + orchestrationTemplate.setContentData(ByteBuffer.wrap(FileUtils.toByteArray(orchestrationTemplateElement.getData()))); + Collection<Element> subElements = orchestrationTemplateElement.getSubElements(); + if (subElements.isEmpty()) { + return orchestrationTemplate; + } + for (Element element : subElements) { + Optional<Element> subElementOpt = zusammenAdaptor.getElement(context, elementContext, element.getElementId().toString()); + subElementOpt.ifPresent(subElement -> { + if (subElement.getInfo().getName().equals(ElementType.OrchestrationTemplateValidationData.name())) { + orchestrationTemplate.setFileSuffix(subElement.getInfo().getProperty(InfoPropertyName.FILE_SUFFIX.getVal())); + orchestrationTemplate.setFileName(subElement.getInfo().getProperty(InfoPropertyName.FILE_NAME.getVal())); + if (!VspZusammenUtil.hasEmptyData(subElement.getData())) { + orchestrationTemplate.setValidationData(new String(FileUtils.toByteArray(subElement.getData()))); + } + } else if (subElement.getInfo().getName().equals(ElementType.OrchestrationTemplateStructure.name())) { + orchestrationTemplate.setFilesDataStructure(new String(FileUtils.toByteArray(subElement.getData()))); + } + }); + } + } + return orchestrationTemplate; } - return orchestrationTemplate; - } - - @Override - 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.FILE_SUFFIX.getVal(), orchestrationTemplate.getFileSuffix()); - validationData.getInfo() - .addProperty(InfoPropertyName.FILE_NAME.getVal(), orchestrationTemplate.getFileName()); - ZusammenElement orchestrationTemplateStructure = buildStructuralElement(ElementType - .OrchestrationTemplateStructure, Action.UPDATE); - orchestrationTemplateStructure - .setData(new ByteArrayInputStream(orchestrationTemplate.getFilesDataStructure() - .getBytes())); - ZusammenElement orchestrationTemplateElement = - buildStructuralElement(ElementType.OrchestrationTemplate, Action.UPDATE); - orchestrationTemplateElement - .setData(new ByteArrayInputStream(orchestrationTemplate.getContentData().array())); - orchestrationTemplateElement.addSubElement(validationData); - orchestrationTemplateElement.addSubElement(orchestrationTemplateStructure); - ZusammenElement vspModel = buildStructuralElement(ElementType.VspModel, Action.IGNORE); - vspModel.addSubElement(orchestrationTemplateElement); - - zusammenAdaptor.saveElement(context, elementContext, vspModel, "Update Orchestration Template"); - } - @Override - public Optional<String> getOrchestrationTemplateStructure(String vspId, Version version) { - LOGGER.info("Getting orchestration template structure for VendorSoftwareProduct id" + - " " + "-> " + vspId); - - 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 Optional.empty(); - } - Optional<Element> orchestrationTemplateElement = zusammenAdaptor.getElementByName(context, - elementContext, vspModel.get().getId(), ElementType.OrchestrationTemplate.name()); - if (!orchestrationTemplateElement.isPresent()) { - return Optional.empty(); + @Override + 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.FILE_SUFFIX.getVal(), orchestrationTemplate.getFileSuffix()); + validationData.getInfo().addProperty(InfoPropertyName.FILE_NAME.getVal(), orchestrationTemplate.getFileName()); + ZusammenElement orchestrationTemplateStructure = buildStructuralElement(ElementType.OrchestrationTemplateStructure, Action.UPDATE); + orchestrationTemplateStructure.setData(new ByteArrayInputStream(orchestrationTemplate.getFilesDataStructure().getBytes())); + ZusammenElement orchestrationTemplateElement = buildStructuralElement(ElementType.OrchestrationTemplate, Action.UPDATE); + orchestrationTemplateElement.setData(new ByteArrayInputStream(orchestrationTemplate.getContentData().array())); + orchestrationTemplateElement.addSubElement(validationData); + orchestrationTemplateElement.addSubElement(orchestrationTemplateStructure); + ZusammenElement vspModel = buildStructuralElement(ElementType.VspModel, Action.IGNORE); + vspModel.addSubElement(orchestrationTemplateElement); + zusammenAdaptor.saveElement(context, elementContext, vspModel, "Update Orchestration Template"); } - Optional<Element> orchestrationTemplateStructureElement = zusammenAdaptor - .getElementByName(context, elementContext, - orchestrationTemplateElement.get().getElementId(), - ElementType.OrchestrationTemplateStructure.name()); - if (orchestrationTemplateStructureElement.isPresent() && - !VspZusammenUtil.hasEmptyData(orchestrationTemplateStructureElement.get().getData())) { - return Optional.of(new String( - FileUtils.toByteArray(orchestrationTemplateStructureElement.get().getData()))); + @Override + public Optional<String> getOrchestrationTemplateStructure(String vspId, Version version) { + LOGGER.info("Getting orchestration template structure for VendorSoftwareProduct id" + " " + "-> " + vspId); + 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 Optional.empty(); + } + Optional<Element> orchestrationTemplateElement = zusammenAdaptor + .getElementByName(context, elementContext, vspModel.get().getId(), ElementType.OrchestrationTemplate.name()); + if (!orchestrationTemplateElement.isPresent()) { + return Optional.empty(); + } + Optional<Element> orchestrationTemplateStructureElement = zusammenAdaptor + .getElementByName(context, elementContext, orchestrationTemplateElement.get().getElementId(), + ElementType.OrchestrationTemplateStructure.name()); + if (orchestrationTemplateStructureElement.isPresent() && !VspZusammenUtil + .hasEmptyData(orchestrationTemplateStructureElement.get().getData())) { + return Optional.of(new String(FileUtils.toByteArray(orchestrationTemplateStructureElement.get().getData()))); + } + LOGGER.info("Finished getting orchestration template structure for VendorSoftwareProduct " + "id -> " + vspId); + return Optional.empty(); } - LOGGER.info("Finished getting orchestration template structure for VendorSoftwareProduct " + - "id -> " + vspId); - return Optional.empty(); - } + private enum InfoPropertyName { + FILE_SUFFIX("fileSuffix"), FILE_NAME("fileName"); + private String val; - private enum InfoPropertyName { - FILE_SUFFIX("fileSuffix"), - FILE_NAME("fileName"); - - private String val; - - InfoPropertyName(String val){ - this.val=val; - } + InfoPropertyName(String val) { + this.val = val; + } - public String getVal() { - return val; + public String getVal() { + return val; + } } - } } |