summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/info/ArtifactTemplateInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/info/ArtifactTemplateInfo.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/info/ArtifactTemplateInfo.java181
1 files changed, 97 insertions, 84 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/info/ArtifactTemplateInfo.java b/catalog-be/src/main/java/org/openecomp/sdc/be/info/ArtifactTemplateInfo.java
index ab088ec3d8..2fedcc3b28 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/info/ArtifactTemplateInfo.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/info/ArtifactTemplateInfo.java
@@ -17,7 +17,6 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.be.info;
import com.google.gson.Gson;
@@ -50,10 +49,10 @@ import org.openecomp.sdc.exception.ResponseFormat;
@Setter
@NoArgsConstructor
public class ArtifactTemplateInfo {
+
+ public static final String CSAR_ARTIFACT = "artifacts";
private static final Logger log = Logger.getLogger(ArtifactTemplateInfo.class);
private static final Gson gson = new Gson();
- public static final String CSAR_ARTIFACT = "artifacts";
-
private static final String ARTIFACT_TEMPLATE_TYPE = "type";
private static final String FILE_NAME = "fileName";
private static final String ARTIFACT_TEMPLATE_ENV = "env";
@@ -64,14 +63,12 @@ public class ArtifactTemplateInfo {
private static final String CSAR_VOLUME = "volume";
private static final String CSAR_NESTED = "nested";
private static final String DESC = "description";
-
private String type;
private String fileName;
private String env;
private boolean base;
private String groupName;
private String description;
-
private List<ArtifactTemplateInfo> relatedArtifactsInfo;
public ArtifactTemplateInfo(String type, String fileName, String env, List<ArtifactTemplateInfo> relatedArtifactsInfo) {
@@ -81,14 +78,14 @@ public class ArtifactTemplateInfo {
this.relatedArtifactsInfo = relatedArtifactsInfo;
}
- public static Either<ArtifactTemplateInfo, ResponseFormat> createArtifactTemplateInfoFromJson(ComponentsUtils componentsUtils, String type, Map<String, Object> o, List<ArtifactTemplateInfo> createdArtifactTemplateInfoList,
- ArtifactTemplateInfo parentArtifact) {
+ public static Either<ArtifactTemplateInfo, ResponseFormat> createArtifactTemplateInfoFromJson(ComponentsUtils componentsUtils, String type,
+ Map<String, Object> o,
+ List<ArtifactTemplateInfo> createdArtifactTemplateInfoList,
+ ArtifactTemplateInfo parentArtifact) {
String content = gson.toJson(o);
JsonObject jsonElement = new JsonObject();
ArtifactTemplateInfo resourceInfo = new ArtifactTemplateInfo();
-
jsonElement = gson.fromJson(content, jsonElement.getClass());
-
Map<String, Object> artifactTemplateMap = ComponentsUtils.parseJsonToObject(jsonElement.toString(), HashMap.class);
if (artifactTemplateMap.containsKey(ARTIFACT_TEMPLATE_TYPE)) {
resourceInfo.setType((String) artifactTemplateMap.get(ARTIFACT_TEMPLATE_TYPE));
@@ -104,8 +101,7 @@ public class ArtifactTemplateInfo {
String envStr = "";
if (envObj instanceof String) {
envStr = (String) envObj;
- }
- else if (envObj instanceof Map) {
+ } else if (envObj instanceof Map) {
Map envMap = (Map) envObj;
if (envMap.containsKey(FILE_NAME)) {
envStr = (String) envMap.get(FILE_NAME);
@@ -118,57 +114,45 @@ public class ArtifactTemplateInfo {
} else {
resourceInfo.setDescription((String) artifactTemplateMap.get(FILE_NAME));
}
-
boolean artifactTypeExist = false;
String correctType;
if (type.equalsIgnoreCase(CSAR_NESTED)) {
correctType = ArtifactTypeEnum.HEAT_NESTED.getType();
- }
- else if (type.equalsIgnoreCase(CSAR_VOLUME)) {
+ } else if (type.equalsIgnoreCase(CSAR_VOLUME)) {
correctType = ArtifactTypeEnum.HEAT_VOL.getType();
- }
- else if (type.equalsIgnoreCase(CSAR_NETWORK)) {
+ } else if (type.equalsIgnoreCase(CSAR_NETWORK)) {
correctType = ArtifactTypeEnum.HEAT_NET.getType();
- }
- else if (type.equalsIgnoreCase(CSAR_ARTIFACT)){
- if( parentArtifact != null) {
+ } else if (type.equalsIgnoreCase(CSAR_ARTIFACT)) {
+ if (parentArtifact != null) {
correctType = ArtifactTypeEnum.HEAT_ARTIFACT.getType();
- }
- else {
+ } else {
correctType = resourceInfo.type;
}
- }
- else if (type.equalsIgnoreCase(CSAR_HEAT)) {
+ } else if (type.equalsIgnoreCase(CSAR_HEAT)) {
correctType = ArtifactTypeEnum.HEAT.getType();
- }
- else if (type.equalsIgnoreCase(CSAR_HELM)) {
+ } else if (type.equalsIgnoreCase(CSAR_HELM)) {
correctType = ArtifactTypeEnum.HELM.getType();
- }
- else {
+ } else {
correctType = ArtifactTypeEnum.OTHER.getType();
}
Either<List<ArtifactType>, ActionStatus> allArtifactTypes = getDeploymentArtifactTypes(NodeTypeEnum.Resource);
-
if (allArtifactTypes.isRight()) {
- BeEcompErrorManager.getInstance().logBeInvalidConfigurationError("Artifact Upload / Update", "artifactTypes", allArtifactTypes.right().value().name());
+ BeEcompErrorManager.getInstance()
+ .logBeInvalidConfigurationError("Artifact Upload / Update", "artifactTypes", allArtifactTypes.right().value().name());
return Either.right(componentsUtils.getResponseFormat(ActionStatus.FAILED_RETRIVE_ARTIFACTS_TYPES));
}
-
for (ArtifactType artType : allArtifactTypes.left().value()) {
-
if (artType.getName().contains(correctType)) {
resourceInfo.type = artType.getName();
artifactTypeExist = true;
break;
}
}
-
if (!artifactTypeExist) {
BeEcompErrorManager.getInstance().logBeInvalidTypeError("Artifact", "-Not supported artifact type ", correctType);
- log.debug("Not supported artifact type = {}" , correctType);
+ log.debug("Not supported artifact type = {}", correctType);
return Either.right(componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_TYPE_NOT_SUPPORTED, correctType));
}
-
Either<Boolean, ResponseFormat> eitherNeedToCreate = validateEnv(componentsUtils, createdArtifactTemplateInfoList, resourceInfo);
if (eitherNeedToCreate.isRight()) {
return Either.right(eitherNeedToCreate.right().value());
@@ -186,7 +170,8 @@ public class ArtifactTemplateInfo {
if (o.get(key) instanceof List) {
List<Map<String, Object>> artifList = (List<Map<String, Object>>) o.get(key);
for (Map<String, Object> relatedArtifactsMap : artifList) {
- Either<ArtifactTemplateInfo, ResponseFormat> relatedArtifact = ArtifactTemplateInfo.createArtifactTemplateInfoFromJson(componentsUtils, key, relatedArtifactsMap, createdArtifactTemplateInfoList, resourceInfo);
+ Either<ArtifactTemplateInfo, ResponseFormat> relatedArtifact = ArtifactTemplateInfo
+ .createArtifactTemplateInfoFromJson(componentsUtils, key, relatedArtifactsMap, createdArtifactTemplateInfoList, resourceInfo);
if (relatedArtifact.isRight()) {
return relatedArtifact;
}
@@ -200,32 +185,40 @@ public class ArtifactTemplateInfo {
return Either.left(resourceInfo);
}
- private static Either<Boolean, ResponseFormat> validateIsAlreadyExist(ComponentsUtils componentsUtils, ArtifactTemplateInfo resourceInfo, List<ArtifactTemplateInfo> createdArtifactTemplateInfoList, ArtifactTemplateInfo parentArtifact) {
-
+ private static Either<Boolean, ResponseFormat> validateIsAlreadyExist(ComponentsUtils componentsUtils, ArtifactTemplateInfo resourceInfo,
+ List<ArtifactTemplateInfo> createdArtifactTemplateInfoList,
+ ArtifactTemplateInfo parentArtifact) {
if (parentArtifact == null) {
- if (createdArtifactTemplateInfoList == null || createdArtifactTemplateInfoList.isEmpty())
+ if (createdArtifactTemplateInfoList == null || createdArtifactTemplateInfoList.isEmpty()) {
return Either.left(true);
+ }
for (ArtifactTemplateInfo createdArtifact : createdArtifactTemplateInfoList) {
- if (createdArtifact.getType().equalsIgnoreCase(resourceInfo.getType()) && createdArtifact.getFileName().equalsIgnoreCase(resourceInfo.getFileName())) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_ALRADY_EXIST_IN_MASTER_IN_CSAR, resourceInfo.getFileName(), createdArtifact.type));
+ if (createdArtifact.getType().equalsIgnoreCase(resourceInfo.getType()) && createdArtifact.getFileName()
+ .equalsIgnoreCase(resourceInfo.getFileName())) {
+ return Either.right(componentsUtils
+ .getResponseFormat(ActionStatus.ARTIFACT_ALRADY_EXIST_IN_MASTER_IN_CSAR, resourceInfo.getFileName(), createdArtifact.type));
}
}
return Either.left(true);
} else {
List<ArtifactTemplateInfo> relatedArtifacts = parentArtifact.getRelatedArtifactsInfo();
- if (relatedArtifacts == null || relatedArtifacts.isEmpty())
+ if (relatedArtifacts == null || relatedArtifacts.isEmpty()) {
return Either.left(true);
+ }
for (ArtifactTemplateInfo relatedArtifact : relatedArtifacts) {
- if (relatedArtifact.getType().equalsIgnoreCase(resourceInfo.getType()) && relatedArtifact.getFileName().equalsIgnoreCase(resourceInfo.getFileName())) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_ALRADY_EXIST_IN_MASTER_IN_CSAR, resourceInfo.getFileName(), parentArtifact.getFileName()));
+ if (relatedArtifact.getType().equalsIgnoreCase(resourceInfo.getType()) && relatedArtifact.getFileName()
+ .equalsIgnoreCase(resourceInfo.getFileName())) {
+ return Either.right(componentsUtils
+ .getResponseFormat(ActionStatus.ARTIFACT_ALRADY_EXIST_IN_MASTER_IN_CSAR, resourceInfo.getFileName(),
+ parentArtifact.getFileName()));
}
}
return Either.left(true);
}
}
- private static Either<Boolean, ResponseFormat> validateParentType(ComponentsUtils componentsUtils, ArtifactTemplateInfo resourceInfo, ArtifactTemplateInfo parentArtifact) {
-
+ private static Either<Boolean, ResponseFormat> validateParentType(ComponentsUtils componentsUtils, ArtifactTemplateInfo resourceInfo,
+ ArtifactTemplateInfo parentArtifact) {
if (parentArtifact == null) {
return Either.left(true);
}
@@ -233,78 +226,99 @@ public class ArtifactTemplateInfo {
return Either.left(true);
}
if (resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT.getType())) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_IN_MASTER, resourceInfo.getFileName(), resourceInfo.getType(), parentArtifact.getFileName(), parentArtifact.getType()));
+ return Either.right(componentsUtils
+ .getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_IN_MASTER, resourceInfo.getFileName(), resourceInfo.getType(),
+ parentArtifact.getFileName(), parentArtifact.getType()));
}
- if ((resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_NET.getType()) || resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_VOL.getType()))
- && !parentArtifact.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT.getType())) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_IN_MASTER, resourceInfo.getFileName(), resourceInfo.getType(), parentArtifact.getFileName(), parentArtifact.getType()));
+ if ((resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_NET.getType()) || resourceInfo.getType()
+ .equalsIgnoreCase(ArtifactTypeEnum.HEAT_VOL.getType())) && !parentArtifact.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT.getType())) {
+ return Either.right(componentsUtils
+ .getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_IN_MASTER, resourceInfo.getFileName(), resourceInfo.getType(),
+ parentArtifact.getFileName(), parentArtifact.getType()));
}
if (parentArtifact.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_NESTED.getType())) {
- if (resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_ARTIFACT.getType()) || resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_NESTED.getType())) {
+ if (resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_ARTIFACT.getType()) || resourceInfo.getType()
+ .equalsIgnoreCase(ArtifactTypeEnum.HEAT_NESTED.getType())) {
return Either.left(true);
}
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_IN_MASTER, resourceInfo.getFileName(), resourceInfo.getType(), parentArtifact.getFileName(), parentArtifact.getType()));
+ return Either.right(componentsUtils
+ .getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_IN_MASTER, resourceInfo.getFileName(), resourceInfo.getType(),
+ parentArtifact.getFileName(), parentArtifact.getType()));
}
- if (parentArtifact.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT.getType()) && resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT.getType())) {
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_IN_MASTER, resourceInfo.getFileName(), resourceInfo.getType(), parentArtifact.getFileName(), parentArtifact.getType()));
+ if (parentArtifact.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT.getType()) && resourceInfo.getType()
+ .equalsIgnoreCase(ArtifactTypeEnum.HEAT.getType())) {
+ return Either.right(componentsUtils
+ .getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_IN_MASTER, resourceInfo.getFileName(), resourceInfo.getType(),
+ parentArtifact.getFileName(), parentArtifact.getType()));
}
-
if (parentArtifact.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT.getType())) {
return Either.left(true);
}
return Either.left(true);
}
- private static Either<Boolean, ResponseFormat> validateEnv(ComponentsUtils componentsUtils, List<ArtifactTemplateInfo> createdArtifactTemplateInfoList, ArtifactTemplateInfo resourceInfo) {
-
- if (createdArtifactTemplateInfoList == null || createdArtifactTemplateInfoList.isEmpty())
+ private static Either<Boolean, ResponseFormat> validateEnv(ComponentsUtils componentsUtils,
+ List<ArtifactTemplateInfo> createdArtifactTemplateInfoList,
+ ArtifactTemplateInfo resourceInfo) {
+ if (createdArtifactTemplateInfoList == null || createdArtifactTemplateInfoList.isEmpty()) {
return Either.left(true);
- if (resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_NESTED.getType()) || resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_ARTIFACT.getType()))
+ }
+ if (resourceInfo.getType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_NESTED.getType()) || resourceInfo.getType()
+ .equalsIgnoreCase(ArtifactTypeEnum.HEAT_ARTIFACT.getType())) {
return Either.left(true);
+ }
for (ArtifactTemplateInfo createdArtifactTemplateInfo : createdArtifactTemplateInfoList) {
// check if artifact with this name already parsed. If parsed check
+
// env name. it must be the same.
if (resourceInfo.getFileName().equalsIgnoreCase(createdArtifactTemplateInfo.getFileName())) {
- if ((resourceInfo.getEnv() == null || resourceInfo.getEnv().isEmpty()) && (createdArtifactTemplateInfo.getEnv() != null && !createdArtifactTemplateInfo.getEnv().isEmpty())) {
- log.debug("Artifact file with name {} type{} already parsed but with env {}", resourceInfo.getFileName(), resourceInfo.getType(), createdArtifactTemplateInfo.getEnv());
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_ENV, resourceInfo.getFileName(), resourceInfo.getType(), resourceInfo.getEnv(), createdArtifactTemplateInfo.getEnv()));
+ if ((resourceInfo.getEnv() == null || resourceInfo.getEnv().isEmpty()) && (createdArtifactTemplateInfo.getEnv() != null
+ && !createdArtifactTemplateInfo.getEnv().isEmpty())) {
+ log.debug("Artifact file with name {} type{} already parsed but with env {}", resourceInfo.getFileName(),
+ resourceInfo.getType(), createdArtifactTemplateInfo.getEnv());
+ return Either.right(componentsUtils
+ .getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_ENV, resourceInfo.getFileName(), resourceInfo.getType(),
+ resourceInfo.getEnv(), createdArtifactTemplateInfo.getEnv()));
}
- if (resourceInfo.getEnv() != null && !resourceInfo.getEnv().isEmpty() && createdArtifactTemplateInfo.getEnv() != null && !createdArtifactTemplateInfo.getEnv().isEmpty()
- && !createdArtifactTemplateInfo.getEnv().equalsIgnoreCase(resourceInfo.getEnv())) {
- log.debug("Artifact file with name {} type{} env {} already parsed but with env {}", resourceInfo.getFileName(), resourceInfo.getType(), resourceInfo.getEnv(), createdArtifactTemplateInfo.getEnv());
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_ENV, resourceInfo.getFileName(), resourceInfo.getType(), resourceInfo.getEnv(), createdArtifactTemplateInfo.getEnv()));
+ if (resourceInfo.getEnv() != null && !resourceInfo.getEnv().isEmpty() && createdArtifactTemplateInfo.getEnv() != null
+ && !createdArtifactTemplateInfo.getEnv().isEmpty() && !createdArtifactTemplateInfo.getEnv()
+ .equalsIgnoreCase(resourceInfo.getEnv())) {
+ log.debug("Artifact file with name {} type{} env {} already parsed but with env {}", resourceInfo.getFileName(),
+ resourceInfo.getType(), resourceInfo.getEnv(), createdArtifactTemplateInfo.getEnv());
+ return Either.right(componentsUtils
+ .getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_ENV, resourceInfo.getFileName(), resourceInfo.getType(),
+ resourceInfo.getEnv(), createdArtifactTemplateInfo.getEnv()));
}
- if ((resourceInfo.getEnv() != null && !resourceInfo.getEnv().isEmpty()) && (createdArtifactTemplateInfo.getEnv() == null || createdArtifactTemplateInfo.getEnv().isEmpty())) {
- log.debug("Artifact file with name {} type{} env {} already parsed but with env {}", resourceInfo.getFileName(), resourceInfo.getType(), resourceInfo.getEnv(), createdArtifactTemplateInfo.getEnv());
- return Either.right(componentsUtils.getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_ENV, resourceInfo.getFileName(), resourceInfo.getType(), resourceInfo.getEnv(), createdArtifactTemplateInfo.getEnv()));
+ if ((resourceInfo.getEnv() != null && !resourceInfo.getEnv().isEmpty()) && (createdArtifactTemplateInfo.getEnv() == null
+ || createdArtifactTemplateInfo.getEnv().isEmpty())) {
+ log.debug("Artifact file with name {} type{} env {} already parsed but with env {}", resourceInfo.getFileName(),
+ resourceInfo.getType(), resourceInfo.getEnv(), createdArtifactTemplateInfo.getEnv());
+ return Either.right(componentsUtils
+ .getResponseFormat(ActionStatus.ARTIFACT_NOT_VALID_ENV, resourceInfo.getFileName(), resourceInfo.getType(),
+ resourceInfo.getEnv(), createdArtifactTemplateInfo.getEnv()));
}
}
List<ArtifactTemplateInfo> relatedArtifacts = createdArtifactTemplateInfo.getRelatedArtifactsInfo();
Either<Boolean, ResponseFormat> status = validateEnv(componentsUtils, relatedArtifacts, resourceInfo);
- if (status.isRight())
+ if (status.isRight()) {
return status;
+ }
}
return Either.left(true);
}
private static Either<List<ArtifactType>, ActionStatus> getDeploymentArtifactTypes(final NodeTypeEnum parentType) {
-
final List<ArtifactConfiguration> deploymentArtifacts;
- final List<ArtifactConfiguration> artifactConfigurationList =
- ConfigurationManager.getConfigurationManager().getConfiguration().getArtifacts();
-
+ final List<ArtifactConfiguration> artifactConfigurationList = ConfigurationManager.getConfigurationManager().getConfiguration()
+ .getArtifacts();
if (parentType == NodeTypeEnum.Service) {
- deploymentArtifacts = artifactConfigurationList.stream()
- .filter(artifactConfiguration ->
- artifactConfiguration.hasSupport(ArtifactGroupTypeEnum.DEPLOYMENT)
- && artifactConfiguration.hasSupport(ComponentType.SERVICE))
- .collect(Collectors.toList());
+ deploymentArtifacts = artifactConfigurationList.stream().filter(
+ artifactConfiguration -> artifactConfiguration.hasSupport(ArtifactGroupTypeEnum.DEPLOYMENT) && artifactConfiguration
+ .hasSupport(ComponentType.SERVICE)).collect(Collectors.toList());
} else {
- deploymentArtifacts = artifactConfigurationList.stream()
- .filter(artifactConfiguration ->
- artifactConfiguration.hasSupport(ArtifactGroupTypeEnum.DEPLOYMENT)
- && artifactConfiguration.hasSupport(ComponentType.RESOURCE))
- .collect(Collectors.toList());
+ deploymentArtifacts = artifactConfigurationList.stream().filter(
+ artifactConfiguration -> artifactConfiguration.hasSupport(ArtifactGroupTypeEnum.DEPLOYMENT) && artifactConfiguration
+ .hasSupport(ComponentType.RESOURCE)).collect(Collectors.toList());
}
final List<ArtifactType> artifactTypes = new ArrayList<>();
if (CollectionUtils.isNotEmpty(deploymentArtifacts)) {
@@ -315,7 +329,6 @@ public class ArtifactTemplateInfo {
});
return Either.left(artifactTypes);
}
-
return Either.right(ActionStatus.GENERAL_ERROR);
}