Class EPersonRestRepository

  • All Implemented Interfaces:
    ReloadableEntityObjectRepository<org.dspace.eperson.EPerson,​UUID>, 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<org.dspace.eperson.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 Detail

      • EPersonRestRepository

        public EPersonRestRepository​(org.dspace.eperson.service.EPersonService dsoService)
    • Method Detail

      • createAndReturn

        protected EPersonRest createAndReturn​(org.dspace.core.Context context)
                                       throws org.dspace.authorize.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:
        org.dspace.authorize.AuthorizeException
      • findOne

        @PreAuthorize("hasPermission(#id, \'EPERSON\', \'READ\')")
        public EPersonRest findOne​(org.dspace.core.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​(org.dspace.core.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
      • patch

        @PreAuthorize("hasPermission(#uuid, \'EPERSON\', #patch)")
        protected void patch​(org.dspace.core.Context context,
                             javax.servlet.http.HttpServletRequest request,
                             String apiCategory,
                             String model,
                             UUID uuid,
                             Patch patch)
                      throws org.dspace.authorize.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:
        org.dspace.authorize.AuthorizeException
        SQLException
      • delete

        protected void delete​(org.dspace.core.Context context,
                              UUID id)
                       throws org.dspace.authorize.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:
        org.dspace.authorize.AuthorizeException
      • afterPropertiesSet

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