test_class.declarator: businessObjectDataDaoHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private BusinessObjectDataDaoHelper businessObjectDataDaoHelper;
test_class.type: BusinessObjectDataDaoHelper
test_class.var_name: businessObjectDataDaoHelper
test_class.declarator: businessObjectDataHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private BusinessObjectDataHelper businessObjectDataHelper;
test_class.type: BusinessObjectDataHelper
test_class.var_name: businessObjectDataHelper
test_class.declarator: configurationHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ConfigurationHelper configurationHelper;
test_class.type: ConfigurationHelper
test_class.var_name: configurationHelper
test_class.declarator: jsonHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private JsonHelper jsonHelper;
test_class.type: JsonHelper
test_class.var_name: jsonHelper
test_class.declarator: s3KeyPrefixHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private S3KeyPrefixHelper s3KeyPrefixHelper;
test_class.type: S3KeyPrefixHelper
test_class.var_name: s3KeyPrefixHelper
test_class.declarator: s3Service
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private S3Service s3Service;
test_class.type: S3Service
test_class.var_name: s3Service
test_class.declarator: storageFileHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StorageFileHelper storageFileHelper;
test_class.type: StorageFileHelper
test_class.var_name: storageFileHelper
test_class.declarator: storageHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StorageHelper storageHelper;
test_class.type: StorageHelper
test_class.var_name: storageHelper
test_class.declarator: storagePolicyDaoHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StoragePolicyDaoHelper storagePolicyDaoHelper;
test_class.type: StoragePolicyDaoHelper
test_class.var_name: storagePolicyDaoHelper
test_class.declarator: storagePolicyHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StoragePolicyHelper storagePolicyHelper;
test_class.type: StoragePolicyHelper
test_class.var_name: storagePolicyHelper
test_class.declarator: storagePolicyProcessorHelperServiceImpl
test_class.modifier: @InjectMocks
      private
test_class.original_string: @InjectMocks
      private StoragePolicyProcessorHelperServiceImpl storagePolicyProcessorHelperServiceImpl;
test_class.type: StoragePolicyProcessorHelperServiceImpl
test_class.var_name: storagePolicyProcessorHelperServiceImpl
test_class.declarator: storageUnitDao
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StorageUnitDao storageUnitDao;
test_class.type: StorageUnitDao
test_class.var_name: storageUnitDao
test_class.declarator: storageUnitDaoHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StorageUnitDaoHelper storageUnitDaoHelper;
test_class.type: StorageUnitDaoHelper
test_class.var_name: storageUnitDaoHelper
test_class.declarator: storageUnitHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StorageUnitHelper storageUnitHelper;
test_class.type: StorageUnitHelper
test_class.var_name: storageUnitHelper
test_class.file: herd-code/herd-service/src/test/java/org/finra/herd/service/impl/StoragePolicyProcessorHelperServiceImplTest.java
test_class.identifier: StoragePolicyProcessorHelperServiceImplTest
test_class.superclass: extends AbstractServiceTest
test_case.body: @Test
      public void testExecuteStoragePolicyTransitionImpl()
      {
          // Create a business object data key.
          BusinessObjectDataKey businessObjectDataKey =
              new BusinessObjectDataKey(BDEF_NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, PARTITION_VALUE,
                  NO_SUBPARTITION_VALUES, DATA_VERSION);
  
          // Create a storage file path.
          String storageFilePath = TEST_S3_KEY_PREFIX + "/" + LOCAL_FILE;
  
          // Create a list of storage files to be passed as an input.
          List<StorageFile> storageFiles = Collections.singletonList(new StorageFile(storageFilePath, FILE_SIZE_1_KB, ROW_COUNT_1000));
  
          // Create a storage policy transition parameters DTO.
          StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto =
              new StoragePolicyTransitionParamsDto(businessObjectDataKey, STORAGE_NAME, S3_ENDPOINT, S3_BUCKET_NAME, TEST_S3_KEY_PREFIX,
                  StorageUnitStatusEntity.ARCHIVING, StorageUnitStatusEntity.ENABLED, storageFiles, S3_OBJECT_TAG_KEY, S3_OBJECT_TAG_VALUE,
                  S3_OBJECT_TAGGER_ROLE_ARN, S3_OBJECT_TAGGER_ROLE_SESSION_NAME);
  
          // Create an S3 file transfer parameters DTO to access the S3 bucket.
          S3FileTransferRequestParamsDto s3FileTransferRequestParamsDto = new S3FileTransferRequestParamsDto();
  
          // Create an S3 file transfer parameters DTO to be used for S3 object tagging operation.
          S3FileTransferRequestParamsDto s3ObjectTaggerParamsDto = new S3FileTransferRequestParamsDto();
          s3ObjectTaggerParamsDto.setAwsAccessKeyId(AWS_ASSUMED_ROLE_ACCESS_KEY);
          s3ObjectTaggerParamsDto.setAwsSecretKey(AWS_ASSUMED_ROLE_SECRET_KEY);
          s3ObjectTaggerParamsDto.setSessionToken(AWS_ASSUMED_ROLE_SESSION_TOKEN);
  
          // Create a list of S3 object summaries selected without zero byte directory markers.
          List<S3ObjectSummary> actualS3FilesWithoutZeroByteDirectoryMarkers = Collections.singletonList(new S3ObjectSummary());
  
          // Create a list of all S3 files matching the S3 key prefix form the S3 bucket.
          List<S3ObjectSummary> actualS3Files = Collections.singletonList(new S3ObjectSummary());
  
          // Create an updated S3 file transfer parameters DTO to access the S3 bucket.
          S3FileTransferRequestParamsDto updatedS3FileTransferRequestParamsDto = new S3FileTransferRequestParamsDto();
          updatedS3FileTransferRequestParamsDto.setS3Endpoint(S3_ENDPOINT);
          updatedS3FileTransferRequestParamsDto.setS3BucketName(S3_BUCKET_NAME);
          updatedS3FileTransferRequestParamsDto.setS3KeyPrefix(TEST_S3_KEY_PREFIX + "/");
  
          // Create an updated S3 file transfer parameters DTO to be used for S3 object tagging operation.
          S3FileTransferRequestParamsDto updatedS3ObjectTaggerParamsDto = new S3FileTransferRequestParamsDto();
          updatedS3ObjectTaggerParamsDto.setAwsAccessKeyId(AWS_ASSUMED_ROLE_ACCESS_KEY);
          updatedS3ObjectTaggerParamsDto.setAwsSecretKey(AWS_ASSUMED_ROLE_SECRET_KEY);
          updatedS3ObjectTaggerParamsDto.setSessionToken(AWS_ASSUMED_ROLE_SESSION_TOKEN);
          updatedS3ObjectTaggerParamsDto.setS3Endpoint(S3_ENDPOINT);
  
          // Mock the external calls.
          when(storageHelper.getS3FileTransferRequestParamsDto()).thenReturn(s3FileTransferRequestParamsDto);
          when(storageHelper.getS3FileTransferRequestParamsDtoByRole(S3_OBJECT_TAGGER_ROLE_ARN, S3_OBJECT_TAGGER_ROLE_SESSION_NAME))
              .thenReturn(s3ObjectTaggerParamsDto);
          when(s3Service.listDirectory(s3FileTransferRequestParamsDto, true)).thenReturn(actualS3FilesWithoutZeroByteDirectoryMarkers);
          when(s3Service.listDirectory(s3FileTransferRequestParamsDto, false)).thenReturn(actualS3Files);
  
          // Call the method under test.
          storagePolicyProcessorHelperServiceImpl.executeStoragePolicyTransitionImpl(storagePolicyTransitionParamsDto);
  
          // Verify the external calls.
          verify(storageHelper).getS3FileTransferRequestParamsDto();
          verify(storageHelper).getS3FileTransferRequestParamsDtoByRole(S3_OBJECT_TAGGER_ROLE_ARN, S3_OBJECT_TAGGER_ROLE_SESSION_NAME);
          verify(s3Service).listDirectory(s3FileTransferRequestParamsDto, true);
          verify(storageFileHelper).validateRegisteredS3Files(storageFiles, actualS3FilesWithoutZeroByteDirectoryMarkers, STORAGE_NAME, businessObjectDataKey);
          verify(s3Service).listDirectory(s3FileTransferRequestParamsDto, true);
          verify(s3Service).listDirectory(s3FileTransferRequestParamsDto, false);
          verify(s3Service)
              .tagObjects(updatedS3FileTransferRequestParamsDto, updatedS3ObjectTaggerParamsDto, actualS3Files, new Tag(S3_OBJECT_TAG_KEY, S3_OBJECT_TAG_VALUE));
          verifyNoMoreInteractionsHelper();
  
          // Validate the results.
          assertEquals(new StoragePolicyTransitionParamsDto(businessObjectDataKey, STORAGE_NAME, S3_ENDPOINT, S3_BUCKET_NAME, TEST_S3_KEY_PREFIX,
              StorageUnitStatusEntity.ARCHIVING, StorageUnitStatusEntity.ENABLED, storageFiles, S3_OBJECT_TAG_KEY, S3_OBJECT_TAG_VALUE, S3_OBJECT_TAGGER_ROLE_ARN,
              S3_OBJECT_TAGGER_ROLE_SESSION_NAME), storagePolicyTransitionParamsDto);
      }
test_case.class_method_signature: StoragePolicyProcessorHelperServiceImplTest.testExecuteStoragePolicyTransitionImpl()
test_case.full_signature: @Test public void testExecuteStoragePolicyTransitionImpl()
test_case.identifier: testExecuteStoragePolicyTransitionImpl
test_case.invocations: singletonList setAwsAccessKeyId setAwsSecretKey setSessionToken singletonList singletonList setS3Endpoint setS3BucketName setS3KeyPrefix setAwsAccessKeyId setAwsSecretKey setSessionToken setS3Endpoint thenReturn when getS3FileTransferRequestParamsDto thenReturn when getS3FileTransferRequestParamsDtoByRole thenReturn when listDirectory thenReturn when listDirectory executeStoragePolicyTransitionImpl getS3FileTransferRequestParamsDto verify getS3FileTransferRequestParamsDtoByRole verify listDirectory verify validateRegisteredS3Files verify listDirectory verify listDirectory verify tagObjects verify verifyNoMoreInteractionsHelper assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testExecuteStoragePolicyTransitionImpl()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(StoragePolicyProcessorHelperServiceImpl.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(StoragePolicyProcessorHelperServiceImpl.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: businessObjectDataDaoHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private BusinessObjectDataDaoHelper businessObjectDataDaoHelper;
focal_class.type: BusinessObjectDataDaoHelper
focal_class.var_name: businessObjectDataDaoHelper
focal_class.declarator: businessObjectDataHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private BusinessObjectDataHelper businessObjectDataHelper;
focal_class.type: BusinessObjectDataHelper
focal_class.var_name: businessObjectDataHelper
focal_class.declarator: configurationHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private ConfigurationHelper configurationHelper;
focal_class.type: ConfigurationHelper
focal_class.var_name: configurationHelper
focal_class.declarator: jsonHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private JsonHelper jsonHelper;
focal_class.type: JsonHelper
focal_class.var_name: jsonHelper
focal_class.declarator: s3KeyPrefixHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private S3KeyPrefixHelper s3KeyPrefixHelper;
focal_class.type: S3KeyPrefixHelper
focal_class.var_name: s3KeyPrefixHelper
focal_class.declarator: s3Service
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private S3Service s3Service;
focal_class.type: S3Service
focal_class.var_name: s3Service
focal_class.declarator: storageFileHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StorageFileHelper storageFileHelper;
focal_class.type: StorageFileHelper
focal_class.var_name: storageFileHelper
focal_class.declarator: storageHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StorageHelper storageHelper;
focal_class.type: StorageHelper
focal_class.var_name: storageHelper
focal_class.declarator: storagePolicyDaoHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StoragePolicyDaoHelper storagePolicyDaoHelper;
focal_class.type: StoragePolicyDaoHelper
focal_class.var_name: storagePolicyDaoHelper
focal_class.declarator: storagePolicyHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StoragePolicyHelper storagePolicyHelper;
focal_class.type: StoragePolicyHelper
focal_class.var_name: storagePolicyHelper
focal_class.declarator: storageUnitDao
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StorageUnitDao storageUnitDao;
focal_class.type: StorageUnitDao
focal_class.var_name: storageUnitDao
focal_class.declarator: storageUnitDaoHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StorageUnitDaoHelper storageUnitDaoHelper;
focal_class.type: StorageUnitDaoHelper
focal_class.var_name: storageUnitDaoHelper
focal_class.declarator: storageUnitHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StorageUnitHelper storageUnitHelper;
focal_class.type: StorageUnitHelper
focal_class.var_name: storageUnitHelper
focal_class.file: herd-code/herd-service/src/main/java/org/finra/herd/service/impl/StoragePolicyProcessorHelperServiceImpl.java
focal_class.identifier: StoragePolicyProcessorHelperServiceImpl
focal_class.interfaces: implements StoragePolicyProcessorHelperService
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.initiateStoragePolicyTransition(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto,
          StoragePolicySelection storagePolicySelection)
focal_class.full_signature: @PublishNotificationMessages @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public void initiateStoragePolicyTransition(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto,
          StoragePolicySelection storagePolicySelection)
focal_class.identifier: initiateStoragePolicyTransition
focal_class.modifiers: @PublishNotificationMessages @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public
focal_class.parameters: (StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto,
          StoragePolicySelection storagePolicySelection)
focal_class.return: void
focal_class.signature: void initiateStoragePolicyTransition(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto,
          StoragePolicySelection storagePolicySelection)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.initiateStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto,
          StoragePolicySelection storagePolicySelection)
focal_class.full_signature: protected void initiateStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto,
          StoragePolicySelection storagePolicySelection)
focal_class.identifier: initiateStoragePolicyTransitionImpl
focal_class.modifiers: protected
focal_class.parameters: (StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto,
          StoragePolicySelection storagePolicySelection)
focal_class.return: void
focal_class.signature: void initiateStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto,
          StoragePolicySelection storagePolicySelection)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.validateStoragePolicySelection(StoragePolicySelection storagePolicySelection)
focal_class.full_signature: private void validateStoragePolicySelection(StoragePolicySelection storagePolicySelection)
focal_class.identifier: validateStoragePolicySelection
focal_class.modifiers: private
focal_class.parameters: (StoragePolicySelection storagePolicySelection)
focal_class.return: void
focal_class.signature: void validateStoragePolicySelection(StoragePolicySelection storagePolicySelection)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.validateBusinessObjectData(BusinessObjectDataEntity businessObjectDataEntity, BusinessObjectDataKey businessObjectDataKey)
focal_class.full_signature: private void validateBusinessObjectData(BusinessObjectDataEntity businessObjectDataEntity, BusinessObjectDataKey businessObjectDataKey)
focal_class.identifier: validateBusinessObjectData
focal_class.modifiers: private
focal_class.parameters: (BusinessObjectDataEntity businessObjectDataEntity, BusinessObjectDataKey businessObjectDataKey)
focal_class.return: void
focal_class.signature: void validateBusinessObjectData(BusinessObjectDataEntity businessObjectDataEntity, BusinessObjectDataKey businessObjectDataKey)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.validateStorage(StorageEntity storageEntity, StoragePolicyKey storagePolicyKey, Integer storagePolicyVersion)
focal_class.full_signature: private void validateStorage(StorageEntity storageEntity, StoragePolicyKey storagePolicyKey, Integer storagePolicyVersion)
focal_class.identifier: validateStorage
focal_class.modifiers: private
focal_class.parameters: (StorageEntity storageEntity, StoragePolicyKey storagePolicyKey, Integer storagePolicyVersion)
focal_class.return: void
focal_class.signature: void validateStorage(StorageEntity storageEntity, StoragePolicyKey storagePolicyKey, Integer storagePolicyVersion)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.validateStorageUnit(StorageUnitEntity storageUnitEntity, String storageName, BusinessObjectDataKey businessObjectDataKey)
focal_class.full_signature: private void validateStorageUnit(StorageUnitEntity storageUnitEntity, String storageName, BusinessObjectDataKey businessObjectDataKey)
focal_class.identifier: validateStorageUnit
focal_class.modifiers: private
focal_class.parameters: (StorageUnitEntity storageUnitEntity, String storageName, BusinessObjectDataKey businessObjectDataKey)
focal_class.return: void
focal_class.signature: void validateStorageUnit(StorageUnitEntity storageUnitEntity, String storageName, BusinessObjectDataKey businessObjectDataKey)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.executeStoragePolicyTransition(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.full_signature: @Override @Transactional(propagation = Propagation.NOT_SUPPORTED) public void executeStoragePolicyTransition(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.identifier: executeStoragePolicyTransition
focal_class.modifiers: @Override @Transactional(propagation = Propagation.NOT_SUPPORTED) public
focal_class.parameters: (StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.return: void
focal_class.signature: void executeStoragePolicyTransition(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.executeStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.full_signature: protected void executeStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.identifier: executeStoragePolicyTransitionImpl
focal_class.modifiers: protected
focal_class.parameters: (StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.return: void
focal_class.signature: void executeStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.completeStoragePolicyTransition(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.full_signature: @PublishNotificationMessages @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public void completeStoragePolicyTransition(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.identifier: completeStoragePolicyTransition
focal_class.modifiers: @PublishNotificationMessages @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public
focal_class.parameters: (StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.return: void
focal_class.signature: void completeStoragePolicyTransition(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.completeStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.full_signature: protected void completeStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.identifier: completeStoragePolicyTransitionImpl
focal_class.modifiers: protected
focal_class.parameters: (StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.return: void
focal_class.signature: void completeStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.updateStoragePolicyTransitionFailedAttemptsIgnoreException(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.full_signature: @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public void updateStoragePolicyTransitionFailedAttemptsIgnoreException(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.identifier: updateStoragePolicyTransitionFailedAttemptsIgnoreException
focal_class.modifiers: @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public
focal_class.parameters: (StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.return: void
focal_class.signature: void updateStoragePolicyTransitionFailedAttemptsIgnoreException(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.class_method_signature: StoragePolicyProcessorHelperServiceImpl.updateStoragePolicyTransitionFailedAttemptsIgnoreExceptionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.full_signature: protected void updateStoragePolicyTransitionFailedAttemptsIgnoreExceptionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.identifier: updateStoragePolicyTransitionFailedAttemptsIgnoreExceptionImpl
focal_class.modifiers: protected
focal_class.parameters: (StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_class.return: void
focal_class.signature: void updateStoragePolicyTransitionFailedAttemptsIgnoreExceptionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_method.body: protected void executeStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
      {
          // Create an S3 file transfer parameters DTO to access the S3 bucket.
          // Since the S3 key prefix represents a directory, we add a trailing '/' character to it.
          S3FileTransferRequestParamsDto s3FileTransferRequestParamsDto = storageHelper.getS3FileTransferRequestParamsDto();
          s3FileTransferRequestParamsDto.setS3Endpoint(storagePolicyTransitionParamsDto.getS3Endpoint());
          s3FileTransferRequestParamsDto.setS3BucketName(storagePolicyTransitionParamsDto.getS3BucketName());
          s3FileTransferRequestParamsDto.setS3KeyPrefix(StringUtils.appendIfMissing(storagePolicyTransitionParamsDto.getS3KeyPrefix(), "/"));
  
          // Create an S3 file transfer parameters DTO to be used for S3 object tagging operation.
          S3FileTransferRequestParamsDto s3ObjectTaggerParamsDto = storageHelper
              .getS3FileTransferRequestParamsDtoByRole(storagePolicyTransitionParamsDto.getS3ObjectTaggerRoleArn(),
                  storagePolicyTransitionParamsDto.getS3ObjectTaggerRoleSessionName());
          s3ObjectTaggerParamsDto.setS3Endpoint(storagePolicyTransitionParamsDto.getS3Endpoint());
  
          // Get actual S3 files by selecting all S3 keys matching the S3 key prefix form the S3 bucket.
          // When listing S3 files, we ignore 0 byte objects that represent S3 directories.
          List<S3ObjectSummary> actualS3FilesWithoutZeroByteDirectoryMarkers = s3Service.listDirectory(s3FileTransferRequestParamsDto, true);
  
          // Validate existence of the S3 files.
          storageFileHelper.validateRegisteredS3Files(storagePolicyTransitionParamsDto.getStorageFiles(), actualS3FilesWithoutZeroByteDirectoryMarkers,
              storagePolicyTransitionParamsDto.getStorageName(), storagePolicyTransitionParamsDto.getBusinessObjectDataKey());
  
          // Get actual S3 files by selecting all S3 keys matching the S3 key prefix form the S3 bucket.
          // This time, we do not ignore 0 byte objects that represent S3 directories.
          List<S3ObjectSummary> actualS3Files = s3Service.listDirectory(s3FileTransferRequestParamsDto, false);
  
          // Tag the S3 objects to initiate the archiving.
          s3Service.tagObjects(s3FileTransferRequestParamsDto, s3ObjectTaggerParamsDto, actualS3Files,
              new Tag(storagePolicyTransitionParamsDto.getS3ObjectTagKey(), storagePolicyTransitionParamsDto.getS3ObjectTagValue()));
      }
focal_method.class_method_signature: StoragePolicyProcessorHelperServiceImpl.executeStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_method.full_signature: protected void executeStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_method.identifier: executeStoragePolicyTransitionImpl
focal_method.invocations: getS3FileTransferRequestParamsDto setS3Endpoint getS3Endpoint setS3BucketName getS3BucketName setS3KeyPrefix appendIfMissing getS3KeyPrefix getS3FileTransferRequestParamsDtoByRole getS3ObjectTaggerRoleArn getS3ObjectTaggerRoleSessionName setS3Endpoint getS3Endpoint listDirectory validateRegisteredS3Files getStorageFiles getStorageName getBusinessObjectDataKey listDirectory tagObjects getS3ObjectTagKey getS3ObjectTagValue
focal_method.modifiers: protected
focal_method.parameters: (StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)
focal_method.return: void
focal_method.signature: void executeStoragePolicyTransitionImpl(StoragePolicyTransitionParamsDto storagePolicyTransitionParamsDto)