use of org.finra.herd.model.annotation.NamespacePermission in project herd by FINRAOS.
the class StorageUnitServiceImpl method getStorageUnitDownloadCredential.
@NamespacePermission(fields = "#businessObjectDataKey?.namespace", permissions = NamespacePermissionEnum.READ)
@Override
public StorageUnitDownloadCredential getStorageUnitDownloadCredential(BusinessObjectDataKey businessObjectDataKey, String storageName) {
StorageUnitDownloadCredential businessObjectDataDownloadCredential = new StorageUnitDownloadCredential();
businessObjectDataDownloadCredential.setAwsCredential(getBusinessObjectDataS3Credential(businessObjectDataKey, null, storageName, false));
return businessObjectDataDownloadCredential;
}
use of org.finra.herd.model.annotation.NamespacePermission in project herd by FINRAOS.
the class UserNamespaceAuthorizationServiceImpl method getUserNamespaceAuthorization.
@NamespacePermission(fields = "#key?.namespace", permissions = NamespacePermissionEnum.READ)
@Override
public UserNamespaceAuthorization getUserNamespaceAuthorization(UserNamespaceAuthorizationKey key) {
// Validate and trim the key.
validateUserNamespaceAuthorizationKey(key);
// Retrieve and ensure that a user namespace authorization exists with the specified key.
UserNamespaceAuthorizationEntity userNamespaceAuthorizationEntity = getUserNamespaceAuthorizationEntity(key);
// Create and return the user namespace authorization object from the persisted entity.
return createUserNamespaceAuthorizationFromEntity(userNamespaceAuthorizationEntity);
}
use of org.finra.herd.model.annotation.NamespacePermission in project herd by FINRAOS.
the class CustomDdlServiceImpl method createCustomDdl.
/**
* Creates a new custom DDL.
*
* @param request the information needed to create a custom DDL
*
* @return the newly created custom DDL information
*/
@NamespacePermission(fields = "#request.customDdlKey.namespace", permissions = NamespacePermissionEnum.WRITE)
@Override
public CustomDdl createCustomDdl(CustomDdlCreateRequest request) {
// Validate and trim the key.
customDdlHelper.validateCustomDdlKey(request.getCustomDdlKey());
// Validate and trim the DDL.
Assert.hasText(request.getDdl(), "DDL must be specified.");
request.setDdl(request.getDdl().trim());
// Get the business object format and ensure it exists.
BusinessObjectFormatEntity businessObjectFormatEntity = businessObjectFormatDaoHelper.getBusinessObjectFormatEntity(new BusinessObjectFormatKey(request.getCustomDdlKey().getNamespace(), request.getCustomDdlKey().getBusinessObjectDefinitionName(), request.getCustomDdlKey().getBusinessObjectFormatUsage(), request.getCustomDdlKey().getBusinessObjectFormatFileType(), request.getCustomDdlKey().getBusinessObjectFormatVersion()));
// Ensure a custom DDL with the specified name doesn't already exist for the specified business object format.
CustomDdlEntity customDdlEntity = customDdlDao.getCustomDdlByKey(request.getCustomDdlKey());
if (customDdlEntity != null) {
throw new AlreadyExistsException(String.format("Unable to create custom DDL with name \"%s\" because it already exists for the business object format {%s}.", request.getCustomDdlKey().getCustomDdlName(), businessObjectFormatHelper.businessObjectFormatEntityAltKeyToString(businessObjectFormatEntity)));
}
// Create a custom DDL entity from the request information.
customDdlEntity = createCustomDdlEntity(businessObjectFormatEntity, request);
// Persist the new entity.
customDdlEntity = customDdlDao.saveAndRefresh(customDdlEntity);
// Create and return the custom DDL object from the persisted entity.
return createCustomDdlFromEntity(customDdlEntity);
}
use of org.finra.herd.model.annotation.NamespacePermission in project herd by FINRAOS.
the class CustomDdlServiceImpl method getCustomDdl.
/**
* Gets an existing custom DDL by key.
*
* @param customDdlKey the custom DDL key
*
* @return the custom DDL information
*/
@NamespacePermission(fields = "#customDdlKey.namespace", permissions = NamespacePermissionEnum.READ)
@Override
public CustomDdl getCustomDdl(CustomDdlKey customDdlKey) {
// Validate and trim the key.
customDdlHelper.validateCustomDdlKey(customDdlKey);
// Retrieve and ensure that a custom DDL exists with the specified key.
CustomDdlEntity customDdlEntity = customDdlDaoHelper.getCustomDdlEntity(customDdlKey);
// Create and return the custom DDL object from the persisted entity.
return createCustomDdlFromEntity(customDdlEntity);
}
use of org.finra.herd.model.annotation.NamespacePermission in project herd by FINRAOS.
the class CustomDdlServiceImpl method getCustomDdls.
/**
* Gets a list of keys for all existing custom DDLs.
*
* @return the custom DDL keys
*/
@NamespacePermission(fields = "#businessObjectFormatKey.namespace", permissions = NamespacePermissionEnum.READ)
@Override
public CustomDdlKeys getCustomDdls(BusinessObjectFormatKey businessObjectFormatKey) {
// Validate and trim the business object format key.
businessObjectFormatHelper.validateBusinessObjectFormatKey(businessObjectFormatKey);
// Ensure that the business object format exists.
businessObjectFormatDaoHelper.getBusinessObjectFormatEntity(businessObjectFormatKey);
// Create and populate a list of custom DDL keys.
CustomDdlKeys customDdlKeys = new CustomDdlKeys();
customDdlKeys.getCustomDdlKeys().addAll(customDdlDao.getCustomDdls(businessObjectFormatKey));
return customDdlKeys;
}
Aggregations