java.lang.Object
de.digitalcollections.cudami.server.business.impl.service.identifiable.IdentifiableServiceImpl<de.digitalcollections.model.identifiable.web.Webpage>
de.digitalcollections.cudami.server.business.impl.service.identifiable.web.WebpageServiceImpl
All Implemented Interfaces:
IdentifiableService<de.digitalcollections.model.identifiable.web.Webpage>, NodeService<de.digitalcollections.model.identifiable.web.Webpage>, WebpageService

@Service
public class WebpageServiceImpl
extends IdentifiableServiceImpl<de.digitalcollections.model.identifiable.web.Webpage>
implements WebpageService
Service for Webpage handling.
  • Constructor Details

  • Method Details

    • addChildren

      public boolean addChildren​(java.util.UUID parentUuid, java.util.List<java.util.UUID> childrenUuids)
      Specified by:
      addChildren in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
    • findActiveChildren

      public de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.web.Webpage> findActiveChildren​(java.util.UUID uuid, de.digitalcollections.model.paging.SearchPageRequest searchPageRequest)
      Specified by:
      findActiveChildren in interface WebpageService
    • findChildren

      public de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.web.Webpage> findChildren​(java.util.UUID uuid, de.digitalcollections.model.paging.SearchPageRequest searchPageRequest)
      Specified by:
      findChildren in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
    • findRootPagesForWebsite

      public de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.web.Webpage> findRootPagesForWebsite​(java.util.UUID websiteUuid, de.digitalcollections.model.paging.SearchPageRequest pageRequest)
      Specified by:
      findRootPagesForWebsite in interface WebpageService
    • getActive

      public de.digitalcollections.model.identifiable.web.Webpage getActive​(java.util.UUID uuid)
      Specified by:
      getActive in interface WebpageService
    • getActive

      public de.digitalcollections.model.identifiable.web.Webpage getActive​(java.util.UUID uuid, java.util.Locale pLocale)
      Specified by:
      getActive in interface WebpageService
    • getActiveChildren

      public java.util.List<de.digitalcollections.model.identifiable.web.Webpage> getActiveChildren​(java.util.UUID uuid)
      Description copied from interface: WebpageService
      Returns a list of children (non recursive)
      Specified by:
      getActiveChildren in interface WebpageService
      Parameters:
      uuid - UUID of the parent webpage
      Returns:
      List of children Webpages
    • getActiveChildrenTree

      public java.util.List<de.digitalcollections.model.identifiable.web.Webpage> getActiveChildrenTree​(java.util.UUID uuid)
      Description copied from interface: WebpageService
      Returns a list of active children, with recursivly all children have their active children set
      Specified by:
      getActiveChildrenTree in interface WebpageService
      Parameters:
      uuid - UUID of the parent webpage
      Returns:
      List of acrive children Webpages
    • getActiveChildren

      public de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage> getActiveChildren​(java.util.UUID uuid, de.digitalcollections.model.paging.PageRequest pageRequest)
      Specified by:
      getActiveChildren in interface WebpageService
    • getChildrenTree

      public java.util.List<de.digitalcollections.model.identifiable.web.Webpage> getChildrenTree​(java.util.UUID uuid)
      Description copied from interface: WebpageService
      Returns a list of children, with recursively all children have their children set
      Specified by:
      getChildrenTree in interface WebpageService
      Parameters:
      uuid - UUID of the parent webpage
      Returns:
      List of active children webpages
    • getBreadcrumbNavigation

      public de.digitalcollections.model.view.BreadcrumbNavigation getBreadcrumbNavigation​(java.util.UUID uuid)
      Description copied from interface: NodeService
      Build and return the breadcrumb navigation for the given node UUID
      Specified by:
      getBreadcrumbNavigation in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
      Parameters:
      uuid - the uuid of the node.
      Returns:
      BreadcrumbNavigation with labels in all available languages
    • getChildren

      public java.util.List<de.digitalcollections.model.identifiable.web.Webpage> getChildren​(de.digitalcollections.model.identifiable.web.Webpage webpage)
      Specified by:
      getChildren in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
    • getChildren

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

      public de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage> getChildren​(java.util.UUID uuid, de.digitalcollections.model.paging.PageRequest pageRequest)
      Specified by:
      getChildren in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
    • getParent

      public de.digitalcollections.model.identifiable.web.Webpage getParent​(java.util.UUID webpageUuid)
      Specified by:
      getParent in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
    • getParents

      public java.util.List<de.digitalcollections.model.identifiable.web.Webpage> getParents​(java.util.UUID uuid)
      Specified by:
      getParents in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
    • getRootNodes

      public de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.web.Webpage> getRootNodes​(de.digitalcollections.model.paging.PageRequest pageRequest)
      Specified by:
      getRootNodes in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
    • getRootNodesLanguages

      public java.util.List<java.util.Locale> getRootNodesLanguages()
      Specified by:
      getRootNodesLanguages in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
    • getWebsite

      public de.digitalcollections.model.identifiable.entity.Website getWebsite​(java.util.UUID webpageUuid)
      Specified by:
      getWebsite in interface WebpageService
    • removeChild

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

      public de.digitalcollections.model.identifiable.web.Webpage saveWithParent​(java.util.UUID childUuid, java.util.UUID parentUuid) throws IdentifiableServiceException
      Specified by:
      saveWithParent in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
      Parameters:
      childUuid - UUID of newly created child node
      parentUuid - parent node the new node is child of
      Returns:
      saved child node
      Throws:
      IdentifiableServiceException - if saving fails
    • saveWithParentWebsite

      public de.digitalcollections.model.identifiable.web.Webpage saveWithParentWebsite​(de.digitalcollections.model.identifiable.web.Webpage webpage, java.util.UUID parentWebsiteUuid) throws IdentifiableServiceException
      Specified by:
      saveWithParentWebsite in interface WebpageService
      Throws:
      IdentifiableServiceException
    • updateChildrenOrder

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

      public de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.web.Webpage> findRootNodes​(de.digitalcollections.model.paging.SearchPageRequest searchPageRequest)
      Specified by:
      findRootNodes in interface NodeService<de.digitalcollections.model.identifiable.web.Webpage>
    • save

      public de.digitalcollections.model.identifiable.web.Webpage save​(de.digitalcollections.model.identifiable.web.Webpage identifiable) throws IdentifiableServiceException, ValidationException
      Specified by:
      save in interface IdentifiableService<de.digitalcollections.model.identifiable.web.Webpage>
      Overrides:
      save in class IdentifiableServiceImpl<de.digitalcollections.model.identifiable.web.Webpage>
      Throws:
      IdentifiableServiceException
      ValidationException
    • update

      public de.digitalcollections.model.identifiable.web.Webpage update​(de.digitalcollections.model.identifiable.web.Webpage identifiable) throws IdentifiableServiceException, ValidationException
      Specified by:
      update in interface IdentifiableService<de.digitalcollections.model.identifiable.web.Webpage>
      Overrides:
      update in class IdentifiableServiceImpl<de.digitalcollections.model.identifiable.web.Webpage>
      Throws:
      IdentifiableServiceException
      ValidationException