Class UserRepositoryImpl
- java.lang.Object
-
- de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
-
- de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
-
- de.digitalcollections.cudami.server.backend.impl.jdbi.security.UserRepositoryImpl
-
- All Implemented Interfaces:
UserRepository
@Repository public class UserRepositoryImpl extends JdbiRepositoryImpl implements UserRepository
-
-
Field Summary
Fields Modifier and Type Field Description static StringMAPPING_PREFIXstatic StringSQL_FULL_FIELDS_USstatic StringSQL_INSERT_FIELDSstatic StringSQL_INSERT_VALUESstatic StringSQL_REDUCED_FIELDS_USstatic StringTABLE_ALIASstatic StringTABLE_NAME-
Fields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
dbi, mappingPrefix, tableAlias, tableName
-
Fields inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
offsetForAlternativePaging
-
-
Constructor Summary
Constructors Constructor Description UserRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description de.digitalcollections.model.security.Usercreate()de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.security.User>find(de.digitalcollections.model.list.paging.PageRequest pageRequest)List<de.digitalcollections.model.security.User>getActiveAdminUsers()protected List<String>getAllowedOrderByFields()de.digitalcollections.model.security.UsergetByEmail(String email)de.digitalcollections.model.security.UsergetByUuid(UUID uuid)StringgetColumnName(String modelProperty)protected List<String>getSearchTermTemplates(String tableAlias, String originalSearchTerm)protected StringgetUniqueField()de.digitalcollections.model.security.Usersave(de.digitalcollections.model.security.User user)protected booleansupportsCaseSensitivityForProperty(String modelProperty)Returns whether the passed property can be sorted case sensitive (in general).de.digitalcollections.model.security.Userupdate(de.digitalcollections.model.security.User user)-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
addFiltering, addFiltering, addSearchTerm, addSearchTermMappings, count, count, escapeTermForJsonpath, getCommonSearchSql, getFilterClauses, getMappingPrefix, getTableAlias, getTableName, getWhereClause, mapFilterExpressionsToOtherTableColumnNames, retrieveNextSortIndexForParentChildren
-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
addOrderBy, addPageRequestParams, getOrderBy
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.security.UserRepository
count
-
-
-
-
Field Detail
-
MAPPING_PREFIX
public static final String MAPPING_PREFIX
- See Also:
- Constant Field Values
-
SQL_INSERT_FIELDS
public static final String SQL_INSERT_FIELDS
- See Also:
- Constant Field Values
-
SQL_INSERT_VALUES
public static final String SQL_INSERT_VALUES
- See Also:
- Constant Field Values
-
TABLE_ALIAS
public static final String TABLE_ALIAS
- See Also:
- Constant Field Values
-
SQL_REDUCED_FIELDS_US
public static final String SQL_REDUCED_FIELDS_US
-
SQL_FULL_FIELDS_US
public static final String SQL_FULL_FIELDS_US
-
TABLE_NAME
public static final String TABLE_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
UserRepositoryImpl
@Autowired public UserRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig)
-
-
Method Detail
-
create
public de.digitalcollections.model.security.User create()
- Specified by:
createin interfaceUserRepository
-
find
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.security.User> find(de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findin interfaceUserRepository
-
getActiveAdminUsers
public List<de.digitalcollections.model.security.User> getActiveAdminUsers()
- Specified by:
getActiveAdminUsersin interfaceUserRepository
-
getAllowedOrderByFields
protected List<String> getAllowedOrderByFields()
- Specified by:
getAllowedOrderByFieldsin classAbstractPagingAndSortingRepositoryImpl- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getByEmail
public de.digitalcollections.model.security.User getByEmail(String email)
- Specified by:
getByEmailin interfaceUserRepository
-
getByUuid
public de.digitalcollections.model.security.User getByUuid(UUID uuid)
- Specified by:
getByUuidin interfaceUserRepository
-
getColumnName
public String getColumnName(String modelProperty)
- Specified by:
getColumnNamein classAbstractPagingAndSortingRepositoryImpl- Parameters:
modelProperty- name of model property passed as String, e.g. "lastModified"- Returns:
- full qualified column name as used in sql queries ("last_modified" or e.g. "w.last_modified" if prefix used in queries)
-
getSearchTermTemplates
protected List<String> getSearchTermTemplates(String tableAlias, String originalSearchTerm)
- Overrides:
getSearchTermTemplatesin classJdbiRepositoryImpl
-
getUniqueField
protected String getUniqueField()
- Specified by:
getUniqueFieldin classAbstractPagingAndSortingRepositoryImpl- Returns:
- name of model property that guarantees an unique sorting, e.g. a db primary key or another unique column/field
-
save
public de.digitalcollections.model.security.User save(de.digitalcollections.model.security.User user)
- Specified by:
savein interfaceUserRepository
-
supportsCaseSensitivityForProperty
protected boolean supportsCaseSensitivityForProperty(String modelProperty)
Description copied from class:AbstractPagingAndSortingRepositoryImplReturns whether the passed property can be sorted case sensitive (in general). This method should be kept in sync withAbstractPagingAndSortingRepositoryImpl.getAllowedOrderByFields().- Specified by:
supportsCaseSensitivityForPropertyin classAbstractPagingAndSortingRepositoryImpl- Parameters:
modelProperty- the property name (similar toAbstractPagingAndSortingRepositoryImpl.getColumnName(java.lang.String))- Returns:
trueonly if case (in)sensitive sorting is possible
-
update
public de.digitalcollections.model.security.User update(de.digitalcollections.model.security.User user)
- Specified by:
updatein interfaceUserRepository
-
-