aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/ProcessArtifactEnricher.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/ProcessArtifactEnricher.java')
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/ProcessArtifactEnricher.java144
1 files changed, 144 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/ProcessArtifactEnricher.java b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/ProcessArtifactEnricher.java
new file mode 100644
index 0000000000..b4a2815d69
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/ProcessArtifactEnricher.java
@@ -0,0 +1,144 @@
+package org.openecomp.sdc.enrichment.impl.external.artifact;
+
+import org.openecomp.core.enrichment.types.ArtifactCategory;
+import org.openecomp.core.enrichment.types.ComponentProcessInfo;
+import org.openecomp.core.model.dao.EnrichedServiceModelDao;
+import org.openecomp.core.model.dao.EnrichedServiceModelDaoFactory;
+import org.openecomp.core.model.types.ServiceArtifact;
+import org.openecomp.core.utilities.file.FileUtils;
+import org.openecomp.sdc.datatypes.error.ErrorMessage;
+import org.openecomp.sdc.enrichment.EnrichmentInfo;
+import org.openecomp.sdc.enrichment.inter.ExternalArtifactEnricherInterface;
+import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ProcessDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ProcessDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessType;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ProcessArtifactEnricher implements ExternalArtifactEnricherInterface {
+
+ private VendorSoftwareProductDao vendorSoftwareProductDao;
+ //private ProcessArtifactDao processArtifactDao;
+ private ProcessDao processDao;
+ private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
+ private EnrichedServiceModelDao enrichedServiceModelDao;
+
+ @Override
+ public Map<String, List<ErrorMessage>> enrich(EnrichmentInfo enrichmentInfo) throws IOException {
+ Map<String, List<ErrorMessage>> errors = new HashMap<>();
+ String vspId = enrichmentInfo.getKey();
+ Version version = enrichmentInfo.getVersion();
+
+ Collection<ComponentEntity> components =
+ getVendorSoftwareProductDao().listComponents(vspId, version);
+ components.stream()
+ .forEach(componentEntry -> errors.putAll(enrichComponent(componentEntry,
+ vspId, version)));
+
+ return errors;
+ }
+
+ Map<String, List<ErrorMessage>> enrichComponent(ComponentEntity componentEntry, String vspId,
+ Version version) {
+ mdcDataDebugMessage.debugEntryMessage("LifeCycleOperationArtifactEnricher vspId ",
+ vspId);
+
+ Map<String, List<ErrorMessage>> errors = new HashMap<>();
+ enrichComponentProcessArtifact(componentEntry, vspId, version, errors);
+
+ mdcDataDebugMessage.debugExitMessage("LifeCycleOperationArtifactEnricher vspId ",
+ vspId);
+ return errors;
+ }
+
+ void enrichComponentProcessArtifact(ComponentEntity componentEntity,
+ String vspId, Version version,
+ Map<String, List<ErrorMessage>> errors) {
+
+
+ mdcDataDebugMessage.debugEntryMessage(null, null);
+
+ String componentId = componentEntity.getId();
+ ProcessEntity processEntity = new ProcessEntity(vspId, version, componentId, null);
+ final Collection<ProcessEntity> processes = getProcessDao().list(processEntity);
+
+ /*processes.stream()
+ .filter(entity -> entity.getType().equals(ProcessType.Lifecycle_Operations))
+ .forEach(entity -> {
+ ProcessArtifactEntity artifactEntity = new ProcessArtifactEntity(vspId, version,
+ componentId, entity.getId());*/
+
+ processes.stream()
+ .filter(entity -> entity.getType().equals(ProcessType.Lifecycle_Operations))
+ .forEach(entity -> {
+ ProcessEntity artifactEntity = new ProcessEntity(vspId, version,
+ componentId, entity.getId());
+
+ ProcessEntity artifactProcessEntity = getProcessDao().get(artifactEntity);
+ //ProcessArtifactEntity artifact = getProcessArtifactDao().get(artifactEntity);
+ if (artifactProcessEntity != null) {
+ String componentName = componentEntity.getComponentCompositionData().getName();
+ String path = componentName + File.separator
+ + ArtifactCategory.DEPLOYMENT.getDisplayName() + File.separator
+ + "Lifecycle Operations" + File.separator + artifactProcessEntity.getArtifactName();
+
+ ComponentProcessInfo componentProcessInfo = new ComponentProcessInfo();
+ componentProcessInfo.setName(path);
+ componentProcessInfo.setContent(artifactProcessEntity.getArtifact().array());
+
+ ServiceArtifact processServiceArtifact = new ServiceArtifact();
+ processServiceArtifact.setVspId(vspId);
+ processServiceArtifact.setVersion(version);
+ enrichServiceArtifact(componentProcessInfo, processServiceArtifact, errors);
+ }
+ });
+
+ mdcDataDebugMessage.debugExitMessage(null, null);
+ }
+
+ void enrichServiceArtifact(ComponentProcessInfo componentProcessInfo,
+ ServiceArtifact processServiceArtifact,
+ Map<String, List<ErrorMessage>> errors) {
+
+
+ mdcDataDebugMessage.debugEntryMessage(null, null);
+
+ processServiceArtifact.setName(componentProcessInfo.getName());
+ processServiceArtifact.setContentData(FileUtils.toByteArray(componentProcessInfo.getContent()));
+ getEnrichedServiceModelDao().storeExternalArtifact(processServiceArtifact);
+ mdcDataDebugMessage.debugExitMessage(null, null);
+ }
+
+ private VendorSoftwareProductDao getVendorSoftwareProductDao() {
+ if (vendorSoftwareProductDao == null) {
+ vendorSoftwareProductDao = VendorSoftwareProductDaoFactory.getInstance().createInterface();
+ }
+ return vendorSoftwareProductDao;
+ }
+
+ private ProcessDao getProcessDao() {
+ if (processDao == null) {
+ processDao = ProcessDaoFactory.getInstance().createInterface();
+ }
+ return processDao;
+ }
+
+ private EnrichedServiceModelDao getEnrichedServiceModelDao() {
+
+ if (enrichedServiceModelDao == null) {
+ enrichedServiceModelDao = EnrichedServiceModelDaoFactory.getInstance().createInterface();
+ }
+ return enrichedServiceModelDao;
+ }
+}