f745b88d0278512f6650ed284e6e1ac54e6c5248
[sdc.git] /
1 package org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel;
2
3 import fj.data.Either;
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;
9
10 import javax.annotation.Resource;
11 import java.util.List;
12
13 public class ServiceCategoriesMigration extends JsonModelMigration<CategoryDefinition> {
14
15     @Resource(name = "element-operation")
16     private IElementOperation elementOperation;
17
18     @Resource(name = "element-operation-migration")
19     private IElementOperation elementOperationMigration;
20
21
22     @Override
23     public String description() {
24         return "migrate services categories";
25     }
26
27     @Override
28     Either<List<CategoryDefinition>, ?> getElementsToMigrate() {
29         return elementOperation.getAllCategories(NodeTypeEnum.ServiceNewCategory, false).left().map(CategoriesUtils::filterOldCategories);
30     }
31
32     @Override
33     Either<CategoryDefinition, ?> getElementFromNewGraph(CategoryDefinition node) {
34         return elementOperationMigration.getCategory(NodeTypeEnum.ServiceNewCategory, node.getUniqueId());
35     }
36
37     @Override
38     Either<CategoryDefinition, ActionStatus> save(CategoryDefinition graphNode) {
39         return elementOperationMigration.createCategory(graphNode, NodeTypeEnum.ServiceNewCategory);
40     }
41
42     @Override
43     ActionStatus getNotFoundErrorStatus() {
44         return ActionStatus.COMPONENT_CATEGORY_NOT_FOUND;
45     }
46 }