1 package org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel;
4 import org.openecomp.sdc.be.dao.api.ActionStatus;
5 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
6 import org.openecomp.sdc.be.model.category.CategoryDefinition;
7 import org.openecomp.sdc.be.model.operations.api.IElementOperation;
8 import org.openecomp.sdc.be.model.operations.impl.UniqueIdBuilder;
10 import javax.annotation.Resource;
11 import java.util.List;
13 public class ServiceCategoriesMigration extends JsonModelMigration<CategoryDefinition> {
15 @Resource(name = "element-operation")
16 private IElementOperation elementOperation;
18 @Resource(name = "element-operation-migration")
19 private IElementOperation elementOperationMigration;
23 public String description() {
24 return "migrate services categories";
28 Either<List<CategoryDefinition>, ?> getElementsToMigrate() {
29 return elementOperation.getAllCategories(NodeTypeEnum.ServiceNewCategory, false).left().map(CategoriesUtils::filterOldCategories);
33 Either<CategoryDefinition, ?> getElementFromNewGraph(CategoryDefinition node) {
34 return elementOperationMigration.getCategory(NodeTypeEnum.ServiceNewCategory, node.getUniqueId());
38 Either<CategoryDefinition, ActionStatus> save(CategoryDefinition graphNode) {
39 return elementOperationMigration.createCategory(graphNode, NodeTypeEnum.ServiceNewCategory);
43 ActionStatus getNotFoundErrorStatus() {
44 return ActionStatus.COMPONENT_CATEGORY_NOT_FOUND;