Class EPersonRestRepository

All Implemented Interfaces:
ReloadableEntityObjectRepository<EPerson,UUID>, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.data.repository.CrudRepository<EPersonRest,UUID>, org.springframework.data.repository.PagingAndSortingRepository<EPersonRest,UUID>, org.springframework.data.repository.Repository<EPersonRest,UUID>

@Component("eperson.eperson") public class EPersonRestRepository extends DSpaceObjectRestRepository<EPerson,EPersonRest> implements org.springframework.beans.factory.InitializingBean
This is the repository responsible to manage EPerson Rest object
Author:
Andrea Bollini (andrea.bollini at 4science.it)
  • Constructor Details

    • EPersonRestRepository

      public EPersonRestRepository(EPersonService dsoService)
  • Method Details

    • createAndReturn

      protected EPersonRest createAndReturn(Context context) throws AuthorizeException
      Description copied from class: DSpaceRestRepository
      Method to implement to support the creation of a new instance. Usually require to retrieve the http request from the thread bound attribute
      Overrides:
      createAndReturn in class DSpaceRestRepository<EPersonRest,UUID>
      Parameters:
      context - the dspace context
      Returns:
      the created REST object
      Throws:
      AuthorizeException
    • findOne

      @PreAuthorize("hasPermission(#id, \'EPERSON\', \'READ\')") public EPersonRest findOne(Context context, UUID id)
      Description copied from class: DSpaceRestRepository
      Method to implement to support retrieval of a specific REST object instance
      Specified by:
      findOne in class DSpaceRestRepository<EPersonRest,UUID>
      Parameters:
      context - the dspace context
      id - the rest object id
      Returns:
      the REST object identified by its ID
    • findAll

      @PreAuthorize("hasAuthority(\'ADMIN\')") public org.springframework.data.domain.Page<EPersonRest> findAll(Context context, org.springframework.data.domain.Pageable pageable)
      Description copied from class: DSpaceRestRepository
      Method to implement to support scroll of entity instances from the collection resource endpoint
      Specified by:
      findAll in class DSpaceRestRepository<EPersonRest,UUID>
      Parameters:
      context - the dspace context
      pageable - object embedding the requested pagination info
      Returns:
    • findByEmail

      public EPersonRest findByEmail(String email)
      Find the eperson with the provided email address if any. The search is delegated to the EPersonService.findByEmail(Context, String) method
      Parameters:
      email - is the *required* email address
      Returns:
      a Page of EPersonRest instances matching the user query
    • findByMetadata

      @PreAuthorize("hasAuthority(\'ADMIN\') || hasAuthority(\'MANAGE_ACCESS_GROUP\')") public org.springframework.data.domain.Page<EPersonRest> findByMetadata(String query, org.springframework.data.domain.Pageable pageable)
      Find the epersons matching the query parameter. The search is delegated to the EPersonService.search(Context, String, int, int) method
      Parameters:
      query - is the *required* query string
      pageable - contains the pagination information
      Returns:
      a Page of EPersonRest instances matching the user query
    • findIsNotMemberOf

      @PreAuthorize("hasAuthority(\'ADMIN\') || hasAuthority(\'MANAGE_ACCESS_GROUP\')") public org.springframework.data.domain.Page<EPersonRest> findIsNotMemberOf(UUID groupUUID, String query, org.springframework.data.domain.Pageable pageable)
      Find the EPersons matching the query parameter which are NOT a member of the given Group. The search is delegated to the EPersonService.searchNonMembers(Context, String, Group, int, int) method
      Parameters:
      groupUUID - the *required* group UUID to exclude results from
      query - is the *required* query string
      pageable - contains the pagination information
      Returns:
      a Page of EPersonRest instances matching the user query
    • patch

      @PreAuthorize("hasPermission(#uuid, \'EPERSON\', #patch)") protected void patch(Context context, javax.servlet.http.HttpServletRequest request, String apiCategory, String model, UUID uuid, Patch patch) throws AuthorizeException, SQLException
      Description copied from class: DSpaceRestRepository
      Method to implement to allow partial update of the REST object via JSON Patch
      Overrides:
      patch in class DSpaceRestRepository<EPersonRest,UUID>
      request - the http request
      uuid - the ID of the target REST object
      patch - the JSON Patch (https://tools.ietf.org/html/rfc6902) operation
      Throws:
      AuthorizeException
      SQLException
    • delete

      protected void delete(Context context, UUID id) throws AuthorizeException
      Description copied from class: DSpaceRestRepository
      Method to implement to support delete of a single object instance
      Overrides:
      delete in class DSpaceRestRepository<EPersonRest,UUID>
      Parameters:
      context - the dspace context
      id - the id of the rest object to delete
      Throws:
      AuthorizeException
    • getDomainClass

      public Class<EPersonRest> getDomainClass()
      Description copied from class: DSpaceRestRepository
      The REST model supported by the repository
      Specified by:
      getDomainClass in class DSpaceRestRepository<EPersonRest,UUID>
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Throws:
      Exception