Class CollectionServiceImpl
- 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.Collection>
-
- de.digitalcollections.cudami.server.business.impl.service.identifiable.entity.CollectionServiceImpl
-
- All Implemented Interfaces:
CollectionService,EntityService<de.digitalcollections.model.identifiable.entity.Collection>,IdentifiableService<de.digitalcollections.model.identifiable.entity.Collection>,NodeService<de.digitalcollections.model.identifiable.entity.Collection>
@Service public class CollectionServiceImpl extends EntityServiceImpl<de.digitalcollections.model.identifiable.entity.Collection> implements CollectionService
-
-
Field Summary
-
Fields inherited from class de.digitalcollections.cudami.server.business.impl.service.identifiable.entity.EntityServiceImpl
hookProperties, httpClient
-
Fields inherited from class de.digitalcollections.cudami.server.business.impl.service.identifiable.IdentifiableServiceImpl
identifierService, repository
-
-
Constructor Summary
Constructors Constructor Description CollectionServiceImpl(CollectionRepository repository, IdentifierService identifierService, UrlAliasService urlAliasService, HookProperties hookProperties, LocaleService localeService, CudamiConfig cudamiConfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddChildren(UUID parentUuid, List<UUID> childrenUuids)booleanaddDigitalObjects(UUID collectionUuid, List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)booleandelete(UUID uuid)de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection>findActive(de.digitalcollections.model.list.paging.PageRequest pageRequest)de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection>findActiveChildren(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection>findChildren(UUID nodeUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.DigitalObject>findDigitalObjects(UUID collectionUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)List<de.digitalcollections.model.identifiable.entity.agent.CorporateBody>findRelatedCorporateBodies(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering)de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection>findRootNodes(de.digitalcollections.model.list.paging.PageRequest pageRequest)de.digitalcollections.model.identifiable.entity.CollectiongetActive(UUID uuid)de.digitalcollections.model.identifiable.entity.CollectiongetActive(UUID uuid, Locale pLocale)List<de.digitalcollections.model.identifiable.entity.Collection>getActiveChildren(UUID uuid)de.digitalcollections.model.view.BreadcrumbNavigationgetBreadcrumbNavigation(UUID nodeUuid)Build and return the breadcrumb navigation for the given node UUIDList<de.digitalcollections.model.identifiable.entity.Collection>getChildren(UUID nodeUuid)de.digitalcollections.model.identifiable.entity.CollectiongetParent(UUID nodeUuid)List<de.digitalcollections.model.identifiable.entity.Collection>getParents(UUID uuid)List<Locale>getRootNodesLanguages()booleanremoveChild(UUID parentUuid, UUID childUuid)booleanremoveDigitalObject(UUID collectionUuid, UUID digitalObjectUuid)booleanremoveDigitalObjectFromAllCollections(de.digitalcollections.model.identifiable.entity.DigitalObject digitalObject)Removes a digitalObject from all collections, to which it was connected to.de.digitalcollections.model.identifiable.entity.CollectionsaveWithParent(UUID childUuid, UUID parentUuid)booleansetDigitalObjects(UUID collectionUuid, List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)protected voidsetNodeRepository(NodeRepository<de.digitalcollections.model.identifiable.entity.Collection> nodeRepository)Only for testing purposesbooleanupdateChildrenOrder(UUID parentUuid, List<de.digitalcollections.model.identifiable.entity.Collection> children)-
Methods inherited from class de.digitalcollections.cudami.server.business.impl.service.identifiable.entity.EntityServiceImpl
addRelatedFileresource, addRelatedFileresource, buildNotificationUrl, filteringForActive, getByRefId, getRandom, getRelatedFileResources, getRelatedFileResources, save, sendNotification, setRelatedFileResources, setRelatedFileResources, update
-
Methods inherited from class de.digitalcollections.cudami.server.business.impl.service.identifiable.IdentifiableServiceImpl
addRelatedEntity, count, delete, filterByLabel, find, find, findByLanguageAndInitial, getAllFull, getAllReduced, getByIdentifier, getByIdentifier, getByUuid, getByUuidAndLocale, getLanguages, getRelatedEntities, reduceMultilanguageFieldsToGivenLocale, setDefaultSorting, setRelatedEntities
-
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.business.api.service.identifiable.entity.CollectionService
addDigitalObject, addDigitalObjects, findDigitalObjects, removeDigitalObject, saveDigitalObjects
-
Methods inherited from interface de.digitalcollections.cudami.server.business.api.service.identifiable.entity.EntityService
getByRefId, getRandom
-
Methods inherited from interface de.digitalcollections.cudami.server.business.api.service.identifiable.IdentifiableService
addRelatedEntity, addRelatedEntity, addRelatedFileresource, addRelatedFileresource, cleanupLabelFromUnwantedLocales, count, delete, find, find, findByLanguageAndInitial, getAllFull, getAllReduced, getByIdentifier, getByIdentifier, getByUuid, getByUuidAndLocale, getLanguages, getRelatedEntities, getRelatedEntities, getRelatedFileResources, getRelatedFileResources, save, saveRelatedEntities, setRelatedEntities, setRelatedFileResources, setRelatedFileResources, update
-
Methods inherited from interface de.digitalcollections.cudami.server.business.api.service.identifiable.NodeService
addChild, addChild, addChildren, getBreadcrumbNavigation, getChildren, getParent, removeChild, saveWithParent
-
-
-
-
Constructor Detail
-
CollectionServiceImpl
public CollectionServiceImpl(CollectionRepository repository, IdentifierService identifierService, UrlAliasService urlAliasService, HookProperties hookProperties, LocaleService localeService, CudamiConfig cudamiConfig)
-
-
Method Detail
-
addChildren
public boolean addChildren(UUID parentUuid, List<UUID> childrenUuids)
- Specified by:
addChildrenin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>
-
addDigitalObjects
public boolean addDigitalObjects(UUID collectionUuid, List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)
- Specified by:
addDigitalObjectsin interfaceCollectionService
-
delete
public boolean delete(UUID uuid) throws ConflictException, IdentifiableServiceException
- Specified by:
deletein interfaceIdentifiableService<de.digitalcollections.model.identifiable.entity.Collection>- Throws:
ConflictExceptionIdentifiableServiceException
-
findActive
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection> findActive(de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findActivein interfaceCollectionService
-
findActiveChildren
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection> findActiveChildren(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findActiveChildrenin interfaceCollectionService
-
findChildren
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection> findChildren(UUID nodeUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findChildrenin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>
-
findDigitalObjects
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.DigitalObject> findDigitalObjects(UUID collectionUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findDigitalObjectsin interfaceCollectionService
-
findRelatedCorporateBodies
public List<de.digitalcollections.model.identifiable.entity.agent.CorporateBody> findRelatedCorporateBodies(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering)
- Specified by:
findRelatedCorporateBodiesin interfaceCollectionService
-
findRootNodes
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection> findRootNodes(de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findRootNodesin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>
-
getActive
public de.digitalcollections.model.identifiable.entity.Collection getActive(UUID uuid)
- Specified by:
getActivein interfaceCollectionService
-
getActive
public de.digitalcollections.model.identifiable.entity.Collection getActive(UUID uuid, Locale pLocale)
- Specified by:
getActivein interfaceCollectionService
-
getActiveChildren
public List<de.digitalcollections.model.identifiable.entity.Collection> getActiveChildren(UUID uuid)
- Specified by:
getActiveChildrenin interfaceCollectionService
-
getBreadcrumbNavigation
public de.digitalcollections.model.view.BreadcrumbNavigation getBreadcrumbNavigation(UUID nodeUuid)
Description copied from interface:NodeServiceBuild and return the breadcrumb navigation for the given node UUID- Specified by:
getBreadcrumbNavigationin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>- Parameters:
nodeUuid- the uuid of the node.- Returns:
- BreadcrumbNavigation with labels in all available languages
-
getChildren
public List<de.digitalcollections.model.identifiable.entity.Collection> getChildren(UUID nodeUuid)
- Specified by:
getChildrenin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>
-
getParent
public de.digitalcollections.model.identifiable.entity.Collection getParent(UUID nodeUuid)
- Specified by:
getParentin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>
-
getParents
public List<de.digitalcollections.model.identifiable.entity.Collection> getParents(UUID uuid)
- Specified by:
getParentsin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>
-
getRootNodesLanguages
public List<Locale> getRootNodesLanguages()
- Specified by:
getRootNodesLanguagesin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>
-
removeChild
public boolean removeChild(UUID parentUuid, UUID childUuid)
- Specified by:
removeChildin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>
-
removeDigitalObject
public boolean removeDigitalObject(UUID collectionUuid, UUID digitalObjectUuid)
- Specified by:
removeDigitalObjectin interfaceCollectionService
-
removeDigitalObjectFromAllCollections
public boolean removeDigitalObjectFromAllCollections(de.digitalcollections.model.identifiable.entity.DigitalObject digitalObject)
Description copied from interface:CollectionServiceRemoves a digitalObject from all collections, to which it was connected to.- Specified by:
removeDigitalObjectFromAllCollectionsin interfaceCollectionService- Parameters:
digitalObject- the digital object- Returns:
- boolean value for success
-
saveWithParent
public de.digitalcollections.model.identifiable.entity.Collection saveWithParent(UUID childUuid, UUID parentUuid) throws IdentifiableServiceException
- Specified by:
saveWithParentin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>- Parameters:
childUuid- UUID of newly created child nodeparentUuid- parent node the new node is child of- Returns:
- saved child node
- Throws:
IdentifiableServiceException- if saving fails
-
setDigitalObjects
public boolean setDigitalObjects(UUID collectionUuid, List<de.digitalcollections.model.identifiable.entity.DigitalObject> digitalObjects)
- Specified by:
setDigitalObjectsin interfaceCollectionService
-
updateChildrenOrder
public boolean updateChildrenOrder(UUID parentUuid, List<de.digitalcollections.model.identifiable.entity.Collection> children)
- Specified by:
updateChildrenOrderin interfaceNodeService<de.digitalcollections.model.identifiable.entity.Collection>
-
setNodeRepository
protected void setNodeRepository(NodeRepository<de.digitalcollections.model.identifiable.entity.Collection> nodeRepository)
Only for testing purposes- Parameters:
nodeRepository- The NodeRepository
-
-