1 package org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel;
5 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
6 import org.openecomp.sdc.be.model.Resource;
7 import org.openecomp.sdc.be.model.operations.api.IResourceOperation;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
11 import fj.data.Either;
13 public class VFResourcesMigration extends ComponentMigration<Resource> {
15 private static Logger LOGGER = LoggerFactory.getLogger(VFResourcesMigration.class);
17 @javax.annotation.Resource(name = "resource-operation")
18 private IResourceOperation resourceOperation;
20 @javax.annotation.Resource(name = "resource-version-migration")
21 private VersionMigration<Resource> versionMigration;
24 public String description() {
29 Either<List<Resource>, ?> getElementsToMigrate() {
30 return resourceOperation.getVFResources();
34 boolean save(Resource element) {
35 requirementsCapabilitiesMigrationService.overrideInstanceCapabilitiesRequirements(element);
36 return super.save(element);
40 boolean doPostSaveOperation(Resource element) {
41 return element.getComponentInstances() == null ||
42 (requirementsCapabilitiesMigrationService.associateFulfilledRequirements(element, NodeTypeEnum.Resource) &&
43 requirementsCapabilitiesMigrationService.associateFulfilledCapabilities(element, NodeTypeEnum.Resource));
47 boolean doPostMigrateOperation(List<Resource> elements) {
48 LOGGER.info("migrating VFs versions");
49 return versionMigration.buildComponentsVersionChain(elements);
53 void doPreMigrationOperation(List<Resource> elements) {
54 super.doPreMigrationOperation(elements);
55 setMissingTemplateInfo(elements);