X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/blobdiff_plain/001915e1a5b0b2336ba7c1ffd23ab8de7bdc6427..45546a913cf144912d383d54758aa51c81367ec9:/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IUserService.java diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IUserService.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IUserService.java index fb5623975d..ff3e219eda 100644 --- a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IUserService.java +++ b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IUserService.java @@ -5,11 +5,12 @@ * * The contents of this file are subject to the Mozilla Public License Version 1.1 * See LICENSE.TXT at the top of this package for the full license terms. -*/ +*/ package eu.etaxonomy.cdm.api.service; import java.util.List; +import java.util.Map; import java.util.UUID; import org.hibernate.criterion.Criterion; @@ -19,38 +20,58 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.provisioning.GroupManager; import org.springframework.security.provisioning.UserDetailsManager; -import eu.etaxonomy.cdm.model.common.Group; +import eu.etaxonomy.cdm.config.CdmSourceException; import eu.etaxonomy.cdm.model.common.User; -import eu.etaxonomy.cdm.persistence.dao.BeanInitializer; +import eu.etaxonomy.cdm.model.metadata.CdmMetaData.MetaDataPropertyName; +import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer; import eu.etaxonomy.cdm.persistence.query.MatchMode; import eu.etaxonomy.cdm.persistence.query.OrderHint; public interface IUserService extends IService, UserDetailsManager, GroupManager { - - public void changePasswordForUser(String username, String password) throws UsernameNotFoundException, DataAccessException; - - public UUID saveGrantedAuthority(GrantedAuthority grantedAuthority); - - public UUID saveGroup(Group group); - - /** - * Return a List of users matching the given query string, optionally filtered by class, optionally with a particular MatchMode - * - * @param queryString the query string to filter by - * @param matchmode use a particular type of matching (can be null - defaults to exact matching) - * @param criteria additional criteria to filter by - * @param pageSize The maximum number of objects returned (can be null for all objects) - * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based) - * @param propertyPaths properties to initialize - see {@link BeanInitializer#initialize(Object, List)} - * @param orderHints - * Supports path like orderHints.propertyNames which - * include *-to-one properties like createdBy.username or - * authorTeam.persistentTitleCache - * @return a list of instances of type User matching the queryString - * - * @see {@link IIdentifiableEntityService#listByTitle(Class, String, MatchMode, List, Integer, Integer, List, List)} - * - */ + + public void changePasswordForUser(String username, String password) throws UsernameNotFoundException, DataAccessException; + + public UUID saveGrantedAuthority(GrantedAuthority grantedAuthority); + + + + /** + * Return a List of users matching the given query string, optionally filtered by class, optionally with a particular MatchMode + * + * @param queryString the query string to filter by + * @param matchmode use a particular type of matching (can be null - defaults to exact matching) + * @param criteria additional criteria to filter by + * @param pageSize The maximum number of objects returned (can be null for all objects) + * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based) + * @param propertyPaths properties to initialize - see {@link IBeanInitializer#initialize(Object, List)} + * @param orderHints + * Supports path like orderHints.propertyNames which + * include *-to-one properties like createdBy.username or + * authorTeam.persistentTitleCache + * @return a list of instances of type User matching the queryString + * + * @see {@link IIdentifiableEntityService#listByTitle(Class, String, MatchMode, List, Integer, Integer, List, List)} + * + */ public List listByUsername(String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths); - + + /** + * @return + * @throws CdmSourceException + */ + public String getDbSchemaVersion() throws CdmSourceException; + + /** + * @return + * @throws CdmSourceException + */ + public boolean isDbEmpty() throws CdmSourceException; + + /** + * @return + * @throws CdmSourceException + */ + public Map getCdmMetadataMap() throws CdmSourceException; + + }