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.api.identifiable.entity.Collection>
de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.CollectionRepositoryImpl
- All Implemented Interfaces:
CollectionRepository,EntityRepository<de.digitalcollections.model.api.identifiable.entity.Collection>,IdentifiableRepository<de.digitalcollections.model.api.identifiable.entity.Collection>,NodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
@Repository public class CollectionRepositoryImpl extends EntityRepositoryImpl<de.digitalcollections.model.api.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<de.digitalcollections.model.api.identifiable.entity.Collection> children)booleanaddDigitalObjects(java.util.UUID collectionUuid, java.util.List<de.digitalcollections.model.api.identifiable.entity.DigitalObject> digitalObjects)de.digitalcollections.model.api.identifiable.entity.CollectionfindOne(de.digitalcollections.model.api.identifiable.Identifier identifier)de.digitalcollections.model.api.identifiable.entity.CollectionfindOne(java.util.UUID uuid, de.digitalcollections.model.api.filter.Filtering filtering)de.digitalcollections.model.api.identifiable.entity.CollectionfindOneByRefId(long refId)protected java.util.List<java.lang.String>getAllowedOrderByFields()de.digitalcollections.model.api.view.BreadcrumbNavigationgetBreadcrumbNavigation(java.util.UUID nodeUuid)java.util.List<de.digitalcollections.model.api.identifiable.entity.Collection>getChildren(de.digitalcollections.model.api.identifiable.entity.Collection collection)java.util.List<de.digitalcollections.model.api.identifiable.entity.Collection>getChildren(java.util.UUID uuid)de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.Collection>getChildren(java.util.UUID uuid, de.digitalcollections.model.api.paging.PageRequest pageRequest)protected java.lang.StringgetColumnName(java.lang.String modelProperty)de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.DigitalObject>getDigitalObjects(java.util.UUID collectionUuid, de.digitalcollections.model.api.paging.PageRequest pageRequest)de.digitalcollections.model.api.identifiable.entity.CollectiongetParent(java.util.UUID uuid)java.util.List<de.digitalcollections.model.api.identifiable.entity.Collection>getParents(java.util.UUID uuid)java.util.List<de.digitalcollections.model.api.identifiable.entity.agent.CorporateBody>getRelatedCorporateBodies(java.util.UUID uuid, de.digitalcollections.model.api.filter.Filtering filtering)de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.Collection>getRootNodes(de.digitalcollections.model.api.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.api.identifiable.entity.DigitalObject digitalObject)de.digitalcollections.model.api.identifiable.entity.Collectionsave(de.digitalcollections.model.api.identifiable.entity.Collection collection)booleansaveDigitalObjects(java.util.UUID collectionUuid, java.util.List<de.digitalcollections.model.api.identifiable.entity.DigitalObject> digitalObjects)de.digitalcollections.model.api.identifiable.entity.CollectionsaveWithParent(de.digitalcollections.model.api.identifiable.entity.Collection collection, java.util.UUID parentUuid)de.digitalcollections.model.api.identifiable.entity.Collectionupdate(de.digitalcollections.model.api.identifiable.entity.Collection collection)booleanupdateChildrenOrder(java.util.UUID parentUuid, java.util.List<de.digitalcollections.model.api.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
delete, deleteIdentifiers, find, find, find, find, findAllFull, findAllReduced, findByLanguageAndInitial, getIndex, getSqlSelectAllFields, getSqlSelectReducedFields, retrieveCount, retrieveList, retrieveNextSortIndexForParentChildren, retrieveOne, saveIdentifiersMethods 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
addRelatedFileresource, addRelatedFileresource, findRandom, getRelatedFileResources, getRelatedFileResources, saveRelatedFileResources, saveRelatedFileResourcesMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.IdentifiableRepository
count, delete, delete, deleteIdentifiers, find, find, find, findAllFull, findAllReduced, findByLanguageAndInitial, findOne, findOneByIdentifier, save, updateMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.NodeRepository
addChild, addChildren, 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<de.digitalcollections.model.api.identifiable.entity.Collection> children)- Specified by:
addChildrenin interfaceNodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
addDigitalObjects
public boolean addDigitalObjects(java.util.UUID collectionUuid, java.util.List<de.digitalcollections.model.api.identifiable.entity.DigitalObject> digitalObjects)- Specified by:
addDigitalObjectsin interfaceCollectionRepository
-
findOne
public de.digitalcollections.model.api.identifiable.entity.Collection findOne(java.util.UUID uuid, de.digitalcollections.model.api.filter.Filtering filtering)- Specified by:
findOnein interfaceIdentifiableRepository<de.digitalcollections.model.api.identifiable.entity.Collection>- Overrides:
findOnein classIdentifiableRepositoryImpl<de.digitalcollections.model.api.identifiable.entity.Collection>
-
findOne
public de.digitalcollections.model.api.identifiable.entity.Collection findOne(de.digitalcollections.model.api.identifiable.Identifier identifier)- Specified by:
findOnein interfaceIdentifiableRepository<de.digitalcollections.model.api.identifiable.entity.Collection>- Overrides:
findOnein classIdentifiableRepositoryImpl<de.digitalcollections.model.api.identifiable.entity.Collection>
-
findOneByRefId
public de.digitalcollections.model.api.identifiable.entity.Collection findOneByRefId(long refId)- Specified by:
findOneByRefIdin interfaceEntityRepository<de.digitalcollections.model.api.identifiable.entity.Collection>- Overrides:
findOneByRefIdin classEntityRepositoryImpl<de.digitalcollections.model.api.identifiable.entity.Collection>
-
getAllowedOrderByFields
protected java.util.List<java.lang.String> getAllowedOrderByFields()- Overrides:
getAllowedOrderByFieldsin classEntityRepositoryImpl<de.digitalcollections.model.api.identifiable.entity.Collection>- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getChildren
public java.util.List<de.digitalcollections.model.api.identifiable.entity.Collection> getChildren(de.digitalcollections.model.api.identifiable.entity.Collection collection)- Specified by:
getChildrenin interfaceNodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
getChildren
public java.util.List<de.digitalcollections.model.api.identifiable.entity.Collection> getChildren(java.util.UUID uuid)- Specified by:
getChildrenin interfaceNodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
getChildren
public de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.Collection> getChildren(java.util.UUID uuid, de.digitalcollections.model.api.paging.PageRequest pageRequest)- Specified by:
getChildrenin interfaceNodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
getColumnName
protected java.lang.String getColumnName(java.lang.String modelProperty)- Overrides:
getColumnNamein classEntityRepositoryImpl<de.digitalcollections.model.api.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.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.DigitalObject> getDigitalObjects(java.util.UUID collectionUuid, de.digitalcollections.model.api.paging.PageRequest pageRequest)- Specified by:
getDigitalObjectsin interfaceCollectionRepository
-
getParent
public de.digitalcollections.model.api.identifiable.entity.Collection getParent(java.util.UUID uuid)- Specified by:
getParentin interfaceNodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
getParents
public java.util.List<de.digitalcollections.model.api.identifiable.entity.Collection> getParents(java.util.UUID uuid)- Specified by:
getParentsin interfaceNodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
getRelatedCorporateBodies
public java.util.List<de.digitalcollections.model.api.identifiable.entity.agent.CorporateBody> getRelatedCorporateBodies(java.util.UUID uuid, de.digitalcollections.model.api.filter.Filtering filtering)- Specified by:
getRelatedCorporateBodiesin interfaceCollectionRepository
-
getRootNodes
public de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.Collection> getRootNodes(de.digitalcollections.model.api.paging.PageRequest pageRequest)- Specified by:
getRootNodesin interfaceNodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
getRootNodesLanguages
public java.util.List<java.util.Locale> getRootNodesLanguages()- Specified by:
getRootNodesLanguagesin interfaceNodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
removeChild
public boolean removeChild(java.util.UUID parentUuid, java.util.UUID childUuid)- Specified by:
removeChildin interfaceNodeRepository<de.digitalcollections.model.api.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.api.identifiable.entity.DigitalObject digitalObject)- Specified by:
removeDigitalObjectFromAllCollectionsin interfaceCollectionRepository
-
save
public de.digitalcollections.model.api.identifiable.entity.Collection save(de.digitalcollections.model.api.identifiable.entity.Collection collection)- Specified by:
savein interfaceIdentifiableRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
saveDigitalObjects
public boolean saveDigitalObjects(java.util.UUID collectionUuid, java.util.List<de.digitalcollections.model.api.identifiable.entity.DigitalObject> digitalObjects)- Specified by:
saveDigitalObjectsin interfaceCollectionRepository
-
saveWithParent
public de.digitalcollections.model.api.identifiable.entity.Collection saveWithParent(de.digitalcollections.model.api.identifiable.entity.Collection collection, java.util.UUID parentUuid)- Specified by:
saveWithParentin interfaceNodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
update
public de.digitalcollections.model.api.identifiable.entity.Collection update(de.digitalcollections.model.api.identifiable.entity.Collection collection)- Specified by:
updatein interfaceIdentifiableRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-
updateChildrenOrder
public boolean updateChildrenOrder(java.util.UUID parentUuid, java.util.List<de.digitalcollections.model.api.identifiable.entity.Collection> children)- Specified by:
updateChildrenOrderin interfaceNodeRepository<de.digitalcollections.model.api.identifiable.entity.Collection>
-