Class WebpageRepositoryImpl
java.lang.Object
de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingSortingFilteringRepositoryImpl
de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl<U>
de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl<I>
de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>
de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.web.WebpageRepositoryImpl
- All Implemented Interfaces:
IdentifiableRepository<de.digitalcollections.model.identifiable.web.Webpage>,NodeRepository<de.digitalcollections.model.identifiable.web.Webpage>,WebpageRepository,PagingSortingFilteringRepository<de.digitalcollections.model.identifiable.web.Webpage>,UniqueObjectRepository<de.digitalcollections.model.identifiable.web.Webpage>
@Repository
public class WebpageRepositoryImpl
extends IdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>
implements WebpageRepository
-
Field Summary
FieldsFields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl
additionalReduceRowsBiConsumer, basicReduceRowsBiConsumer, fullReduceRowsBiConsumer, uniqueObjectImplClassFields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
dbi, mappingPrefix, tableAlias, tableNameFields inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingSortingFilteringRepositoryImpl
offsetForAlternativePaging -
Constructor Summary
ConstructorsConstructorDescriptionWebpageRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig, IdentifierRepository identifierRepository, UrlAliasRepository urlAliasRepository) -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddChildren(UUID parentUuid, List<UUID> childrenUuids) de.digitalcollections.model.identifiable.web.Webpagecreate()de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage>findChildren(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage>findRootNodes(de.digitalcollections.model.list.paging.PageRequest pageRequest) de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage>findRootWebpagesForWebsite(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) de.digitalcollections.model.view.BreadcrumbNavigationgetBreadcrumbNavigation(UUID uuid) de.digitalcollections.model.identifiable.web.WebpagegetByIdentifier(de.digitalcollections.model.identifiable.Identifier identifier) de.digitalcollections.model.identifiable.web.WebpagegetByUuidAndFiltering(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering) List<de.digitalcollections.model.identifiable.web.Webpage>getChildren(UUID uuid) getColumnName(String modelProperty) de.digitalcollections.model.identifiable.web.WebpageList<de.digitalcollections.model.identifiable.web.Webpage>getParents(UUID uuid) protected Stringprotected StringDo not change order! Must match order in getSqlInsertFields!!!getSqlSelectAllFields(String tableAlias, String mappingPrefix) SQL-snippet for fields to be returned for complete field request.
If already all fields are returned with reduced fields request: just return reduced field set here, otherwise add additional fields to reduced set to get all fields.getSqlSelectReducedFields(String tableAlias, String mappingPrefix) protected Stringde.digitalcollections.model.identifiable.entity.WebsitegetWebsite(UUID rootWebpageUuid) booleanremoveChild(UUID parentUuid, UUID childUuid) de.digitalcollections.model.identifiable.web.WebpagesaveWithParent(UUID childWebpageUuid, UUID parentWebpageUuid) de.digitalcollections.model.identifiable.web.WebpagesaveWithParentWebsite(UUID webpageUuid, UUID parentWebsiteUuid) booleanupdateChildrenOrder(UUID parentUuid, List<UUID> children) Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
addCrossTablePagingAndSorting, addRelatedEntity, addRelatedFileresource, createAdditionalReduceRowsBiConsumer, createBasicReduceRowsBiConsumer, createFullReduceRowsBiConcumer, deleteByUuids, extendReducedIdentifiable, find, findByLanguageAndInitial, findRelatedEntities, findRelatedFileResources, getByIdentifier, getJsonbFields, getLanguages, getRandom, hasSplitColumn, retrieveList, retrieveList, retrieveOne, save, setRelatedEntities, setRelatedFileResources, supportsCaseSensitivityForProperty, updateMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl
deleteByUuid, execSelectForList, extractUuids, find, find, find, getIndex, getIndex, getReturnedFieldsOnInsertUpdate, getSqlSelectAllFields, getSqlSelectAllFieldsJoins, getSqlSelectReducedFields, getSqlSelectReducedFieldsJoins, getUniqueField, insertUpdateCallback, retrieveCount, retrieveOne, retrieveOne, save, sqlSelectReducedFields, updateMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
addFiltering, addFiltering, count, count, escapeTermForJsonpath, execUpdateWithList, execUpdateWithMap, filterByLocalizedTextFields, filterBySplitField, getMappingPrefix, getTableAlias, getTableName, getTargetExpression, getWhereClause, getWhereClauses, mapFilterExpressionsToOtherTableColumnNames, retrieveNextSortIndexForParentChildren, splitToArray, splitToArrayMethods inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingSortingFilteringRepositoryImpl
addOrderBy, addPagingAndSorting, getOrderByMethods 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.IdentifiableRepository
addRelatedEntity, addRelatedEntity, addRelatedFileresource, addRelatedFileresource, findByLanguageAndInitial, findRelatedEntities, findRelatedEntities, findRelatedFileResources, findRelatedFileResources, getByIdentifiable, getByIdentifier, getLanguages, setRelatedEntities, setRelatedEntities, setRelatedFileResources, setRelatedFileResourcesMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.NodeRepository
addChild, addChild, addChildren, findChildren, getBreadcrumbNavigation, getChildren, getParent, getParents, removeChild, saveWithParent, updateChildrenOrderMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.PagingSortingFilteringRepository
findMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.UniqueObjectRepository
count, delete, delete, deleteByUuid, deleteByUuids, getByExample, getByExampleAndFiltering, getByUuid, getRandom, save, save, saveOrUpdate, update, updateMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.web.WebpageRepository
findRootWebpagesForWebsite, getWebsite, saveWithParentWebsite
-
Field Details
-
MAPPING_PREFIX
- See Also:
-
TABLE_ALIAS
- See Also:
-
TABLE_NAME
- See Also:
-
-
Constructor Details
-
WebpageRepositoryImpl
public WebpageRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig, IdentifierRepository identifierRepository, UrlAliasRepository urlAliasRepository)
-
-
Method Details
-
addChildren
- Specified by:
addChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>- Throws:
RepositoryException
-
create
- Specified by:
createin interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.web.Webpage>- Overrides:
createin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>- Throws:
RepositoryException
-
findChildren
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage> findChildren(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) throws RepositoryException - Specified by:
findChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>- Throws:
RepositoryException
-
findRootNodes
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage> findRootNodes(de.digitalcollections.model.list.paging.PageRequest pageRequest) throws RepositoryException - Specified by:
findRootNodesin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>- Throws:
RepositoryException
-
findRootWebpagesForWebsite
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage> findRootWebpagesForWebsite(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) throws RepositoryException - Specified by:
findRootWebpagesForWebsitein interfaceWebpageRepository- Throws:
RepositoryException
-
getAllowedOrderByFields
- Overrides:
getAllowedOrderByFieldsin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getByIdentifier
public de.digitalcollections.model.identifiable.web.Webpage getByIdentifier(de.digitalcollections.model.identifiable.Identifier identifier) throws RepositoryException - Specified by:
getByIdentifierin interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.web.Webpage>- Throws:
RepositoryException
-
getByUuidAndFiltering
public de.digitalcollections.model.identifiable.web.Webpage getByUuidAndFiltering(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering) throws RepositoryException - Specified by:
getByUuidAndFilteringin interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.web.Webpage>- Overrides:
getByUuidAndFilteringin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>- Throws:
RepositoryException
-
getChildren
public List<de.digitalcollections.model.identifiable.web.Webpage> getChildren(UUID uuid) throws RepositoryException - Specified by:
getChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>- Throws:
RepositoryException
-
getColumnName
- Overrides:
getColumnNamein classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>- 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.web.Webpage getParent(UUID uuid) throws RepositoryException - Specified by:
getParentin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>- Throws:
RepositoryException
-
getParents
public List<de.digitalcollections.model.identifiable.web.Webpage> getParents(UUID uuid) throws RepositoryException - Specified by:
getParentsin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>- Throws:
RepositoryException
-
getRootNodesLanguages
- Specified by:
getRootNodesLanguagesin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
getSqlInsertFields
- Overrides:
getSqlInsertFieldsin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>- Returns:
- SQL for field names for insert statement of
UniqueObject
-
getSqlInsertValues
Description copied from class:UniqueObjectRepositoryImplDo not change order! Must match order in getSqlInsertFields!!!- Overrides:
getSqlInsertValuesin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>- Returns:
- SQL for value mapping for field names for insert statement of
UniqueObject
-
getSqlSelectAllFields
Description copied from class:IdentifiableRepositoryImplSQL-snippet for fields to be returned for complete field request.
If already all fields are returned with reduced fields request: just return reduced field set here, otherwise add additional fields to reduced set to get all fields.- Overrides:
getSqlSelectAllFieldsin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>- Returns:
- SQL snippet
-
getSqlSelectReducedFields
- Overrides:
getSqlSelectReducedFieldsin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>- Returns:
- SQL for fields of reduced field set of
UniqueObject
-
getSqlUpdateFieldValues
- Overrides:
getSqlUpdateFieldValuesin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>
-
getWebsite
- Specified by:
getWebsitein interfaceWebpageRepository
-
removeChild
- Specified by:
removeChildin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
saveWithParent
public de.digitalcollections.model.identifiable.web.Webpage saveWithParent(UUID childWebpageUuid, UUID parentWebpageUuid) throws RepositoryException - Specified by:
saveWithParentin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>- Throws:
RepositoryException
-
saveWithParentWebsite
public de.digitalcollections.model.identifiable.web.Webpage saveWithParentWebsite(UUID webpageUuid, UUID parentWebsiteUuid) throws RepositoryException - Specified by:
saveWithParentWebsitein interfaceWebpageRepository- Throws:
RepositoryException
-
updateChildrenOrder
- Specified by:
updateChildrenOrderin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-