Package org.dspace.app.rest.repository
Class ResourcePolicyRestRepository
- java.lang.Object
-
- org.dspace.app.rest.repository.AbstractDSpaceRestRepository
-
- org.dspace.app.rest.repository.DSpaceRestRepository<ResourcePolicyRest,Integer>
-
- org.dspace.app.rest.repository.ResourcePolicyRestRepository
-
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean,org.springframework.data.repository.CrudRepository<ResourcePolicyRest,Integer>,org.springframework.data.repository.PagingAndSortingRepository<ResourcePolicyRest,Integer>,org.springframework.data.repository.Repository<ResourcePolicyRest,Integer>
@Component("authz.resourcepolicy") public class ResourcePolicyRestRepository extends DSpaceRestRepository<ResourcePolicyRest,Integer> implements org.springframework.beans.factory.InitializingBeanController for exposition of default access condition- Author:
- Luigi Andrea Pascarelli (luigiandrea.pascarelli at 4science.it)
-
-
Field Summary
-
Fields inherited from class org.dspace.app.rest.repository.AbstractDSpaceRestRepository
converter, requestService
-
-
Constructor Summary
Constructors Constructor Description ResourcePolicyRestRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()protected ResourcePolicyRestcreateAndReturn(Context context)Method to implement to support the creation of a new instance.protected voiddelete(Context context, Integer id)Method to implement to support delete of a single object instanceorg.springframework.data.domain.Page<ResourcePolicyRest>findAll(Context context, org.springframework.data.domain.Pageable pageable)Method to implement to support scroll of entity instances from the collection resource endpointorg.springframework.data.domain.Page<ResourcePolicyRest>findByEPerson(UUID epersonUuid, UUID resourceUuid, org.springframework.data.domain.Pageable pageable)Find the resource policies matching uuid of the eperson and/or the one specified resource objectorg.springframework.data.domain.Page<ResourcePolicyRest>findByGroup(UUID groupUuid, UUID resourceUuid, org.springframework.data.domain.Pageable pageable)Find the resource policies matching uuid of the group and/or the ones specified resource objectorg.springframework.data.domain.Page<ResourcePolicyRest>findByResource(UUID resourceUuid, String action, org.springframework.data.domain.Pageable pageable)Find the resource policies matching the uuid of the resource object and/or the specified actionResourcePolicyRestfindOne(Context context, Integer id)Method to implement to support retrieval of a specific REST object instanceClass<ResourcePolicyRest>getDomainClass()The REST model supported by the repositoryprotected voidpatch(Context context, javax.servlet.http.HttpServletRequest request, String apiCategory, String model, Integer id, Patch patch)Method to implement to allow partial update of the REST object via JSON Patch-
Methods inherited from class org.dspace.app.rest.repository.DSpaceRestRepository
action, action, count, createAndReturn, createAndReturn, createAndReturn, createAndReturn, createAndReturn, delete, deleteAll, deleteAll, deleteById, existsById, findAll, findAll, findAll, findAllById, findById, patch, put, put, put, put, save, save, saveAll, upload, upload, upload
-
Methods inherited from class org.dspace.app.rest.repository.AbstractDSpaceRestRepository
getRequestService, obtainContext
-
-
-
-
Method Detail
-
findOne
@PreAuthorize("hasPermission(#id, \'resourcepolicy\', \'READ\')") public ResourcePolicyRest findOne(Context context, Integer id)Description copied from class:DSpaceRestRepositoryMethod to implement to support retrieval of a specific REST object instance- Specified by:
findOnein classDSpaceRestRepository<ResourcePolicyRest,Integer>- Parameters:
context- the dspace contextid- the rest object id- Returns:
- the REST object identified by its ID
-
findAll
@PreAuthorize("hasAuthority(\'AUTHENTICATED\')") public org.springframework.data.domain.Page<ResourcePolicyRest> findAll(Context context, org.springframework.data.domain.Pageable pageable)Description copied from class:DSpaceRestRepositoryMethod to implement to support scroll of entity instances from the collection resource endpoint- Specified by:
findAllin classDSpaceRestRepository<ResourcePolicyRest,Integer>- Parameters:
context- the dspace contextpageable- object embedding the requested pagination info- Returns:
-
getDomainClass
public Class<ResourcePolicyRest> getDomainClass()
Description copied from class:DSpaceRestRepositoryThe REST model supported by the repository- Specified by:
getDomainClassin classDSpaceRestRepository<ResourcePolicyRest,Integer>
-
findByResource
@PreAuthorize("hasPermission(#resourceUuid, \'dspaceObject\', \'ADMIN\')") public org.springframework.data.domain.Page<ResourcePolicyRest> findByResource(UUID resourceUuid, String action, org.springframework.data.domain.Pageable pageable)Find the resource policies matching the uuid of the resource object and/or the specified action- Parameters:
resourceUuid- mandatory, the uuid of the resource object of the policyaction- optional, limit the returned policies to the specified actionpageable- contains the pagination information- Returns:
- a Page of ResourcePolicyRest instances matching the uuid of the resource object and/or the specified action
-
findByEPerson
@PreAuthorize("hasPermission(#epersonUuid, \'EPERSON\', \'READ\')") public org.springframework.data.domain.Page<ResourcePolicyRest> findByEPerson(UUID epersonUuid, UUID resourceUuid, org.springframework.data.domain.Pageable pageable)Find the resource policies matching uuid of the eperson and/or the one specified resource object- Parameters:
epersonUuid- mandatory, the uuid of the eperson that benefit of the policyresourceUuid- optional, limit the returned policies to the ones related to the specified resourcepageable- contains the pagination information- Returns:
- It returns the list of explicit matching resource policies, no inherited or broader resource policies will be included in the list nor policies derived by groups' membership
-
findByGroup
@PreAuthorize("hasPermission(#groupUuid, \'GROUP\', \'READ\')") public org.springframework.data.domain.Page<ResourcePolicyRest> findByGroup(UUID groupUuid, UUID resourceUuid, org.springframework.data.domain.Pageable pageable)Find the resource policies matching uuid of the group and/or the ones specified resource object- Parameters:
groupUuid- mandatory, the uuid of the group that benefit of the policyresourceUuid- optional, limit the returned policies to the ones related to the specified resourcepageable- contains the pagination information- Returns:
- It returns the list of explicit matching resource policies, no inherited or broader resource policies will be included in the list nor policies derived by groups' membership
-
createAndReturn
@PreAuthorize("hasAuthority(\'ADMIN\')") protected ResourcePolicyRest createAndReturn(Context context) throws AuthorizeException, SQLExceptionDescription copied from class:DSpaceRestRepositoryMethod to implement to support the creation of a new instance. Usually require to retrieve the http request from the thread bound attribute- Overrides:
createAndReturnin classDSpaceRestRepository<ResourcePolicyRest,Integer>- Parameters:
context- the dspace context- Returns:
- the created REST object
- Throws:
AuthorizeExceptionSQLException
-
delete
@PreAuthorize("hasAuthority(\'ADMIN\')") protected void delete(Context context, Integer id) throws AuthorizeExceptionDescription copied from class:DSpaceRestRepositoryMethod to implement to support delete of a single object instance- Overrides:
deletein classDSpaceRestRepository<ResourcePolicyRest,Integer>- Parameters:
context- the dspace contextid- the id of the rest object to delete- Throws:
AuthorizeException
-
patch
@PreAuthorize("hasPermission(#id, \'resourcepolicy\', \'ADMIN\')") protected void patch(Context context, javax.servlet.http.HttpServletRequest request, String apiCategory, String model, Integer id, Patch patch) throws RepositoryMethodNotImplementedException, SQLException, AuthorizeExceptionDescription copied from class:DSpaceRestRepositoryMethod to implement to allow partial update of the REST object via JSON Patch- Overrides:
patchin classDSpaceRestRepository<ResourcePolicyRest,Integer>request- the http requestid- the ID of the target REST objectpatch- the JSON Patch (https://tools.ietf.org/html/rfc6902) operation- Throws:
RepositoryMethodNotImplementedException- returned by the default implementation when the operation is not supported for the entitySQLExceptionAuthorizeException
-
-