Class WebpageRepositoryImpl

    • 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:
        addChildren in interface NodeRepository<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:
        findChildren in interface NodeRepository<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:
        findRootNodes in interface NodeRepository<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:
        findRootWebpagesForWebsite in interface WebpageRepository
      • getAllowedOrderByFields

        protected List<String> getAllowedOrderByFields()
        Overrides:
        getAllowedOrderByFields in class IdentifiableRepositoryImpl<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:
        getBreadcrumbNavigation in interface NodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
      • getByIdentifier

        public de.digitalcollections.model.identifiable.web.Webpage getByIdentifier​(de.digitalcollections.model.identifiable.Identifier identifier)
        Specified by:
        getByIdentifier in interface IdentifiableRepository<de.digitalcollections.model.identifiable.web.Webpage>
        Overrides:
        getByIdentifier in class IdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.web.Webpage>
      • getChildren

        public List<de.digitalcollections.model.identifiable.web.Webpage> getChildren​(UUID uuid)
        Specified by:
        getChildren in interface NodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
      • getColumnName

        public String getColumnName​(String modelProperty)
        Overrides:
        getColumnName in class IdentifiableRepositoryImpl<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:
        getParent in interface NodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
      • getParents

        public List<de.digitalcollections.model.identifiable.web.Webpage> getParents​(UUID uuid)
        Specified by:
        getParents in interface NodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
      • getWebsite

        public de.digitalcollections.model.identifiable.entity.Website getWebsite​(UUID rootWebpageUuid)
        Specified by:
        getWebsite in interface WebpageRepository
      • removeChild

        public boolean removeChild​(UUID parentUuid,
                                   UUID childUuid)
        Specified by:
        removeChild in interface NodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
      • save

        public de.digitalcollections.model.identifiable.web.Webpage save​(de.digitalcollections.model.identifiable.web.Webpage webpage)
        Specified by:
        save in interface IdentifiableRepository<de.digitalcollections.model.identifiable.web.Webpage>
      • saveWithParent

        public de.digitalcollections.model.identifiable.web.Webpage saveWithParent​(UUID childWebpageUuid,
                                                                                   UUID parentWebpageUuid)
        Specified by:
        saveWithParent in interface NodeRepository<de.digitalcollections.model.identifiable.web.Webpage>
      • update

        public de.digitalcollections.model.identifiable.web.Webpage update​(de.digitalcollections.model.identifiable.web.Webpage webpage)
        Specified by:
        update in interface IdentifiableRepository<de.digitalcollections.model.identifiable.web.Webpage>
      • updateChildrenOrder

        public boolean updateChildrenOrder​(UUID parentUuid,
                                           List<de.digitalcollections.model.identifiable.web.Webpage> children)
        Specified by:
        updateChildrenOrder in interface NodeRepository<de.digitalcollections.model.identifiable.web.Webpage>