/** * Returns all relational tables registered in the system. * * @return the list of relational table registrations */ List<BusinessObjectDataStorageUnitKey> getRelationalTableRegistrationsForSchemaUpdateImpl() { // Create a result list. List<BusinessObjectDataStorageUnitKey> storageUnitKeys = new ArrayList<>(); // Get all latest version storage units registered in the system that belong to storage // of the RELATIONAL storage platform type and business object format of the RELATIONAL_TABLE file type. List<StorageUnitEntity> storageUnitEntities = storageUnitDao .getLatestVersionStorageUnitsByStoragePlatformAndFileType(StoragePlatformEntity.RELATIONAL, FileTypeEntity.RELATIONAL_TABLE_FILE_TYPE); // Populate the result list per selected storage unit entities. for (StorageUnitEntity storageUnitEntity : storageUnitEntities) { storageUnitKeys.add(storageUnitHelper.createStorageUnitKeyFromEntity(storageUnitEntity)); } return storageUnitKeys; }
@Bean public StorageUnitHelper storageUnitHelper() { return new StorageUnitHelper(); }
@Test public void testGetBusinessObjectDataKey() { // Get a business object data key. BusinessObjectDataKey result = storageUnitHelper.getBusinessObjectDataKey( new BusinessObjectDataStorageUnitKey(BDEF_NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, PARTITION_VALUE, SUBPARTITION_VALUES, DATA_VERSION, STORAGE_NAME)); // Validate the result object. assertEquals( new BusinessObjectDataKey(BDEF_NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, PARTITION_VALUE, SUBPARTITION_VALUES, DATA_VERSION), result); }
when(storageUnitHelper.getBusinessObjectDataKey(businessObjectDataStorageUnitKey)).thenReturn(businessObjectDataKey); when(businessObjectDataDaoHelper.getBusinessObjectDataEntity(businessObjectDataKey)).thenReturn(businessObjectDataEntity); when(storageDaoHelper.getStorageEntity(STORAGE_NAME)).thenReturn(storageEntity); .thenReturn(storageUnitEntity); when(businessObjectDataHelper.createBusinessObjectDataKeyFromEntity(businessObjectDataEntity)).thenReturn(businessObjectDataKey); when(storageUnitHelper.createBusinessObjectDataStorageUnitKey(businessObjectDataKey, STORAGE_NAME)).thenReturn(businessObjectDataStorageUnitKey); when(storageFileHelper.createStorageFilesFromEntities(storageFileEntities)).thenReturn(storageFiles); verify(storageUnitHelper).validateBusinessObjectDataStorageUnitKey(businessObjectDataStorageUnitKey); verify(storageFileHelper).validateCreateRequestStorageFiles(storageFiles); verify(storageUnitHelper).getBusinessObjectDataKey(businessObjectDataStorageUnitKey); verify(businessObjectDataDaoHelper).getBusinessObjectDataEntity(businessObjectDataKey); verify(storageDaoHelper).getStorageEntity(STORAGE_NAME); .createStorageUnitEntity(businessObjectDataEntity, storageEntity, storageDirectory, storageFiles, NO_DISCOVER_STORAGE_FILES); verify(businessObjectDataHelper).createBusinessObjectDataKeyFromEntity(businessObjectDataEntity); verify(storageUnitHelper).createBusinessObjectDataStorageUnitKey(businessObjectDataKey, STORAGE_NAME); verify(storageFileHelper).createStorageFilesFromEntities(storageFileEntities); verify(storageUnitDao).saveAndRefresh(storageUnitEntity);
when(storageUnitHelper.createBusinessObjectDataStorageUnitKey(businessObjectDataKey, STORAGE_NAME)).thenReturn(businessObjectDataStorageUnitKey); verify(storageUnitHelper).validateBusinessObjectDataStorageUnitKey(businessObjectDataStorageUnitKey); verify(storageUnitDaoHelper).getStorageUnitEntityByKey(businessObjectDataStorageUnitKey); verify(storageUnitStatusDaoHelper).getStorageUnitStatusEntity(STORAGE_UNIT_STATUS_2); verify(storageUnitDaoHelper).updateStorageUnitStatus(storageUnitEntity, storageUnitStatusEntity, STORAGE_UNIT_STATUS_2); verify(businessObjectDataHelper).createBusinessObjectDataKeyFromEntity(storageUnitEntity.getBusinessObjectData()); verify(storageUnitHelper).createBusinessObjectDataStorageUnitKey(businessObjectDataKey, STORAGE_NAME); verifyNoMoreInteractionsHelper();
.createBusinessObjectDataStorageUnitKey(storagePolicyTransitionParamsDto.getBusinessObjectDataKey(), storagePolicyTransitionParamsDto.getStorageName());
storageUnitHelper.validateBusinessObjectDataStorageUnitKey(request.getBusinessObjectDataStorageUnitKey());
@Test public void testGetStorageUnitIds() { // Create a storage unit entity. StorageUnitEntity storageUnitEntity = new StorageUnitEntity(); storageUnitEntity.setId(INTEGER_VALUE); // Get a list of storage unit ids. List<Integer> result = storageUnitHelper.getStorageUnitIds(Arrays.asList(storageUnitEntity)); // Validate the returned object. assertEquals(Arrays.asList(INTEGER_VALUE), result); // Get a list of storage unit ids when the list of entities is empty. result = storageUnitHelper.getStorageUnitIds(new ArrayList<>()); // Validate the returned object. assertNotNull(result); assertEquals(0, result.size()); }
@Test public void testCreateStorageUnitsFromEntities() { // Create a business object data storage unit key. BusinessObjectDataStorageUnitKey businessObjectDataStorageUnitKey = new BusinessObjectDataStorageUnitKey(BDEF_NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, PARTITION_VALUE, SUBPARTITION_VALUES, DATA_VERSION, STORAGE_NAME); Timestamp restoredExpirationOn = new Timestamp(new Date().getTime()); // Create a storage unit entity. StorageUnitEntity storageUnitEntity = storageUnitDaoTestHelper.createStorageUnitEntity(businessObjectDataStorageUnitKey, STORAGE_UNIT_STATUS); storageUnitEntity.setDirectoryPath(STORAGE_DIRECTORY_PATH); storageUnitEntity.setStoragePolicyTransitionFailedAttempts(STORAGE_POLICY_TRANSITION_FAILED_ATTEMPTS); storageUnitEntity.setRestoreExpirationOn(restoredExpirationOn); // Call the method under test. List<StorageUnit> result = storageUnitHelper.createStorageUnitsFromEntities(Arrays.asList(storageUnitEntity), NO_INCLUDE_STORAGE_UNIT_STATUS_HISTORY); // Verify the external calls. verifyNoMoreInteractionsHelper(); // Validate the results. assertEquals(Arrays.asList( new StorageUnit(new Storage(STORAGE_NAME, StoragePlatformEntity.S3, null), new StorageDirectory(STORAGE_DIRECTORY_PATH), null, STORAGE_UNIT_STATUS, NO_STORAGE_UNIT_STATUS_HISTORY, STORAGE_POLICY_TRANSITION_FAILED_ATTEMPTS, HerdDateUtils.getXMLGregorianCalendarValue(restoredExpirationOn))), result); }
/** * Updates status of a business object data storage unit. * * @param businessObjectDataStorageUnitKey the business object data storage unit key * @param request the business object data status update request * * @return the business object data storage unit status update response */ private BusinessObjectDataStorageUnitStatusUpdateResponse updateBusinessObjectDataStorageUnitStatusHelper( BusinessObjectDataStorageUnitKey businessObjectDataStorageUnitKey, BusinessObjectDataStorageUnitStatusUpdateRequest request) { // Update status of the business object data storage unit. BusinessObjectDataStorageUnitStatusUpdateResponse response = businessObjectDataStorageUnitStatusService.updateBusinessObjectDataStorageUnitStatus(businessObjectDataStorageUnitKey, request); // Create storage unit notification. notificationEventService.processStorageUnitNotificationEventAsync(NotificationEventTypeEntity.EventTypesStorageUnit.STRGE_UNIT_STTS_CHG, storageUnitHelper.getBusinessObjectDataKey(response.getBusinessObjectDataStorageUnitKey()), response.getBusinessObjectDataStorageUnitKey().getStorageName(), response.getStatus(), response.getPreviousStatus()); return response; } }
storageUnitHelper.validateBusinessObjectDataStorageUnitKey(businessObjectDataStorageUnitKey); storageUnitHelper.createBusinessObjectDataStorageUnitKey(businessObjectDataKey, storageUnitEntity.getStorage().getName())); response.setStatus(storageUnitEntity.getStatus().getCode()); response.setPreviousStatus(oldStorageUnitStatus);
.createBusinessObjectDataStorageUnitKey(storagePolicyTransitionParamsDto.getBusinessObjectDataKey(), storagePolicyTransitionParamsDto.getStorageName());
storageUnitHelper.validateBusinessObjectDataStorageUnitKey(request.getBusinessObjectDataStorageUnitKey());
storageFileDao.getStorageFilePathsByStorageUnitIds(storageUnitHelper.getStorageUnitIds(storageUnitEntities));
.setStorageUnits(storageUnitHelper.createStorageUnitsFromEntities(businessObjectDataEntity.getStorageUnits(), includeStorageUnitStatusHistory));
/** * Updates status of a business object data storage unit. * * @param businessObjectDataStorageUnitKey the business object data storage unit key * @param request the business object data status update request * * @return the business object data storage unit status update response */ private BusinessObjectDataStorageUnitStatusUpdateResponse updateBusinessObjectDataStorageUnitStatusHelper( BusinessObjectDataStorageUnitKey businessObjectDataStorageUnitKey, BusinessObjectDataStorageUnitStatusUpdateRequest request) { // Update status of the business object data storage unit. BusinessObjectDataStorageUnitStatusUpdateResponse response = businessObjectDataStorageUnitStatusService.updateBusinessObjectDataStorageUnitStatus(businessObjectDataStorageUnitKey, request); // Create storage unit notification. notificationEventService.processStorageUnitNotificationEventAsync(NotificationEventTypeEntity.EventTypesStorageUnit.STRGE_UNIT_STTS_CHG, storageUnitHelper.getBusinessObjectDataKey(response.getBusinessObjectDataStorageUnitKey()), response.getBusinessObjectDataStorageUnitKey().getStorageName(), response.getStatus(), response.getPreviousStatus()); return response; } }
/** * Retrieves a list of keys for restored S3 storage units that are ready to be expired. * * @param maxResult the maximum number of results to retrieve * * @return the list of storage unit keys */ protected List<BusinessObjectDataStorageUnitKey> getS3StorageUnitsToExpireImpl(int maxResult) { // Retrieves a list of storage units that belong to S3 storage, have RESTORED status, and ready to be expired. List<StorageUnitEntity> storageUnitEntities = storageUnitDao.getS3StorageUnitsToExpire(maxResult); // Build a list of storage unit keys. List<BusinessObjectDataStorageUnitKey> storageUnitKeys = new ArrayList<>(); for (StorageUnitEntity storageUnitEntity : storageUnitEntities) { storageUnitKeys.add(storageUnitHelper.createStorageUnitKeyFromEntity(storageUnitEntity)); } return storageUnitKeys; } }
storageUnitHelper.validateBusinessObjectDataStorageUnitKey(businessObjectDataStorageUnitKey); storageUnitHelper.createBusinessObjectDataStorageUnitKey(businessObjectDataKey, storageUnitEntity.getStorage().getName())); response.setStatus(storageUnitEntity.getStatus().getCode()); response.setPreviousStatus(oldStorageUnitStatus);
@Test public void testCreateBusinessObjectDataStorageUnitKey() { // Get a business object data storage unit key. BusinessObjectDataStorageUnitKey result = storageUnitHelper.createBusinessObjectDataStorageUnitKey( new BusinessObjectDataKey(BDEF_NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, PARTITION_VALUE, SUBPARTITION_VALUES, DATA_VERSION), STORAGE_NAME); // Validate the result object. assertEquals(new BusinessObjectDataStorageUnitKey(BDEF_NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, PARTITION_VALUE, SUBPARTITION_VALUES, DATA_VERSION, STORAGE_NAME), result); }
@Test public void testValidateBusinessObjectDataStorageUnitKey() { // Create a business object data storage unit key. BusinessObjectDataStorageUnitKey businessObjectDataStorageUnitKey = new BusinessObjectDataStorageUnitKey(BDEF_NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, PARTITION_VALUE, SUBPARTITION_VALUES, DATA_VERSION, STORAGE_NAME); // Mock the external calls. when(alternateKeyHelper.validateStringParameter("namespace", BDEF_NAMESPACE)).thenReturn(BDEF_NAMESPACE); when(alternateKeyHelper.validateStringParameter("business object definition name", BDEF_NAME)).thenReturn(BDEF_NAME); when(alternateKeyHelper.validateStringParameter("business object format usage", FORMAT_USAGE_CODE)).thenReturn(FORMAT_USAGE_CODE); when(alternateKeyHelper.validateStringParameter("business object format file type", FORMAT_FILE_TYPE_CODE)).thenReturn(FORMAT_FILE_TYPE_CODE); when(alternateKeyHelper.validateStringParameter("partition value", PARTITION_VALUE)).thenReturn(PARTITION_VALUE); when(alternateKeyHelper.validateStringParameter("storage name", STORAGE_NAME)).thenReturn(STORAGE_NAME); // Call the method under test. storageUnitHelper.validateBusinessObjectDataStorageUnitKey(businessObjectDataStorageUnitKey); // Verify the external calls. verify(alternateKeyHelper).validateStringParameter("namespace", BDEF_NAMESPACE); verify(alternateKeyHelper).validateStringParameter("business object definition name", BDEF_NAME); verify(alternateKeyHelper).validateStringParameter("business object format usage", FORMAT_USAGE_CODE); verify(alternateKeyHelper).validateStringParameter("business object format file type", FORMAT_FILE_TYPE_CODE); verify(alternateKeyHelper).validateStringParameter("partition value", PARTITION_VALUE); verify(businessObjectDataHelper).validateSubPartitionValues(SUBPARTITION_VALUES); verify(alternateKeyHelper).validateStringParameter("storage name", STORAGE_NAME); verifyNoMoreInteractionsHelper(); }