Class EntityServiceImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
java.lang.Object
de.digitalcollections.cudami.server.business.impl.service.identifiable.IdentifiableServiceImpl<E>
de.digitalcollections.cudami.server.business.impl.service.identifiable.entity.EntityServiceImpl<E>
- All Implemented Interfaces:
EntityService<E>,IdentifiableService<E>
- Direct Known Subclasses:
AgentServiceImpl,ArticleServiceImpl,CollectionServiceImpl,CorporateBodyServiceImpl,DigitalObjectServiceImpl,GeoLocationServiceImpl,HeadwordEntryServiceImpl,HumanSettlementServiceImpl,ItemServiceImpl,PersonServiceImpl,ProjectServiceImpl,TopicServiceImpl,WebsiteServiceImpl,WorkServiceImpl
@Service("entityService")
public class EntityServiceImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
extends IdentifiableServiceImpl<E>
implements EntityService<E>
-
Field Summary
Fields Modifier and Type Field Description protected HookPropertieshookPropertiesprotected java.net.http.HttpClienthttpClientFields inherited from class de.digitalcollections.cudami.server.business.impl.service.identifiable.IdentifiableServiceImpl
identifierRepository, repository -
Constructor Summary
Constructors Constructor Description EntityServiceImpl(EntityRepository<E> repository, IdentifierRepository identifierRepository, UrlAliasService urlAliasService, CudamiConfig cudamiConfig) -
Method Summary
Modifier and Type Method Description voidaddRelatedFileresource(E entity, de.digitalcollections.model.identifiable.resource.FileResource fileResource)voidaddRelatedFileresource(java.util.UUID entityUuid, java.util.UUID fileResourceUuid)protected java.net.URIbuildNotificationUrl(java.lang.String urlTemplate, java.util.UUID entityUuid, de.digitalcollections.model.identifiable.entity.EntityType entityType)Build a notification url by replacing placeholders in the template with the entity's uuid and typeprotected de.digitalcollections.model.filter.FilteringfilteringForActive()EgetByRefId(long refId)java.util.List<E>getRandom(int count)java.util.List<de.digitalcollections.model.identifiable.resource.FileResource>getRelatedFileResources(E entity)java.util.List<de.digitalcollections.model.identifiable.resource.FileResource>getRelatedFileResources(java.util.UUID entityUuid)Esave(E entity)java.util.List<de.digitalcollections.model.identifiable.resource.FileResource>saveRelatedFileResources(E entity, java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources)Save list of file resources related to an identifiable.java.util.List<de.digitalcollections.model.identifiable.resource.FileResource>saveRelatedFileResources(java.util.UUID entityUuid, java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources)protected voidsendNotification(java.lang.String action, java.lang.String httpVerb, java.util.UUID uuid, de.digitalcollections.model.identifiable.entity.EntityType entityType)Send a notification to an external url when an entity has changedEupdate(E entity)Methods inherited from class de.digitalcollections.cudami.server.business.impl.service.identifiable.IdentifiableServiceImpl
addRelatedEntity, count, delete, deleteIdentifiers, find, find, find, findAllFull, findAllReduced, findByLanguageAndInitial, get, get, get, getByIdentifier, getLanguages, getRelatedEntities, reduceMultilanguageFieldsToGivenLocale, saveIdentifiers, saveRelatedEntities, setDefaultSortingMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.digitalcollections.cudami.server.business.api.service.identifiable.IdentifiableService
addRelatedEntity, addRelatedEntity, cleanupLabelFromUnwantedLocales, count, delete, delete, deleteIdentifiers, find, find, find, findAllFull, findAllReduced, findByLanguageAndInitial, get, get, get, getByIdentifier, getLanguages, getRelatedEntities, getRelatedEntities, saveRelatedEntities, saveRelatedEntities
-
Field Details
-
hookProperties
-
httpClient
protected java.net.http.HttpClient httpClient
-
-
Constructor Details
-
EntityServiceImpl
@Autowired public EntityServiceImpl(@Qualifier("entityRepositoryImpl") EntityRepository<E> repository, IdentifierRepository identifierRepository, UrlAliasService urlAliasService, CudamiConfig cudamiConfig)
-
-
Method Details
-
addRelatedFileresource
public void addRelatedFileresource(E entity, de.digitalcollections.model.identifiable.resource.FileResource fileResource)- Specified by:
addRelatedFileresourcein interfaceIdentifiableService<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
addRelatedFileresource
public void addRelatedFileresource(java.util.UUID entityUuid, java.util.UUID fileResourceUuid)- Specified by:
addRelatedFileresourcein interfaceIdentifiableService<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
addRelatedFileresourcein classIdentifiableServiceImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
buildNotificationUrl
protected java.net.URI buildNotificationUrl(java.lang.String urlTemplate, java.util.UUID entityUuid, de.digitalcollections.model.identifiable.entity.EntityType entityType)Build a notification url by replacing placeholders in the template with the entity's uuid and type -
filteringForActive
protected de.digitalcollections.model.filter.Filtering filteringForActive() -
getByRefId
- Specified by:
getByRefIdin interfaceEntityService<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
getRandom
- Specified by:
getRandomin interfaceEntityService<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
getRelatedFileResources
public java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> getRelatedFileResources(E entity)- Specified by:
getRelatedFileResourcesin interfaceIdentifiableService<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
getRelatedFileResources
public java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> getRelatedFileResources(java.util.UUID entityUuid)- Specified by:
getRelatedFileResourcesin interfaceIdentifiableService<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
getRelatedFileResourcesin classIdentifiableServiceImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
save
- Specified by:
savein interfaceIdentifiableService<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
savein classIdentifiableServiceImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>- Throws:
IdentifiableServiceExceptionValidationException
-
saveRelatedFileResources
public java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> saveRelatedFileResources(E entity, java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources)Description copied from interface:IdentifiableServiceSave list of file resources related to an identifiable. Prerequisite: file resources have been saved before (exist already)- Specified by:
saveRelatedFileResourcesin interfaceIdentifiableService<E extends de.digitalcollections.model.identifiable.entity.Entity>- Parameters:
entity- entity part the file resources are related tofileResources- the file resources that are related to the entity part- Returns:
- the list of the related file resources
-
saveRelatedFileResources
public java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> saveRelatedFileResources(java.util.UUID entityUuid, java.util.List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources)- Specified by:
saveRelatedFileResourcesin interfaceIdentifiableService<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
saveRelatedFileResourcesin classIdentifiableServiceImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>
-
sendNotification
protected void sendNotification(java.lang.String action, java.lang.String httpVerb, java.util.UUID uuid, de.digitalcollections.model.identifiable.entity.EntityType entityType)Send a notification to an external url when an entity has changed -
update
- Specified by:
updatein interfaceIdentifiableService<E extends de.digitalcollections.model.identifiable.entity.Entity>- Overrides:
updatein classIdentifiableServiceImpl<E extends de.digitalcollections.model.identifiable.entity.Entity>- Throws:
IdentifiableServiceExceptionValidationException
-