From 0d38c9a8ed4701b860901f67049920e9b1ca72f2 Mon Sep 17 00:00:00 2001 From: MichaelMorris Date: Tue, 5 Jan 2021 13:44:34 +0000 Subject: Enable updating of categories Signed-off-by: MichaelMorris Issue-ID: SDC-3432 Change-Id: Iea0264db40f9d13462182cf0a37ffdd0278f6a1f --- .../components/impl/CategoriesImportManager.java | 36 ++++++++-------------- 1 file changed, 13 insertions(+), 23 deletions(-) (limited to 'catalog-be/src/main/java') diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CategoriesImportManager.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CategoriesImportManager.java index d49284eab0..84b23fe3c7 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CategoriesImportManager.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CategoriesImportManager.java @@ -154,19 +154,14 @@ public class CategoriesImportManager { private Either createSubCategorieDeo(Map.Entry> entry, CategoryDefinition newcategory, SubCategoryDefinition subcategory, NodeTypeEnum nodeTypeSubCategory) { log.debug("createSubCategorieDeo: creating subcategory {}", subcategory); Either createdSubCategory = elementOperation.createSubCategory(newcategory.getUniqueId(), subcategory, nodeTypeSubCategory); + if (createdSubCategory.isRight() && ActionStatus.COMPONENT_SUB_CATEGORY_EXISTS_FOR_CATEGORY == createdSubCategory.right().value()) { + log.debug(" create subcategory for {} category {} subcategory {} already exists, updating", entry.getKey(), newcategory.getName(), subcategory.getName()); + String subCategoryId = UniqueIdBuilder.buildSubCategoryUid(newcategory.getUniqueId(), subcategory.getNormalizedName()); + createdSubCategory = elementOperation.updateSubCategory(subCategoryId, subcategory, nodeTypeSubCategory); + } if (createdSubCategory.isRight()) { - if (ActionStatus.COMPONENT_SUB_CATEGORY_EXISTS_FOR_CATEGORY == createdSubCategory.right().value()) { - log.debug(" create subcategory for {} category {} subcategory {} already exists retrieving", entry.getKey(), newcategory.getName(), subcategory.getName()); - String subCategoryId = UniqueIdBuilder.buildSubCategoryUid(newcategory.getUniqueId(), subcategory.getNormalizedName()); - createdSubCategory = elementOperation.getSubCategory(nodeTypeSubCategory, subCategoryId); - if (createdSubCategory.isRight()) { - log.debug("failed to get sub category that exists subCategoryId: {} type: {}", subCategoryId, nodeTypeSubCategory); - return Either.right(componentsUtils.getResponseFormat(createdSubCategory.right().value())); - } - } else { - log.debug("Failed to create subcategory for {} category: {} subcategory: {} error {}", entry.getKey(), newcategory.getName(), subcategory.getName(), createdSubCategory.right().value()); - return Either.right(componentsUtils.getResponseFormat(createdSubCategory.right().value())); - } + log.debug("Failed to create subcategory for {} category: {} subcategory: {} error {}", entry.getKey(), newcategory.getName(), subcategory.getName(), createdSubCategory.right().value()); + return Either.right(componentsUtils.getResponseFormat(createdSubCategory.right().value())); } else { log.debug("createSubCategorieDeo: create subcategory was successful {}", createdSubCategory.left().value()); } @@ -176,19 +171,14 @@ public class CategoriesImportManager { private Either createCategorieDeo(Map.Entry> entry, CategoryDefinition category, NodeTypeEnum nodeTypeCategory) { log.debug("createCategorieDeo: creating category {}", category); Either createdCategory = elementOperation.createCategory(category, nodeTypeCategory); + if (createdCategory.isRight() && ActionStatus.COMPONENT_CATEGORY_ALREADY_EXISTS == createdCategory.right().value()) { + log.debug("createCategorieDeo: already exists, updating {}", category); + createdCategory = elementOperation.updateCategory(category, nodeTypeCategory); + } + if (createdCategory.isRight()) { log.debug("Failed to create category for {} {} error {}", entry.getKey(), category.getName(), createdCategory.right().value()); - if (ActionStatus.COMPONENT_CATEGORY_ALREADY_EXISTS != createdCategory.right().value()) { - return Either.right(componentsUtils.getResponseFormat(createdCategory.right().value())); - } else { - log.debug("createCategorieDeo: category exists {} retriving.", category); - String categoryId = UniqueIdBuilder.buildCategoryUid(category.getNormalizedName(), nodeTypeCategory); - createdCategory = elementOperation.getCategory(nodeTypeCategory, categoryId); - if (createdCategory.isRight()) { - log.debug("failed to get category that exists categoryId: {} type: {}", categoryId, nodeTypeCategory); - return Either.right(componentsUtils.getResponseFormat(createdCategory.right().value())); - } - } + return Either.right(componentsUtils.getResponseFormat(createdCategory.right().value())); } else { log.debug("createCategorieDeo: create category was successful {}", createdCategory.left().value()); } -- cgit 1.2.3-korg