Class WebpageRepositoryImpl
- 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<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
@Repository public class WebpageRepositoryImpl extends IdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage> implements WebpageRepository
-
-
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 WebpageRepositoryImpl(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)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)protected List<String>getAllowedOrderByFields()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)StringgetColumnName(String modelProperty)de.digitalcollections.model.identifiable.web.WebpagegetParent(UUID uuid)List<de.digitalcollections.model.identifiable.web.Webpage>getParents(UUID uuid)List<Locale>getRootNodesLanguages()static StringgetSqlInsertFields()static StringgetSqlInsertValues()static StringgetSqlSelectAllFields(String tableAlias, String mappingPrefix)static StringgetSqlSelectReducedFields(String tableAlias, String mappingPrefix)static StringgetSqlUpdateFieldValues()de.digitalcollections.model.identifiable.entity.WebsitegetWebsite(UUID rootWebpageUuid)booleanremoveChild(UUID parentUuid, UUID childUuid)de.digitalcollections.model.identifiable.web.Webpagesave(de.digitalcollections.model.identifiable.web.Webpage webpage)de.digitalcollections.model.identifiable.web.WebpagesaveWithParent(UUID childWebpageUuid, UUID parentWebpageUuid)de.digitalcollections.model.identifiable.web.WebpagesaveWithParentWebsite(UUID webpageUuid, UUID parentWebsiteUuid)de.digitalcollections.model.identifiable.web.Webpageupdate(de.digitalcollections.model.identifiable.web.Webpage webpage)booleanupdateChildrenOrder(UUID parentUuid, List<de.digitalcollections.model.identifiable.web.Webpage> children)-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
addCrossTablePageRequestParams, addRelatedEntity, addRelatedFileresource, addSearchTermMappings, delete, extendReducedIdentifiable, find, find, find, find, findByLanguageAndInitial, getAllFull, getAllReduced, getIndex, getIndex, getLanguages, getRelatedEntities, getRelatedFileResources, getSearchTermTemplates, getSqlSelectAllFields, getSqlSelectReducedFields, getUniqueField, getWhereClause, retrieveCount, retrieveList, retrieveOne, retrieveOne, retrieveOne, save, setRelatedEntities, setRelatedFileResources, splitToArray, supportsCaseSensitivityForProperty, update
-
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.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
-
Methods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.web.WebpageRepository
updateChildrenOrder
-
-
-
-
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
-
WebpageRepositoryImpl
@Autowired public WebpageRepositoryImpl(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.web.Webpage>
-
findChildren
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage> findChildren(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
findRootNodes
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage> findRootNodes(de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findRootNodesin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
findRootWebpagesForWebsite
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage> findRootWebpagesForWebsite(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findRootWebpagesForWebsitein interfaceWebpageRepository
-
getAllowedOrderByFields
protected List<String> 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
-
getBreadcrumbNavigation
public de.digitalcollections.model.view.BreadcrumbNavigation getBreadcrumbNavigation(UUID uuid)
- Specified by:
getBreadcrumbNavigationin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
getByIdentifier
public de.digitalcollections.model.identifiable.web.Webpage getByIdentifier(de.digitalcollections.model.identifiable.Identifier identifier)
- Specified by:
getByIdentifierin interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.web.Webpage>- Overrides:
getByIdentifierin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>
-
getByUuidAndFiltering
public de.digitalcollections.model.identifiable.web.Webpage getByUuidAndFiltering(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering)
- Specified by:
getByUuidAndFilteringin interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.web.Webpage>- Overrides:
getByUuidAndFilteringin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>
-
getChildren
public List<de.digitalcollections.model.identifiable.web.Webpage> getChildren(UUID uuid)
- Specified by:
getChildrenin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
getColumnName
public String getColumnName(String modelProperty)
- 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)
- Specified by:
getParentin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
getParents
public List<de.digitalcollections.model.identifiable.web.Webpage> getParents(UUID uuid)
- Specified by:
getParentsin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
getRootNodesLanguages
public List<Locale> getRootNodesLanguages()
- Specified by:
getRootNodesLanguagesin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
getWebsite
public de.digitalcollections.model.identifiable.entity.Website getWebsite(UUID rootWebpageUuid)
- Specified by:
getWebsitein interfaceWebpageRepository
-
removeChild
public boolean removeChild(UUID parentUuid, UUID childUuid)
- Specified by:
removeChildin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
save
public de.digitalcollections.model.identifiable.web.Webpage save(de.digitalcollections.model.identifiable.web.Webpage webpage)
- Specified by:
savein interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
saveWithParent
public de.digitalcollections.model.identifiable.web.Webpage saveWithParent(UUID childWebpageUuid, UUID parentWebpageUuid)
- Specified by:
saveWithParentin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
saveWithParentWebsite
public de.digitalcollections.model.identifiable.web.Webpage saveWithParentWebsite(UUID webpageUuid, UUID parentWebsiteUuid)
- Specified by:
saveWithParentWebsitein interfaceWebpageRepository
-
update
public de.digitalcollections.model.identifiable.web.Webpage update(de.digitalcollections.model.identifiable.web.Webpage webpage)
- Specified by:
updatein interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
updateChildrenOrder
public boolean updateChildrenOrder(UUID parentUuid, List<de.digitalcollections.model.identifiable.web.Webpage> children)
- Specified by:
updateChildrenOrderin interfaceNodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
-
-