java.lang.Object
de.digitalcollections.cudami.server.business.impl.service.identifiable.IdentifiableServiceImpl<E>
de.digitalcollections.cudami.server.business.impl.service.identifiable.entity.EntityServiceImpl<de.digitalcollections.model.identifiable.entity.Topic>
de.digitalcollections.cudami.server.business.impl.service.identifiable.entity.TopicServiceImpl
All Implemented Interfaces:
EntityService<de.digitalcollections.model.identifiable.entity.Topic>, TopicService, IdentifiableService<de.digitalcollections.model.identifiable.entity.Topic>, NodeService<de.digitalcollections.model.identifiable.entity.Topic>

@Service
public class TopicServiceImpl
extends EntityServiceImpl<de.digitalcollections.model.identifiable.entity.Topic>
implements TopicService
Service for Topic 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.entity.Topic>
    • findChildren

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

      public java.util.List<de.digitalcollections.model.identifiable.entity.Entity> getAllEntities​(java.util.UUID topicUuid)
      Specified by:
      getAllEntities in interface TopicService
    • getBreadcrumbNavigation

      public de.digitalcollections.model.view.BreadcrumbNavigation getBreadcrumbNavigation​(java.util.UUID nodeUuid)
      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.entity.Topic>
      Parameters:
      nodeUuid - the uuid of the node.
      Returns:
      BreadcrumbNavigation with labels in all available languages
    • getChildren

      public java.util.List<de.digitalcollections.model.identifiable.entity.Topic> getChildren​(java.util.UUID nodeUuid)
      Specified by:
      getChildren in interface NodeService<de.digitalcollections.model.identifiable.entity.Topic>
    • getChildren

      public de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Topic> getChildren​(java.util.UUID nodeUuid, de.digitalcollections.model.paging.PageRequest pageRequest)
      Specified by:
      getChildren in interface NodeService<de.digitalcollections.model.identifiable.entity.Topic>
    • getEntities

      public de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Entity> getEntities​(java.util.UUID topicUuid, de.digitalcollections.model.paging.PageRequest pageRequest)
      Specified by:
      getEntities in interface TopicService
    • getFileResources

      public java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> getFileResources​(java.util.UUID topicUuid)
      Specified by:
      getFileResources in interface TopicService
    • getFileResources

      public de.digitalcollections.model.paging.PageResponse<de.digitalcollections.model.identifiable.resource.FileResource> getFileResources​(java.util.UUID topicUuid, de.digitalcollections.model.paging.PageRequest pageRequest)
      Specified by:
      getFileResources in interface TopicService
    • getLanguagesOfEntities

      public java.util.List<java.util.Locale> getLanguagesOfEntities​(java.util.UUID topicUuid)
      Specified by:
      getLanguagesOfEntities in interface TopicService
    • getLanguagesOfFileResources

      public java.util.List<java.util.Locale> getLanguagesOfFileResources​(java.util.UUID topicUuid)
      Specified by:
      getLanguagesOfFileResources in interface TopicService
    • getParent

      public de.digitalcollections.model.identifiable.entity.Topic getParent​(java.util.UUID nodeUuid)
      Specified by:
      getParent in interface NodeService<de.digitalcollections.model.identifiable.entity.Topic>
    • getParents

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

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

      public java.util.List<java.util.Locale> getRootNodesLanguages()
      Specified by:
      getRootNodesLanguages in interface NodeService<de.digitalcollections.model.identifiable.entity.Topic>
    • getTopicsOfEntity

      public java.util.List<de.digitalcollections.model.identifiable.entity.Topic> getTopicsOfEntity​(java.util.UUID entityUuid)
      Specified by:
      getTopicsOfEntity in interface TopicService
    • getTopicsOfFileResource

      public java.util.List<de.digitalcollections.model.identifiable.entity.Topic> getTopicsOfFileResource​(java.util.UUID fileResourceUuid)
      Specified by:
      getTopicsOfFileResource in interface TopicService
    • removeChild

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

      public java.util.List<de.digitalcollections.model.identifiable.entity.Entity> saveEntities​(java.util.UUID topicUuid, java.util.List<de.digitalcollections.model.identifiable.entity.Entity> entities)
      Specified by:
      saveEntities in interface TopicService
    • saveFileResources

      public java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> saveFileResources​(java.util.UUID topicUuid, java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources)
      Specified by:
      saveFileResources in interface TopicService
    • saveWithParent

      public de.digitalcollections.model.identifiable.entity.Topic saveWithParent​(java.util.UUID childUuid, java.util.UUID parentUuid) throws IdentifiableServiceException
      Specified by:
      saveWithParent in interface NodeService<de.digitalcollections.model.identifiable.entity.Topic>
      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
    • updateChildrenOrder

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

      public de.digitalcollections.model.paging.SearchPageResponse<de.digitalcollections.model.identifiable.entity.Topic> findRootNodes​(de.digitalcollections.model.paging.SearchPageRequest searchPageRequest)
      Specified by:
      findRootNodes in interface NodeService<de.digitalcollections.model.identifiable.entity.Topic>