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/VendorSoftwareProductInfoDaoZusammenImpl.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/VendorSoftwareProductInfoDaoZusammenImpl.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/VendorSoftwareProductInfoDaoZusammenImpl.java262
1 files changed, 145 insertions, 117 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/VendorSoftwareProductInfoDaoZusammenImpl.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/VendorSoftwareProductInfoDaoZusammenImpl.java
index 517a01e58d..aa192ede17 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/VendorSoftwareProductInfoDaoZusammenImpl.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/VendorSoftwareProductInfoDaoZusammenImpl.java
@@ -1,16 +1,15 @@
package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen;
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 com.amdocs.zusammen.datatypes.item.ItemVersion;
-import com.amdocs.zusammen.utils.fileutils.FileUtils;
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.VendorSoftwareProductInfoDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.convertor.ElementToVSPGeneralConvertor;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.convertor.ElementToVSPQuestionnaireConvertor;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspQuestionnaireEntity;
import org.openecomp.sdc.versioning.VersioningManagerFactory;
@@ -20,10 +19,14 @@ import org.openecomp.sdc.versioning.types.VersionableEntityStoreType;
import java.io.ByteArrayInputStream;
import java.util.Collection;
-import java.util.Date;
import java.util.stream.Collectors;
+import static org.openecomp.core.zusammen.api.ZusammenUtil.buildStructuralElement;
+import static org.openecomp.core.zusammen.api.ZusammenUtil.createSessionContext;
+
public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareProductInfoDao {
+ private static final String EMPTY_DATA = "{}";
+
private ZusammenAdaptor zusammenAdaptor;
public VendorSoftwareProductInfoDaoZusammenImpl(ZusammenAdaptor zusammenAdaptor) {
@@ -33,7 +36,8 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP
@Override
public void registerVersioning(String versionableEntityType) {
VersionableEntityMetadata metadata =
- new VersionableEntityMetadata(VersionableEntityStoreType.Zusammen, "vsp", null, null);
+ new VersionableEntityMetadata(VersionableEntityStoreType.Zusammen, "VendorSoftwareProduct",
+ null, null);
VersioningManagerFactory.getInstance().createInterface()
.register(versionableEntityType, metadata);
@@ -41,114 +45,174 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP
@Override
public Collection<VspDetails> list(VspDetails entity) {
- return zusammenAdaptor.listItems(ZusammenUtil.createSessionContext()).stream().filter
- (vspEntity-> "vsp".equals(vspEntity.getInfo().getProperty("type")))
- .map(item -> mapInfoToVspDetails(
- item.getId().getValue(), null, item.getInfo(),
- item.getModificationTime(), item.getCreationTime()))
+ ElementToVSPGeneralConvertor convertor = new ElementToVSPGeneralConvertor();
+
+
+ return zusammenAdaptor.listItems(createSessionContext()).stream()
+ .filter(item -> "VendorSoftwareProduct".equals(item.getInfo().getProperty("item_type")))
+ .map(item -> convertor.convert(item))
.collect(Collectors.toList());
}
+
@Override
public void create(VspDetails vspDetails) {
- SessionContext context = ZusammenUtil.createSessionContext();
+ ZusammenElement generalElement = mapVspDetailsToZusammenElement(vspDetails, Action.CREATE);
- Id itemId = zusammenAdaptor.createItem(context, mapVspDetailsToZusammenItemInfo(vspDetails));
- Id versionId =
- zusammenAdaptor.createVersion(context, itemId, null, ZusammenUtil.createFirstVersionData());
+ SessionContext context = createSessionContext();
+ ElementContext elementContext =
+ new ElementContext(vspDetails.getId(), vspDetails.getVersion().getId());
+ zusammenAdaptor.saveElement(context, elementContext, generalElement,
+ "Create VSP General Info Element");
- ZusammenElement generalElement = mapVspDetailsToZusammenElement(vspDetails, Action.CREATE);
- zusammenAdaptor.saveElement(context, new ElementContext(itemId, versionId),
- generalElement, "Create VSP General Info Element");
+ createVspStructure(context, elementContext);
+ }
+
+ private void createVspStructure(SessionContext context, ElementContext elementContext) {
+ createOrchestrationTemplateCandidateStructure(context, elementContext);
+ createVspModelStructure(context, elementContext);
- vspDetails.setId(itemId.getValue());//set id for caller
+ zusammenAdaptor.saveElement(context, elementContext,
+ buildStructuralElement(ElementType.DeploymentFlavors, Action.CREATE),
+ "Create VSP Deployment Flavors Element");
+
+ zusammenAdaptor.saveElement(context, elementContext,
+ buildStructuralElement(ElementType.Processes, Action.CREATE),
+ "Create VSP Processes Element");
}
- @Override
- public void update(VspDetails vspDetails) {
- SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(vspDetails.getId());
- Id versionId = VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor);
+ private void createOrchestrationTemplateCandidateStructure(SessionContext context,
+ ElementContext elementContext) {
+ ByteArrayInputStream emptyData = new ByteArrayInputStream(EMPTY_DATA.getBytes());
- zusammenAdaptor.updateItem(context, itemId, mapVspDetailsToZusammenItemInfo(vspDetails));
+ ZusammenElement candidateContentElement =
+ buildStructuralElement(ElementType.OrchestrationTemplateCandidateContent, Action.CREATE);
+ candidateContentElement.setData(emptyData);
- ZusammenElement generalElement = mapVspDetailsToZusammenElement(vspDetails, Action.UPDATE);
- zusammenAdaptor.saveElement(context, new ElementContext(itemId, versionId),
- generalElement, "Update VSP General Info Element");
+ ZusammenElement candidateElement =
+ buildStructuralElement(ElementType.OrchestrationTemplateCandidate, Action.CREATE);
+ candidateElement.setData(emptyData);
+ candidateElement.addSubElement(candidateContentElement);
+
+ zusammenAdaptor.saveElement(context, elementContext, candidateElement,
+ "Create Orchestration Template Candidate Elements");
}
- @Override
- public VspDetails get(VspDetails vspDetails) {
- SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(vspDetails.getId());
- ItemVersion itemVersion = VspZusammenUtil.getFirstVersion(context, itemId, zusammenAdaptor);
- ElementContext elementContext = new ElementContext(itemId, itemVersion.getId(),
- VspZusammenUtil.getVersionTag(vspDetails.getVersion()));
+ private void createVspModelStructure(SessionContext context, ElementContext elementContext) {
+ ZusammenElement vspModel = buildStructuralElement(ElementType.VspModel, Action.CREATE);
+ vspModel.addSubElement(buildOrchestrationTemplateStructure());
+ vspModel.addSubElement(buildStructuralElement(ElementType.Networks, Action.CREATE));
+ vspModel.addSubElement(buildStructuralElement(ElementType.Components, Action.CREATE));
+ vspModel
+ .addSubElement(buildStructuralElement(ElementType.ComponentDependencies, Action.CREATE));
+
+ ZusammenElement templates = buildStructuralElement(ElementType.Templates, Action.CREATE);
+ ZusammenElement artifacts = buildStructuralElement(ElementType.Artifacts, Action.CREATE);
+ vspModel.addSubElement(
+ buildServiceModelStructure(ElementType.ServiceModel, templates, artifacts));
+ vspModel.addSubElement(
+ buildServiceModelStructure(ElementType.EnrichedServiceModel, templates, artifacts));
+
+ zusammenAdaptor.saveElement(context, elementContext, vspModel, "Create VSP Model Elements");
+ }
- return zusammenAdaptor
- .getElementInfoByName(context, elementContext, null, StructureElement.General.name())
- .map(generalElementInfo -> mapInfoToVspDetails(
- vspDetails.getId(), vspDetails.getVersion(), generalElementInfo.getInfo(),
- itemVersion.getModificationTime(), itemVersion.getCreationTime()))
- .orElse(null);
+ private ZusammenElement buildOrchestrationTemplateStructure() {
+ ByteArrayInputStream emptyData = new ByteArrayInputStream(EMPTY_DATA.getBytes());
+
+ ZusammenElement validationData =
+ buildStructuralElement(ElementType.OrchestrationTemplateValidationData, Action.CREATE);
+ validationData.setData(emptyData);
+
+ ZusammenElement orchestrationTemplate =
+ buildStructuralElement(ElementType.OrchestrationTemplate, Action.CREATE);
+ orchestrationTemplate.setData(emptyData);
+ orchestrationTemplate.addSubElement(validationData);
+
+ return orchestrationTemplate;
}
+ private ZusammenElement buildServiceModelStructure(ElementType serviceModelElementType,
+ ZusammenElement templates,
+ ZusammenElement artifacts) {
+ ZusammenElement serviceModel = buildStructuralElement(serviceModelElementType, Action.CREATE);
+ serviceModel.addSubElement(templates);
+ serviceModel.addSubElement(artifacts);
+ return serviceModel;
+ }
@Override
- public void delete(VspDetails entity) {
+ public void update(VspDetails vspDetails) {
+ ZusammenElement generalElement = mapVspDetailsToZusammenElement(vspDetails, Action.UPDATE);
+ SessionContext context = createSessionContext();
+ zusammenAdaptor.saveElement(context,
+ new ElementContext(vspDetails.getId(), vspDetails.getVersion().getId()), generalElement,
+ "Update VSP General Info Element");
}
@Override
- public void updateOldVersionIndication(VspDetails vspDetails) {
- VspDetails retrieved = get(vspDetails);
- if (retrieved != null) {
- retrieved.setOldVersion(vspDetails.getOldVersion());
- update(retrieved);
- }
+ public VspDetails get(VspDetails vspDetails) {
+ SessionContext context = createSessionContext();
+ ElementContext elementContext =
+ new ElementContext(vspDetails.getId(), vspDetails.getVersion().getId());
+ VspDetails vsp = zusammenAdaptor.getElementInfoByName(context, elementContext, null,
+ ElementType.VendorSoftwareProduct.name())
+ .map(new ElementToVSPGeneralConvertor()::convert)
+ .orElse(null);
+ vsp.setId(vspDetails.getId());
+ vsp.setVersion(vspDetails.getVersion());
+ return vsp;
+ }
+
+ @Override
+ public void delete(VspDetails vspDetails) {
+ SessionContext context = createSessionContext();
+ ElementContext elementContext =
+ new ElementContext(vspDetails.getId(), vspDetails.getVersion().getId());
+
+ zusammenAdaptor.saveElement(context, elementContext,
+ buildStructuralElement(ElementType.VspModel, Action.DELETE),
+ "Delete VSP Model Elements");
+
+ createVspModelStructure(context, elementContext);
}
@Override
public void updateQuestionnaireData(String vspId, Version version, String questionnaireData) {
- SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(vspId);
- Id versionId = VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor);
+ SessionContext context = createSessionContext();
ZusammenElement questionnaireElement = mapQuestionnaireToZusammenElement(questionnaireData);
- zusammenAdaptor.saveElement(context, new ElementContext(itemId, versionId),
+ zusammenAdaptor.saveElement(context, new ElementContext(vspId, version.getId()),
questionnaireElement, "Update VSP Questionnaire");
}
- @Override
+ /* @Override
public String getQuestionnaireData(String vspId, Version version) {
- SessionContext context = ZusammenUtil.createSessionContext();
- Id itemId = new Id(vspId);
- Id versionId = VspZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor);
+ SessionContext context = createSessionContext();
- return zusammenAdaptor.getElementByName(context,
- new ElementContext(itemId, versionId, VspZusammenUtil.getVersionTag(version)), null,
- StructureElement.Questionnaire.name())
+ return zusammenAdaptor
+ .getElementByName(context, new ElementContext(vspId, version.getId()), null,
+ ElementType.Questionnaire.name())
.map(questionnaireElement ->
new String(FileUtils.toByteArray(questionnaireElement.getData())))
.orElse(null);
- }
+ }*/
@Override
public VspQuestionnaireEntity getQuestionnaire(String vspId, Version version) {
- VspQuestionnaireEntity entity = new VspQuestionnaireEntity();
+
+ SessionContext context = createSessionContext();
+ ElementToVSPQuestionnaireConvertor convertor = new ElementToVSPQuestionnaireConvertor();
+ VspQuestionnaireEntity entity = convertor.convert(zusammenAdaptor
+ .getElementByName(context, new ElementContext(vspId, version.getId()), null,
+ ElementType.VSPQuestionnaire.name()).map(element -> element).orElse(null));
entity.setId(vspId);
entity.setVersion(version);
- entity.setQuestionnaireData(getQuestionnaireData(vspId, version));
return entity;
}
@Override
- public void deleteAll(String vspId, Version version) {
-
- }
-
- @Override
public boolean isManual(String vspId, Version version) {
final VspDetails vspDetails = get(new VspDetails(vspId, version));
if (vspDetails != null) {
@@ -159,29 +223,27 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP
return false;
}
- private Info mapVspDetailsToZusammenItemInfo(VspDetails vspDetails) {
- Info info = new Info();
- info.setName(vspDetails.getName());
- info.setDescription(vspDetails.getDescription());
- info.addProperty("type", "vsp");
- addVspDetailsToInfo(info, vspDetails);
- return info;
- }
-
private ZusammenElement mapVspDetailsToZusammenElement(VspDetails vspDetails, Action action) {
ZusammenElement generalElement =
- VspZusammenUtil.buildStructuralElement(StructureElement.General, action);
+ buildStructuralElement(ElementType.VendorSoftwareProduct, action);
addVspDetailsToInfo(generalElement.getInfo(), vspDetails);
return generalElement;
}
private ZusammenElement mapQuestionnaireToZusammenElement(String questionnaireData) {
ZusammenElement questionnaireElement =
- VspZusammenUtil.buildStructuralElement(StructureElement.Questionnaire, Action.UPDATE);
+ buildStructuralElement(ElementType.VSPQuestionnaire, Action.UPDATE);
questionnaireElement.setData(new ByteArrayInputStream(questionnaireData.getBytes()));
return questionnaireElement;
}
+ private ZusammenElement mapTestElementToZusammenElement(String elementData) {
+ ZusammenElement testElement =
+ buildStructuralElement(ElementType.test, Action.UPDATE);
+ testElement.setData(new ByteArrayInputStream(elementData.getBytes()));
+ return testElement;
+ }
+
private void addVspDetailsToInfo(Info info, VspDetails vspDetails) {
info.addProperty(InfoPropertyName.name.name(), vspDetails.getName());
info.addProperty(InfoPropertyName.description.name(), vspDetails.getDescription());
@@ -191,45 +253,14 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP
info.addProperty(InfoPropertyName.vendorId.name(), vspDetails.getVendorId());
info.addProperty(InfoPropertyName.vendorName.name(), vspDetails.getVendorName());
if (vspDetails.getVlmVersion() != null) {
- info.addProperty(
- InfoPropertyName.vendorVersion.name(), vspDetails.getVlmVersion().toString());
+ info.addProperty(InfoPropertyName.vendorVersion.name(), vspDetails.getVlmVersion().getId());
}
info.addProperty(InfoPropertyName.licenseAgreement.name(), vspDetails.getLicenseAgreement());
info.addProperty(InfoPropertyName.featureGroups.name(), vspDetails.getFeatureGroups());
- info.addProperty(InfoPropertyName.oldVersion.name(), vspDetails.getOldVersion());
info.addProperty(InfoPropertyName.onboardingMethod.name(), vspDetails.getOnboardingMethod());
- info.addProperty(InfoPropertyName.obBoardingOrigin.name(), vspDetails.getOnboardingOrigin());
- info.addProperty(InfoPropertyName.networkPackageName.name(), vspDetails.getNetworkPackageName());
- }
-
- private VspDetails mapInfoToVspDetails(String vspId, Version version, Info info,
- Date modificationTime, Date creationTime) {
- VspDetails vspDetails = new VspDetails(vspId, version);
- vspDetails.setName(info.getProperty(InfoPropertyName.name.name()));
- vspDetails.setDescription(info.getProperty(InfoPropertyName.description.name()));
- vspDetails.setCategory(info.getProperty(InfoPropertyName.category.name()));
- vspDetails.setSubCategory(info.getProperty(InfoPropertyName.subCategory.name()));
- vspDetails.setVendorId(info.getProperty(InfoPropertyName.vendorId.name()));
- vspDetails.setVendorName(info.getProperty(InfoPropertyName.vendorName.name()));
- vspDetails.setVlmVersion(
- Version.valueOf(info.getProperty(InfoPropertyName.vendorVersion.name())));
- vspDetails.setLicenseAgreement(info.getProperty(InfoPropertyName.licenseAgreement.name()));
- vspDetails.setFeatureGroups(info.getProperty(InfoPropertyName.featureGroups.name()));
-
- vspDetails.setWritetimeMicroSeconds(
- modificationTime == null ? creationTime.getTime() : modificationTime.getTime());
- vspDetails.setVersion(version);
- String oldVersion = info.getProperty(InfoPropertyName.oldVersion.name());
-
- //Boolean oldVersion = ind == null || "true".equals( ind.toLowerCase());
- vspDetails.setOldVersion(oldVersion);
- vspDetails.setOnboardingMethod(info.getProperty(InfoPropertyName.onboardingMethod.name()));
- vspDetails.setOnboardingOrigin(info.getProperty(InfoPropertyName.obBoardingOrigin.name()));
- vspDetails.setNetworkPackageName(info.getProperty(InfoPropertyName.networkPackageName.name()));
- return vspDetails;
- }
-
- private enum InfoPropertyName {
+ }
+
+ public enum InfoPropertyName {
name,
description,
icon,
@@ -240,10 +271,7 @@ public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareP
vendorVersion,
licenseAgreement,
featureGroups,
- oldVersion,
- onboardingMethod,
- obBoardingOrigin,
- networkPackageName
+ onboardingMethod
}
}