Sync Integ to Master
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / datamodel / utils / ArtifactUtils.java
index 9f66911..9f0d7a3 100644 (file)
 
 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;
+    }
 }