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 java.lang.StringMAPPING_PREFIXstatic java.lang.StringTABLE_ALIASstatic java.lang.StringTABLE_NAMEFields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
additionalReduceRowsBiFunction, basicReduceRowsBiFunction, fullReduceRowsBiFunction, identifiableImplClass, identifierRepository, sqlSelectAllFields, sqlSelectAllFieldsJoins, sqlSelectReducedFieldsFields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
dbi, mappingPrefix, tableAlias, tableName -
Constructor Summary
Constructors Constructor Description CollectionRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, IdentifierRepository identifierRepository) -
Method Summary
Modifier and Type Method Description booleanaddChildren(java.util.UUID parentUuid, java.util.List<java.util.UUID> childrenUuids)booleanaddDigitalObjects(java.util.UUID collectionUuid, java.util.List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.entity.Collection>findChildren(java.util.UUID uuid, de.digitalcollections.model.paging.SearchPageRequest searchPageRequest)de.digitalcollections.model.identifiable.entity.CollectionfindOne(de.digitalcollections.model.identifiable.Identifier identifier)de.digitalcollections.model.identifiable.entity.CollectionfindOne(java.util.UUID uuid, de.digitalcollections.model.filter.Filtering filtering)de.digitalcollections.model.identifiable.entity.CollectionfindOneByRefId(long refId)de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.entity.Collection>findRootNodes(de.digitalcollections.model.paging.SearchPageRequest searchPageRequest)protected java.util.List<java.lang.String>getAllowedOrderByFields()de.digitalcollections.model.view.BreadcrumbNavigationgetBreadcrumbNavigation(java.util.UUID nodeUuid)java.util.List<de.digitalcollections.model.identifiable.entity.Collection>getChildren(java.util.UUID uuid)de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection>getChildren(java.util.UUID uuid, de.digitalcollections.model.paging.PageRequest pageRequest)protected java.lang.StringgetColumnName(java.lang.String modelProperty)de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.entity.DigitalObject>getDigitalObjects(java.util.UUID collectionUuid, de.digitalcollections.model.paging.PageRequest pageRequest)de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.entity.DigitalObject>getDigitalObjects(java.util.UUID collectionUuid, de.digitalcollections.model.paging.SearchPageRequest searchPageRequest)de.digitalcollections.model.identifiable.entity.CollectiongetParent(java.util.UUID uuid)java.util.List<de.digitalcollections.model.identifiable.entity.Collection>getParents(java.util.UUID uuid)java.util.List<de.digitalcollections.model.identifiable.entity.agent.CorporateBody>getRelatedCorporateBodies(java.util.UUID uuid, de.digitalcollections.model.filter.Filtering filtering)de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection>getRootNodes(de.digitalcollections.model.paging.PageRequest pageRequest)java.util.List<java.util.Locale>getRootNodesLanguages()static java.lang.StringgetSqlInsertFields()static java.lang.StringgetSqlInsertValues()static java.lang.StringgetSqlSelectAllFields(java.lang.String tableAlias, java.lang.String mappingPrefix)static java.lang.StringgetSqlSelectReducedFields(java.lang.String tableAlias, java.lang.String mappingPrefix)static java.lang.StringgetSqlUpdateFieldValues()booleanremoveChild(java.util.UUID parentUuid, java.util.UUID childUuid)booleanremoveDigitalObject(java.util.UUID collectionUuid, java.util.UUID digitalObjectUuid)booleanremoveDigitalObjectFromAllCollections(de.digitalcollections.model.identifiable.entity.DigitalObject digitalObject)de.digitalcollections.model.identifiable.entity.Collectionsave(de.digitalcollections.model.identifiable.entity.Collection collection)booleansaveDigitalObjects(java.util.UUID collectionUuid, java.util.List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)de.digitalcollections.model.identifiable.entity.CollectionsaveWithParent(de.digitalcollections.model.identifiable.entity.Collection collection, java.util.UUID parentUuid)de.digitalcollections.model.identifiable.entity.Collectionupdate(de.digitalcollections.model.identifiable.entity.Collection collection)booleanupdateChildrenOrder(java.util.UUID parentUuid, java.util.List<de.digitalcollections.model.identifiable.entity.Collection> children)Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.EntityRepositoryImpl
addRelatedFileresource, findRandom, getRelatedFileResources, save, saveRelatedFileResources, updateMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
addRelatedEntity, delete, deleteIdentifiers, escapeTermForJsonpath, find, find, find, find, findAllFull, findAllReduced, findByLanguageAndInitial, getCommonSearchSql, getIndex, getIndex, getLanguages, getRelatedEntities, getSqlSelectAllFields, getSqlSelectReducedFields, retrieveCount, retrieveList, retrieveNextSortIndexForParentChildren, retrieveOne, saveIdentifiers, saveRelatedEntitiesMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
count, getMappingPrefix, getTableAlias, getTableNameMethods inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
addFiltering, addFiltering, addLimit, addOffset, addOrderBy, addPageRequestParams, convertToSqlString, getFilterClauses, getOrderBy, getWhereClauseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.entity.CollectionRepository
addDigitalObject, addDigitalObjects, getDigitalObjects, removeDigitalObject, saveDigitalObjectsMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.entity.EntityRepository
findRandomMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.IdentifiableRepository
addRelatedEntity, addRelatedEntity, addRelatedFileresource, addRelatedFileresource, count, delete, delete, deleteIdentifiers, find, find, find, findAllFull, findAllReduced, findByLanguageAndInitial, findOne, findOneByIdentifier, getLanguages, getRelatedEntities, getRelatedEntities, getRelatedFileResources, getRelatedFileResources, save, saveRelatedEntities, saveRelatedEntities, saveRelatedFileResources, saveRelatedFileResources, updateMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.NodeRepository
addChild, addChild, addChildren, getChildren, removeChild
-
Field Details
-
MAPPING_PREFIX
public static final java.lang.String MAPPING_PREFIX- See Also:
- Constant Field Values
-
TABLE_ALIAS
public static final java.lang.String TABLE_ALIAS- See Also:
- Constant Field Values
-
TABLE_NAME
public static final java.lang.String TABLE_NAME- See Also:
- Constant Field Values
-
-
Constructor Details
-
CollectionRepositoryImpl
@Autowired public CollectionRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, IdentifierRepository identifierRepository)
-
-
Method Details
-
getSqlInsertFields
public static java.lang.String getSqlInsertFields() -
getSqlInsertValues
public static java.lang.String getSqlInsertValues() -
getSqlSelectAllFields
public static java.lang.String getSqlSelectAllFields(java.lang.String tableAlias, java.lang.String mappingPrefix) -
getSqlSelectReducedFields
public static java.lang.String getSqlSelectReducedFields(java.lang.String tableAlias, java.lang.String mappingPrefix) -
getSqlUpdateFieldValues
public static java.lang.String getSqlUpdateFieldValues() -
addChildren
public boolean addChildren(java.util.UUID parentUuid, java.util.List<java.util.UUID> childrenUuids)- Specified by:
addChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
addDigitalObjects
public boolean addDigitalObjects(java.util.UUID collectionUuid, java.util.List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)- Specified by:
addDigitalObjectsin interfaceCollectionRepository
-
findChildren
public de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.entity.Collection> findChildren(java.util.UUID uuid, de.digitalcollections.model.paging.SearchPageRequest searchPageRequest)- Specified by:
findChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
findOne
public de.digitalcollections.model.identifiable.entity.Collection findOne(java.util.UUID uuid, de.digitalcollections.model.filter.Filtering filtering)- Specified by:
findOnein interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.entity.Collection>- Overrides:
findOnein classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.Collection>
-
findOne
public de.digitalcollections.model.identifiable.entity.Collection findOne(de.digitalcollections.model.identifiable.Identifier identifier)- Specified by:
findOnein interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.entity.Collection>- Overrides:
findOnein classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.Collection>
-
findOneByRefId
public de.digitalcollections.model.identifiable.entity.Collection findOneByRefId(long refId)- Specified by:
findOneByRefIdin interfaceEntityRepository<de.digitalcollections.model.identifiable.entity.Collection>- Overrides:
findOneByRefIdin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.Collection>
-
getAllowedOrderByFields
protected java.util.List<java.lang.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(java.util.UUID nodeUuid)- Specified by:
getBreadcrumbNavigationin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getChildren
public java.util.List<de.digitalcollections.model.identifiable.entity.Collection> getChildren(java.util.UUID uuid)- Specified by:
getChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getChildren
public de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection> getChildren(java.util.UUID uuid, de.digitalcollections.model.paging.PageRequest pageRequest)- Specified by:
getChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getColumnName
protected java.lang.String getColumnName(java.lang.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)
-
getDigitalObjects
public de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.entity.DigitalObject> getDigitalObjects(java.util.UUID collectionUuid, de.digitalcollections.model.paging.SearchPageRequest searchPageRequest)- Specified by:
getDigitalObjectsin interfaceCollectionRepository
-
getDigitalObjects
public de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.entity.DigitalObject> getDigitalObjects(java.util.UUID collectionUuid, de.digitalcollections.model.paging.PageRequest pageRequest)- Specified by:
getDigitalObjectsin interfaceCollectionRepository
-
getParent
public de.digitalcollections.model.identifiable.entity.Collection getParent(java.util.UUID uuid)- Specified by:
getParentin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getParents
public java.util.List<de.digitalcollections.model.identifiable.entity.Collection> getParents(java.util.UUID uuid)- Specified by:
getParentsin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getRelatedCorporateBodies
public java.util.List<de.digitalcollections.model.identifiable.entity.agent.CorporateBody> getRelatedCorporateBodies(java.util.UUID uuid, de.digitalcollections.model.filter.Filtering filtering)- Specified by:
getRelatedCorporateBodiesin interfaceCollectionRepository
-
getRootNodes
public de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection> getRootNodes(de.digitalcollections.model.paging.PageRequest pageRequest)- Specified by:
getRootNodesin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
findRootNodes
public de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.entity.Collection> findRootNodes(de.digitalcollections.model.paging.SearchPageRequest searchPageRequest)- Specified by:
findRootNodesin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
getRootNodesLanguages
public java.util.List<java.util.Locale> getRootNodesLanguages()- Specified by:
getRootNodesLanguagesin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
removeChild
public boolean removeChild(java.util.UUID parentUuid, java.util.UUID childUuid)- Specified by:
removeChildin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
removeDigitalObject
public boolean removeDigitalObject(java.util.UUID collectionUuid, java.util.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>
-
saveDigitalObjects
public boolean saveDigitalObjects(java.util.UUID collectionUuid, java.util.List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)- Specified by:
saveDigitalObjectsin interfaceCollectionRepository
-
saveWithParent
public de.digitalcollections.model.identifiable.entity.Collection saveWithParent(de.digitalcollections.model.identifiable.entity.Collection collection, java.util.UUID parentUuid)- Specified by:
saveWithParentin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-
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(java.util.UUID parentUuid, java.util.List<de.digitalcollections.model.identifiable.entity.Collection> children)- Specified by:
updateChildrenOrderin interfaceNodeRepository<de.digitalcollections.model.identifiable.entity.Collection>
-