/** * Trigger business object data and storage unit notification for unregistered business object data invalidation event. * * @param businessObjectDataInvalidateUnregisteredResponse the business object data invalidate unregistered response */ public void triggerNotificationsForInvalidateUnregisteredBusinessObjectData( BusinessObjectDataInvalidateUnregisteredResponse businessObjectDataInvalidateUnregisteredResponse) { for (BusinessObjectData businessObjectData : businessObjectDataInvalidateUnregisteredResponse.getRegisteredBusinessObjectDataList()) { triggerNotificationsForCreateBusinessObjectData(businessObjectData); } }
/** * Registers data as INVALID for objects which exist in S3 but are not registered in herd. <p> Requires WRITE permission on namespace </p> * * @param businessObjectDataInvalidateUnregisteredRequest the business object data invalidate un-register request * * @return the business object data invalidate unregistered response */ @RequestMapping(value = "/businessObjectData/unregistered/invalidation", method = RequestMethod.POST, consumes = {"application/xml", "application/json"}) @Secured(SecurityFunctions.FN_BUSINESS_OBJECT_DATA_UNREGISTERED_INVALIDATE) public BusinessObjectDataInvalidateUnregisteredResponse invalidateUnregisteredBusinessObjectData( @RequestBody BusinessObjectDataInvalidateUnregisteredRequest businessObjectDataInvalidateUnregisteredRequest) { BusinessObjectDataInvalidateUnregisteredResponse businessObjectDataInvalidateUnregisteredResponse = businessObjectDataService.invalidateUnregisteredBusinessObjectData(businessObjectDataInvalidateUnregisteredRequest); // Trigger notifications. businessObjectDataDaoHelper.triggerNotificationsForInvalidateUnregisteredBusinessObjectData(businessObjectDataInvalidateUnregisteredResponse); return businessObjectDataInvalidateUnregisteredResponse; }
/** * Creates a new business object data from the request information. * * @param request the request * * @return the newly created and persisted business object data */ public BusinessObjectData createBusinessObjectData(BusinessObjectDataCreateRequest request) { // By default, fileSize value is required. return createBusinessObjectData(request, true); }
/** * Implementation of the update business object data status. */ protected void updateBusinessObjectDataStatusImpl(BusinessObjectDataKey businessObjectDataKey, String businessObjectDataStatus) { businessObjectDataDaoHelper .updateBusinessObjectDataStatus(businessObjectDataDaoHelper.getBusinessObjectDataEntity(businessObjectDataKey), businessObjectDataStatus); }
/** * Gets a list of keys for all existing business object data attributes. * * @param businessObjectDataKey the business object data key * * @return the list of business object data attribute keys */ protected BusinessObjectDataAttributeKeys getBusinessObjectDataAttributesImpl(BusinessObjectDataKey businessObjectDataKey) { // Validate and trim the business object data key. businessObjectDataHelper.validateBusinessObjectDataKey(businessObjectDataKey, true, true); // Retrieve the business object data and ensure it exists. BusinessObjectDataEntity businessObjectDataEntity = businessObjectDataDaoHelper.getBusinessObjectDataEntity(businessObjectDataKey); // Create and populate a list of business object data attribute keys. BusinessObjectDataAttributeKeys businessObjectDataAttributeKeys = new BusinessObjectDataAttributeKeys(); for (BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity : businessObjectDataEntity.getAttributes()) { businessObjectDataAttributeKeys.getBusinessObjectDataAttributeKeys().add(getBusinessObjectDataAttributeKey(businessObjectDataAttributeEntity)); } return businessObjectDataAttributeKeys; }
/** * Creates new storage unit for a given business object data and storage. * * @param request the create business object data storage unit create request * * @return the create business object data storage unit create response */ protected BusinessObjectDataStorageUnitCreateResponse createBusinessObjectDataStorageUnitImpl(BusinessObjectDataStorageUnitCreateRequest request) { // Validate the request. validateBusinessObjectDataStorageUnitCreateRequest(request); // Retrieve and validate that business object data exists. BusinessObjectDataEntity businessObjectDataEntity = businessObjectDataDaoHelper.getBusinessObjectDataEntity(storageUnitHelper.getBusinessObjectDataKey(request.getBusinessObjectDataStorageUnitKey())); // Retrieve and validate that storage exists. StorageEntity storageEntity = storageDaoHelper.getStorageEntity(request.getBusinessObjectDataStorageUnitKey().getStorageName()); // Create a storage unit entity. StorageUnitEntity storageUnitEntity = businessObjectDataDaoHelper .createStorageUnitEntity(businessObjectDataEntity, storageEntity, request.getStorageDirectory(), request.getStorageFiles(), request.isDiscoverStorageFiles()); // Persist the newly created storage unit entity. storageUnitDao.saveAndRefresh(storageUnitEntity); // Construct and return the response. return createBusinessObjectDataStorageUnitCreateResponse(storageUnitEntity); }
businessObjectDataEntity.setStorageUnits(createStorageUnitEntitiesFromStorageUnits(request.getStorageUnits(), businessObjectDataEntity)); BusinessObjectDataEntity businessObjectDataParent = getBusinessObjectDataEntity(businessObjectDataKey);
when(storageHelper.getStorageKmsKeyId(targetStorageEntity)).thenReturn(AWS_KMS_KEY_ID); doThrow(new OptimisticLockException(ERROR_MESSAGE)).when(businessObjectDataDaoHelper) .updateBusinessObjectDataStatus(sourceBusinessObjectDataEntity, BusinessObjectDataStatusEntity.RE_ENCRYPTING); when(jsonHelper.objectToJson(sourceBusinessObjectDataKey)).thenReturn(BUSINESS_OBJECT_DATA_KEY_AS_STRING); when(jsonHelper.objectToJson(targetBusinessObjectDataKey)).thenReturn(BUSINESS_OBJECT_DATA_KEY_AS_STRING_2); verify(storageHelper).getStorageKmsKeyId(targetStorageEntity); verify(s3Dao).s3FileExists(any(S3FileTransferRequestParamsDto.class)); verify(businessObjectDataDaoHelper).updateBusinessObjectDataStatus(sourceBusinessObjectDataEntity, BusinessObjectDataStatusEntity.RE_ENCRYPTING); verify(jsonHelper).objectToJson(sourceBusinessObjectDataKey); verify(jsonHelper).objectToJson(targetBusinessObjectDataKey);
/** * Creates a list of storage unit entities from a list of storage unit create requests. * * @param storageUnitCreateRequests the storage unit create requests * @param businessObjectDataEntity the business object data entity * * @return the list of storage unit entities. */ private List<StorageUnitEntity> createStorageUnitEntitiesFromStorageUnits(List<StorageUnitCreateRequest> storageUnitCreateRequests, BusinessObjectDataEntity businessObjectDataEntity) { // Create the storage units for the data. List<StorageUnitEntity> storageUnitEntities = new ArrayList<>(); for (StorageUnitCreateRequest storageUnit : storageUnitCreateRequests) { // Get the storage entity per request and verify that it exists. StorageEntity storageEntity = storageDaoHelper.getStorageEntity(storageUnit.getStorageName()); // Create storage unit and add it to the result list. storageUnitEntities.add( createStorageUnitEntity(businessObjectDataEntity, storageEntity, storageUnit.getStorageDirectory(), storageUnit.getStorageFiles(), storageUnit.isDiscoverStorageFiles())); } return storageUnitEntities; }
validateBusinessObjectDataCreateRequest(request, fileSizeRequired, businessObjectDataStatusEntity); existingBusinessObjectDataEntity.getVersion() + 1; BusinessObjectDataEntity newVersionBusinessObjectDataEntity = createBusinessObjectDataEntity(request, businessObjectFormatEntity, businessObjectDataVersion, businessObjectDataStatusEntity);
.buildPartitionFilters(request.getPartitionValueFilters(), request.getPartitionValueFilter(), businessObjectFormatKey, request.getBusinessObjectDataVersion(), storageNames, null, null, businessObjectFormatEntity);
businessObjectDataLowercaseKeys.add(cloneToLowerCase(key));
/** * Gets a list of keys for all existing business object data attributes. * * @param businessObjectDataKey the business object data key * * @return the list of business object data attribute keys */ protected BusinessObjectDataAttributeKeys getBusinessObjectDataAttributesImpl(BusinessObjectDataKey businessObjectDataKey) { // Validate and trim the business object data key. businessObjectDataHelper.validateBusinessObjectDataKey(businessObjectDataKey, true, true); // Retrieve the business object data and ensure it exists. BusinessObjectDataEntity businessObjectDataEntity = businessObjectDataDaoHelper.getBusinessObjectDataEntity(businessObjectDataKey); // Create and populate a list of business object data attribute keys. BusinessObjectDataAttributeKeys businessObjectDataAttributeKeys = new BusinessObjectDataAttributeKeys(); for (BusinessObjectDataAttributeEntity businessObjectDataAttributeEntity : businessObjectDataEntity.getAttributes()) { businessObjectDataAttributeKeys.getBusinessObjectDataAttributeKeys().add(getBusinessObjectDataAttributeKey(businessObjectDataAttributeEntity)); } return businessObjectDataAttributeKeys; }
/** * Implementation of the update business object data status. */ protected void updateBusinessObjectDataStatusImpl(BusinessObjectDataKey businessObjectDataKey, String businessObjectDataStatus) { businessObjectDataDaoHelper .updateBusinessObjectDataStatus(businessObjectDataDaoHelper.getBusinessObjectDataEntity(businessObjectDataKey), businessObjectDataStatus); }
/** * Creates new storage unit for a given business object data and storage. * * @param request the create business object data storage unit create request * * @return the create business object data storage unit create response */ protected BusinessObjectDataStorageUnitCreateResponse createBusinessObjectDataStorageUnitImpl(BusinessObjectDataStorageUnitCreateRequest request) { // Validate the request. validateBusinessObjectDataStorageUnitCreateRequest(request); // Retrieve and validate that business object data exists. BusinessObjectDataEntity businessObjectDataEntity = businessObjectDataDaoHelper.getBusinessObjectDataEntity(storageUnitHelper.getBusinessObjectDataKey(request.getBusinessObjectDataStorageUnitKey())); // Retrieve and validate that storage exists. StorageEntity storageEntity = storageDaoHelper.getStorageEntity(request.getBusinessObjectDataStorageUnitKey().getStorageName()); // Create a storage unit entity. StorageUnitEntity storageUnitEntity = businessObjectDataDaoHelper .createStorageUnitEntity(businessObjectDataEntity, storageEntity, request.getStorageDirectory(), request.getStorageFiles(), request.isDiscoverStorageFiles()); // Persist the newly created storage unit entity. storageUnitDao.saveAndRefresh(storageUnitEntity); // Construct and return the response. return createBusinessObjectDataStorageUnitCreateResponse(storageUnitEntity); }
verify(storageHelper).getStorageKmsKeyId(targetStorageEntity); verify(s3Dao).s3FileExists(any(S3FileTransferRequestParamsDto.class)); verify(businessObjectDataDaoHelper).updateBusinessObjectDataStatus(sourceBusinessObjectDataEntity, BusinessObjectDataStatusEntity.RE_ENCRYPTING); verify(businessObjectDataDaoHelper).updateBusinessObjectDataStatus(targetBusinessObjectDataEntity, BusinessObjectDataStatusEntity.RE_ENCRYPTING); verify(notificationEventService) .processBusinessObjectDataNotificationEventAsync(NotificationEventTypeEntity.EventTypesBdata.BUS_OBJCT_DATA_STTS_CHG, sourceBusinessObjectDataKey,
/** * Creates a list of storage unit entities from a list of storage unit create requests. * * @param storageUnitCreateRequests the storage unit create requests * @param businessObjectDataEntity the business object data entity * * @return the list of storage unit entities. */ private List<StorageUnitEntity> createStorageUnitEntitiesFromStorageUnits(List<StorageUnitCreateRequest> storageUnitCreateRequests, BusinessObjectDataEntity businessObjectDataEntity) { // Create the storage units for the data. List<StorageUnitEntity> storageUnitEntities = new ArrayList<>(); for (StorageUnitCreateRequest storageUnit : storageUnitCreateRequests) { // Get the storage entity per request and verify that it exists. StorageEntity storageEntity = storageDaoHelper.getStorageEntity(storageUnit.getStorageName()); // Create storage unit and add it to the result list. storageUnitEntities.add( createStorageUnitEntity(businessObjectDataEntity, storageEntity, storageUnit.getStorageDirectory(), storageUnit.getStorageFiles(), storageUnit.isDiscoverStorageFiles())); } return storageUnitEntities; }
validateBusinessObjectDataCreateRequest(request, fileSizeRequired, businessObjectDataStatusEntity); existingBusinessObjectDataEntity.getVersion() + 1; BusinessObjectDataEntity newVersionBusinessObjectDataEntity = createBusinessObjectDataEntity(request, businessObjectFormatEntity, businessObjectDataVersion, businessObjectDataStatusEntity);
.buildPartitionFilters(request.getPartitionValueFilters(), request.getPartitionValueFilter(), businessObjectFormatKey, request.getBusinessObjectDataVersion(), storageNames, null, null, businessObjectFormatEntity);
businessObjectDataLowercaseKeys.add(cloneToLowerCase(key));