1 package org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel;
5 import org.openecomp.sdc.asdctool.impl.migration.v1707.MigrationUtils;
6 import org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel.relations.FulfilledCapabilitiesMigrationService;
7 import org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel.relations.FulfilledRequirementsMigrationService;
8 import org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel.relations.RequirementsCapabilitiesMigrationService;
9 import org.openecomp.sdc.be.dao.jsongraph.types.JsonParseFlagEnum;
10 import org.openecomp.sdc.be.model.Component;
11 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
12 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
13 import org.slf4j.Logger;
14 import org.slf4j.LoggerFactory;
16 import javax.annotation.Resource;
18 import static org.openecomp.sdc.asdctool.impl.migration.v1707.MigrationUtils.handleError;
20 public abstract class ComponentMigration <T extends Component> extends JsonModelMigration<T> {
22 private static Logger LOGGER = LoggerFactory.getLogger(ComponentMigration.class);
24 @Resource(name = "tosca-operation-facade")
25 private ToscaOperationFacade toscaOperations;
27 @Resource(name = "req-cap-mig-service")
28 RequirementsCapabilitiesMigrationService<T> requirementsCapabilitiesMigrationService;
31 Either<T, StorageOperationStatus> save(T element) {
32 LOGGER.debug(String.format("creating component %s in new graph", element.getName()));
33 return toscaOperations.createToscaComponent(element).right().map(err -> handleError(err, String.format("failed to create component %s.", element.getName())));
38 Either<T, StorageOperationStatus> getElementFromNewGraph(T element) {
39 LOGGER.debug(String.format("checking if component %s already exists on new graph", element.getName()));
40 return toscaOperations.getToscaElement(element.getUniqueId(), JsonParseFlagEnum.ParseMetadata);
44 public StorageOperationStatus getNotFoundErrorStatus() {
45 return StorageOperationStatus.NOT_FOUND;