Class CollectionRepositoryImpl
- 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.identifiable.IdentifiableRepositoryImpl<E>
-
- de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.Collection>
-
- de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.CollectionRepositoryImpl
-
- All Implemented Interfaces:
CollectionRepository,EntityRepository<de.digitalcollections.model.identifiable.entity.Collection>,IdentifiableRepository<de.digitalcollections.model.identifiable.entity.Collection>,NodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
@Repository public class CollectionRepositoryImpl extends EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.Collection> implements CollectionRepository
-
-
Field Summary
Fields Modifier and Type Field Description static StringMAPPING_PREFIXstatic StringTABLE_ALIASstatic StringTABLE_NAME-
Fields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
additionalReduceRowsBiFunction, basicReduceRowsBiFunction, fullReduceRowsBiFunction, identifiableImplClass, sqlSelectAllFields, sqlSelectAllFieldsJoins, sqlSelectReducedFields
-
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 CollectionRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddChildren(UUID parentUuid, List<UUID> childrenUuids)booleanaddDigitalObjects(UUID collectionUuid, List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection>findChildren(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.DigitalObject>findDigitalObjects(UUID collectionUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)List<de.digitalcollections.model.identifiable.entity.agent.CorporateBody>findRelatedCorporateBodies(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering)de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection>findRootNodes(de.digitalcollections.model.list.paging.PageRequest pageRequest)protected List<String>getAllowedOrderByFields()de.digitalcollections.model.view.BreadcrumbNavigationgetBreadcrumbNavigation(UUID nodeUuid)de.digitalcollections.model.identifiable.entity.CollectiongetByIdentifier(de.digitalcollections.model.identifiable.Identifier identifier)de.digitalcollections.model.identifiable.entity.CollectiongetByRefId(long refId)de.digitalcollections.model.identifiable.entity.CollectiongetByUuidAndFiltering(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering)List<de.digitalcollections.model.identifiable.entity.Collection>getChildren(UUID uuid)StringgetColumnName(String modelProperty)de.digitalcollections.model.identifiable.entity.CollectiongetParent(UUID uuid)List<de.digitalcollections.model.identifiable.entity.Collection>getParents(UUID uuid)List<Locale>getRootNodesLanguages()static StringgetSqlInsertFields()static StringgetSqlInsertValues()static StringgetSqlSelectAllFields(String tableAlias, String mappingPrefix)static StringgetSqlSelectReducedFields(String tableAlias, String mappingPrefix)static StringgetSqlUpdateFieldValues()booleanremoveChild(UUID parentUuid, UUID childUuid)booleanremoveDigitalObject(UUID collectionUuid, UUID digitalObjectUuid)booleanremoveDigitalObjectFromAllCollections(de.digitalcollections.model.identifiable.entity.DigitalObject digitalObject)de.digitalcollections.model.identifiable.entity.Collectionsave(de.digitalcollections.model.identifiable.entity.Collection collection)de.digitalcollections.model.identifiable.entity.CollectionsaveWithParent(UUID childUuid, UUID parentUuid)booleansetDigitalObjects(UUID collectionUuid, List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)de.digitalcollections.model.identifiable.entity.Collectionupdate(de.digitalcollections.model.identifiable.entity.Collection collection)booleanupdateChildrenOrder(UUID parentUuid, List<de.digitalcollections.model.identifiable.entity.Collection> children)-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.EntityRepositoryImpl
addRelatedFileresource, getRandom, getRelatedFileResources, save, setRelatedFileResources, update
-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
addCrossTablePageRequestParams, addRelatedEntity, addSearchTermMappings, delete, extendReducedIdentifiable, find, find, find, find, findByLanguageAndInitial, getAllFull, getAllReduced, getIndex, getIndex, getLanguages, getRelatedEntities, getSearchTermTemplates, getSqlSelectAllFields, getSqlSelectReducedFields, getUniqueField, getWhereClause, retrieveCount, retrieveList, retrieveOne, retrieveOne, retrieveOne, setRelatedEntities, splitToArray, supportsCaseSensitivityForProperty
-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
addFiltering, addFiltering, addSearchTerm, count, count, escapeTermForJsonpath, getCommonSearchSql, getFilterClauses, getMappingPrefix, getTableAlias, getTableName, 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.identifiable.entity.CollectionRepository
addDigitalObject, addDigitalObjects, getDigitalObjects, removeDigitalObject, setDigitalObjects
-
Methods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.entity.EntityRepository
getRandom
-
Methods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.IdentifiableRepository
addRelatedEntity, addRelatedEntity, addRelatedFileresource, addRelatedFileresource, count, delete, delete, find, find, findByLanguageAndInitial, getAllFull, getAllReduced, getByIdentifier, getByUuid, getLanguages, getRelatedEntities, getRelatedEntities, getRelatedFileResources, getRelatedFileResources, save, setRelatedEntities, setRelatedEntities, setRelatedFileResources, setRelatedFileResources, update
-
Methods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.NodeRepository
addChild, addChild, addChildren, getChildren, removeChild
-
-
-
-
Field Detail
-
MAPPING_PREFIX
public static final String MAPPING_PREFIX
- See Also:
- Constant Field Values
-
TABLE_ALIAS
public static final String TABLE_ALIAS
- See Also:
- Constant Field Values
-
TABLE_NAME
public static final String TABLE_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CollectionRepositoryImpl
@Autowired public CollectionRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig)
-
-
Method Detail
-
getSqlInsertFields
public static String getSqlInsertFields()
-
getSqlInsertValues
public static String getSqlInsertValues()
-
getSqlSelectAllFields
public static String getSqlSelectAllFields(String tableAlias, String mappingPrefix)
-
getSqlSelectReducedFields
public static String getSqlSelectReducedFields(String tableAlias, String mappingPrefix)
-
getSqlUpdateFieldValues
public static String getSqlUpdateFieldValues()
-
addChildren
public boolean addChildren(UUID parentUuid, List<UUID> childrenUuids)
- Specified by:
addChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
addDigitalObjects
public boolean addDigitalObjects(UUID collectionUuid, List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)
- Specified by:
addDigitalObjectsin interfaceCollectionRepository
-
findChildren
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection> findChildren(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
findDigitalObjects
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.DigitalObject> findDigitalObjects(UUID collectionUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findDigitalObjectsin interfaceCollectionRepository
-
findRelatedCorporateBodies
public List<de.digitalcollections.model.identifiable.entity.agent.CorporateBody> findRelatedCorporateBodies(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering)
- Specified by:
findRelatedCorporateBodiesin interfaceCollectionRepository
-
findRootNodes
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection> findRootNodes(de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findRootNodesin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getAllowedOrderByFields
protected List<String> getAllowedOrderByFields()
- Overrides:
getAllowedOrderByFieldsin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.Collection>- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getBreadcrumbNavigation
public de.digitalcollections.model.view.BreadcrumbNavigation getBreadcrumbNavigation(UUID nodeUuid)
- Specified by:
getBreadcrumbNavigationin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getByIdentifier
public de.digitalcollections.model.identifiable.entity.Collection getByIdentifier(de.digitalcollections.model.identifiable.Identifier identifier)
- Specified by:
getByIdentifierin interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.entity.Collection>- Overrides:
getByIdentifierin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.Collection>
-
getByRefId
public de.digitalcollections.model.identifiable.entity.Collection getByRefId(long refId)
- Specified by:
getByRefIdin interfaceEntityRepository<de.digitalcollections.model.identifiable.entity.Collection>- Overrides:
getByRefIdin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.Collection>
-
getByUuidAndFiltering
public de.digitalcollections.model.identifiable.entity.Collection getByUuidAndFiltering(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering)
- Specified by:
getByUuidAndFilteringin interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.entity.Collection>- Overrides:
getByUuidAndFilteringin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.Collection>
-
getChildren
public List<de.digitalcollections.model.identifiable.entity.Collection> getChildren(UUID uuid)
- Specified by:
getChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getColumnName
public String getColumnName(String modelProperty)
- Overrides:
getColumnNamein classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.Collection>- 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)
-
getParent
public de.digitalcollections.model.identifiable.entity.Collection getParent(UUID uuid)
- Specified by:
getParentin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getParents
public List<de.digitalcollections.model.identifiable.entity.Collection> getParents(UUID uuid)
- Specified by:
getParentsin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getRootNodesLanguages
public List<Locale> getRootNodesLanguages()
- Specified by:
getRootNodesLanguagesin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
removeChild
public boolean removeChild(UUID parentUuid, UUID childUuid)
- Specified by:
removeChildin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
removeDigitalObject
public boolean removeDigitalObject(UUID collectionUuid, UUID digitalObjectUuid)
- Specified by:
removeDigitalObjectin interfaceCollectionRepository
-
removeDigitalObjectFromAllCollections
public boolean removeDigitalObjectFromAllCollections(de.digitalcollections.model.identifiable.entity.DigitalObject digitalObject)
- Specified by:
removeDigitalObjectFromAllCollectionsin interfaceCollectionRepository
-
save
public de.digitalcollections.model.identifiable.entity.Collection save(de.digitalcollections.model.identifiable.entity.Collection collection)
- Specified by:
savein interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
saveWithParent
public de.digitalcollections.model.identifiable.entity.Collection saveWithParent(UUID childUuid, UUID parentUuid)
- Specified by:
saveWithParentin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
setDigitalObjects
public boolean setDigitalObjects(UUID collectionUuid, List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)
- Specified by:
setDigitalObjectsin interfaceCollectionRepository
-
update
public de.digitalcollections.model.identifiable.entity.Collection update(de.digitalcollections.model.identifiable.entity.Collection collection)
- Specified by:
updatein interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
updateChildrenOrder
public boolean updateChildrenOrder(UUID parentUuid, List<de.digitalcollections.model.identifiable.entity.Collection> children)
- Specified by:
updateChildrenOrderin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
-