1 package org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel;
 
   4 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
 
   5 import org.openecomp.sdc.be.model.Resource;
 
   6 import org.openecomp.sdc.be.model.operations.api.IResourceOperation;
 
   7 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
 
   8 import org.slf4j.Logger;
 
   9 import org.slf4j.LoggerFactory;
 
  11 import java.util.List;
 
  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);