aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/ArtifactUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/ArtifactUtils.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/ArtifactUtils.java142
1 files changed, 112 insertions, 30 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/ArtifactUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/ArtifactUtils.java
index 9f66911461..9f0d7a3281 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/ArtifactUtils.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/datamodel/utils/ArtifactUtils.java
@@ -20,39 +20,121 @@
package org.openecomp.sdc.be.datamodel.utils;
+import org.apache.commons.codec.binary.Base64;
+import org.openecomp.sdc.be.info.ArtifactTemplateInfo;
+import org.openecomp.sdc.be.model.ArtifactDefinition;
+import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
+import org.openecomp.sdc.common.api.ArtifactTypeEnum;
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.util.ValidationUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.stream.Collectors;
-import org.openecomp.sdc.be.model.ArtifactDefinition;
-import org.openecomp.sdc.common.api.ArtifactTypeEnum;
-
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.util.ValidationUtils;
public class ArtifactUtils {
- public static ArtifactDefinition findMasterArtifact(Map<String, ArtifactDefinition> deplymentArtifact, List<ArtifactDefinition> artifacts, List<String> artifactsList) {
- for (String artifactUid : artifactsList) {
- for (Entry<String, ArtifactDefinition> entry : deplymentArtifact.entrySet()) {
- ArtifactDefinition artifact = entry.getValue();
- if (artifactUid.equalsIgnoreCase(artifact.getUniqueId())) {
- artifacts.add(artifact);
- }
-
- }
- }
- if (artifacts.size() == 1) {
- return artifacts.get(0);
- }
- ArtifactDefinition masterArtifact = null;
- for (ArtifactDefinition artifactInfo : artifacts) {
- String atrifactType = artifactInfo.getArtifactType();
- if (atrifactType.equalsIgnoreCase(ArtifactTypeEnum.HEAT_VOL.getType()) || atrifactType.equalsIgnoreCase(ArtifactTypeEnum.HEAT_NET.getType())) {
- masterArtifact = artifactInfo;
- continue;
- }
- if (atrifactType.equalsIgnoreCase(ArtifactTypeEnum.HEAT.getType())) {
- masterArtifact = artifactInfo;
- break;
- }
- }
- return masterArtifact;
- }
+
+ public static ArtifactDefinition findMasterArtifact(Map<String, ArtifactDefinition> deplymentArtifact, List<ArtifactDefinition> artifacts, List<String> artifactsList) {
+ for (String artifactUid : artifactsList) {
+ for (Entry<String, ArtifactDefinition> entry : deplymentArtifact.entrySet()) {
+ ArtifactDefinition artifact = entry.getValue();
+ if (artifactUid.equalsIgnoreCase(artifact.getUniqueId())) {
+ artifacts.add(artifact);
+ }
+
+ }
+ }
+ if (artifacts.size() == 1) {
+ return artifacts.get(0);
+ }
+ ArtifactDefinition masterArtifact = null;
+ for (ArtifactDefinition artifactInfo : artifacts) {
+ String atrifactType = artifactInfo.getArtifactType();
+ if (atrifactType.equalsIgnoreCase(ArtifactTypeEnum.HEAT_VOL.getType()) || atrifactType.equalsIgnoreCase(ArtifactTypeEnum.HEAT_NET.getType())) {
+ masterArtifact = artifactInfo;
+ continue;
+ }
+ if (atrifactType.equalsIgnoreCase(ArtifactTypeEnum.HEAT.getType())) {
+ masterArtifact = artifactInfo;
+ break;
+ }
+ }
+ return masterArtifact;
+ }
+
+ public static Map<String, Object> buildJsonForUpdateArtifact(String artifactId, String artifactName, String artifactType,
+ ArtifactGroupTypeEnum artifactGroupType, String label, String displayName, String description,
+ byte[] artifactContentent, List<ArtifactTemplateInfo> updatedRequiredArtifacts, boolean isFromCsar) {
+
+ Map<String, Object> json = new HashMap<String, Object>();
+ if (artifactId != null && !artifactId.isEmpty())
+ json.put(Constants.ARTIFACT_ID, artifactId);
+
+ json.put(Constants.ARTIFACT_NAME, artifactName);
+ json.put(Constants.ARTIFACT_TYPE, artifactType);
+ json.put(Constants.ARTIFACT_DESCRIPTION, description);
+ json.put(Constants.IS_FROM_CSAR, isFromCsar);
+
+ String encodedPayload = new String(artifactContentent);
+
+
+ encodedPayload = Base64.encodeBase64String(artifactContentent);
+ // }
+
+ json.put(Constants.ARTIFACT_PAYLOAD_DATA, encodedPayload);
+ json.put(Constants.ARTIFACT_DISPLAY_NAME, displayName);
+ json.put(Constants.ARTIFACT_LABEL, label);
+ json.put(Constants.ARTIFACT_GROUP_TYPE, artifactGroupType.getType());
+ json.put(Constants.REQUIRED_ARTIFACTS,
+ (updatedRequiredArtifacts == null || updatedRequiredArtifacts.isEmpty()) ? new ArrayList<>()
+ : updatedRequiredArtifacts.stream()
+ .filter(e -> e.getType().equals(ArtifactTypeEnum.HEAT_ARTIFACT.getType())
+ || e.getType().equals(ArtifactTypeEnum.HEAT_NESTED.getType()))
+ .map(e -> e.getFileName()).collect(Collectors.toList()));
+ return json;
+ }
+
+ public static Map<String, Object> buildJsonForArtifact(ArtifactTemplateInfo artifactTemplateInfo,
+ byte[] artifactContentent, int atrifactLabelCounter) {
+
+ Map<String, Object> json = new HashMap<String, Object>();
+ String artifactName = artifactTemplateInfo.getFileName();
+
+ json.put(Constants.ARTIFACT_NAME, artifactTemplateInfo.getFileName());
+ json.put(Constants.ARTIFACT_TYPE, artifactTemplateInfo.getType());
+ json.put(Constants.ARTIFACT_DESCRIPTION, "created from csar");
+
+ String encodedPayload = Base64.encodeBase64String(artifactContentent);
+
+ json.put(Constants.ARTIFACT_PAYLOAD_DATA, encodedPayload);
+ String displayName = artifactName;
+ if (artifactName.lastIndexOf(".") > 0)
+ displayName = artifactName.substring(0, artifactName.lastIndexOf("."));
+ json.put(Constants.ARTIFACT_DISPLAY_NAME, displayName);
+ String label = ValidationUtils.normalizeArtifactLabel(artifactTemplateInfo.getType() + atrifactLabelCounter);
+ json.put(Constants.ARTIFACT_LABEL, label);
+ json.put(Constants.ARTIFACT_GROUP_TYPE, ArtifactGroupTypeEnum.DEPLOYMENT.getType());
+ List<ArtifactTemplateInfo> requiredArtifacts = artifactTemplateInfo.getRelatedArtifactsInfo();
+ json.put(Constants.REQUIRED_ARTIFACTS,
+ (requiredArtifacts == null || requiredArtifacts.isEmpty()) ? new ArrayList<>()
+ : requiredArtifacts.stream()
+ .filter(e -> e.getType().equals(ArtifactTypeEnum.HEAT_ARTIFACT.getType())
+ || e.getType().equals(ArtifactTypeEnum.HEAT_NESTED.getType()))
+ .map(e -> e.getFileName()).collect(Collectors.toList()));
+ return json;
+ }
+
+ public static ArtifactDefinition findArtifactInList(List<ArtifactDefinition> createdArtifacts, String artifactId) {
+ for (ArtifactDefinition artifact : createdArtifacts) {
+ if (artifact.getUniqueId().equals(artifactId)) {
+ return artifact;
+ }
+ }
+ return null;
+ }
}