Class DigitalObjectRepositoryImpl
- java.lang.Object
-
- de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
-
- de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
-
- de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl<E>
-
- de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.DigitalObject>
-
- de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.DigitalObjectRepositoryImpl
-
- All Implemented Interfaces:
DigitalObjectRepository,EntityRepository<de.digitalcollections.model.identifiable.entity.DigitalObject>,IdentifiableRepository<de.digitalcollections.model.identifiable.entity.DigitalObject>
@Repository public class DigitalObjectRepositoryImpl extends EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.DigitalObject> implements DigitalObjectRepository
-
-
Field Summary
Fields Modifier and Type Field Description static StringMAPPING_PREFIXstatic StringTABLE_ALIASstatic StringTABLE_NAME-
Fields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
additionalReduceRowsBiFunction, basicReduceRowsBiFunction, fullReduceRowsBiFunction, identifiableImplClass, sqlSelectAllFields, sqlSelectAllFieldsJoins, sqlSelectReducedFields
-
Fields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
dbi, mappingPrefix, tableAlias, tableName
-
Fields inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
offsetForAlternativePaging
-
-
Constructor Summary
Constructors Constructor Description DigitalObjectRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddeleteFileResources(UUID digitalObjectUuid)protected voidextendReducedIdentifiable(de.digitalcollections.model.identifiable.entity.DigitalObject identifiable, org.jdbi.v3.core.result.RowView rowView)Extend the reduced Identifiable by the contents of the provided RowViewde.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection>findCollections(UUID digitalObjectUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Project>findProjects(UUID digitalObjectUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)de.digitalcollections.model.identifiable.entity.DigitalObjectgetByIdentifier(de.digitalcollections.model.identifiable.Identifier identifier)de.digitalcollections.model.identifiable.entity.DigitalObjectgetByUuidAndFiltering(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering)StringgetColumnName(String modelProperty)List<de.digitalcollections.model.identifiable.resource.FileResource>getFileResources(UUID digitalObjectUuid)List<de.digitalcollections.model.identifiable.resource.ImageFileResource>getImageFileResources(UUID digitalObjectUuid)List<Locale>getLanguagesOfCollections(UUID uuid)List<Locale>getLanguagesOfContainedDigitalObjects(UUID uuid)List<Locale>getLanguagesOfProjects(UUID uuid)static StringgetSqlInsertFields()static StringgetSqlInsertValues()static StringgetSqlSelectAllFields(String tableAlias, String mappingPrefix)static StringgetSqlSelectReducedFields(String tableAlias, String mappingPrefix)static StringgetSqlUpdateFieldValues()de.digitalcollections.model.identifiable.entity.DigitalObjectsave(de.digitalcollections.model.identifiable.entity.DigitalObject digitalObject)voidsetAgentEntityRepository(EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.agent.Agent> agentEntityRepositoryImpl)voidsetCollectionRepository(CollectionRepositoryImpl collectionRepositoryImpl)voidsetCorporateBodyRepository(CorporateBodyRepositoryImpl corporateBodyRepositoryImpl)voidsetFileResourceMetadataRepository(FileResourceMetadataRepositoryImpl<de.digitalcollections.model.identifiable.resource.FileResource> fileResourceMetadataRepositoryImpl)List<de.digitalcollections.model.identifiable.resource.FileResource>setFileResources(UUID digitalObjectUuid, List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources)voidsetGeolocationEntityRepositoryImpl(EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.geo.location.GeoLocation> geolocationEntityRepositoryImpl)voidsetGeoLocationRepositoryImpl(GeoLocationRepositoryImpl geoLocationRepositoryImpl)voidsetLinkedDataFileResourceRepository(LinkedDataFileResourceRepositoryImpl linkedDataFileResourceRepositoryImpl)voidsetPersonRepository(PersonRepositoryImpl personRepositoryImpl)de.digitalcollections.model.identifiable.entity.DigitalObjectupdate(de.digitalcollections.model.identifiable.entity.DigitalObject digitalObject)-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.EntityRepositoryImpl
addRelatedFileresource, getAllowedOrderByFields, getByRefId, getRandom, getRelatedFileResources, save, setRelatedFileResources, update
-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
addCrossTablePageRequestParams, addRelatedEntity, addSearchTermMappings, delete, find, find, find, find, findByLanguageAndInitial, getAllFull, getAllReduced, getIndex, getIndex, getLanguages, getRelatedEntities, getSearchTermTemplates, getSqlSelectAllFields, getSqlSelectReducedFields, getUniqueField, getWhereClause, retrieveCount, retrieveList, retrieveOne, retrieveOne, retrieveOne, setRelatedEntities, splitToArray, supportsCaseSensitivityForProperty
-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
addFiltering, addFiltering, addSearchTerm, count, count, escapeTermForJsonpath, getCommonSearchSql, getFilterClauses, getMappingPrefix, getTableAlias, getTableName, mapFilterExpressionsToOtherTableColumnNames, retrieveNextSortIndexForParentChildren
-
Methods inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingAndSortingRepositoryImpl
addOrderBy, addPageRequestParams, getOrderBy
-
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.backend.api.repository.identifiable.entity.DigitalObjectRepository
findCollections, getFileResources, getImageFileResources, getProjects, setFileResources
-
Methods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.entity.EntityRepository
getByRefId, getRandom
-
Methods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.IdentifiableRepository
addRelatedEntity, addRelatedEntity, addRelatedFileresource, addRelatedFileresource, count, delete, delete, find, find, findByLanguageAndInitial, getAllFull, getAllReduced, getByIdentifier, getByUuid, getLanguages, getRelatedEntities, getRelatedEntities, getRelatedFileResources, getRelatedFileResources, save, setRelatedEntities, setRelatedEntities, setRelatedFileResources, setRelatedFileResources, update
-
-
-
-
Field Detail
-
MAPPING_PREFIX
public static final String MAPPING_PREFIX
- See Also:
- Constant Field Values
-
TABLE_ALIAS
public static final String TABLE_ALIAS
- See Also:
- Constant Field Values
-
TABLE_NAME
public static final String TABLE_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DigitalObjectRepositoryImpl
@Autowired public DigitalObjectRepositoryImpl(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()
-
deleteFileResources
public void deleteFileResources(UUID digitalObjectUuid)
- Specified by:
deleteFileResourcesin interfaceDigitalObjectRepository
-
extendReducedIdentifiable
protected void extendReducedIdentifiable(de.digitalcollections.model.identifiable.entity.DigitalObject identifiable, org.jdbi.v3.core.result.RowView rowView)Description copied from class:IdentifiableRepositoryImplExtend the reduced Identifiable by the contents of the provided RowView- Overrides:
extendReducedIdentifiablein classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.DigitalObject>- Parameters:
identifiable- the reduced IdentifiablerowView- the rowView
-
findCollections
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Collection> findCollections(UUID digitalObjectUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findCollectionsin interfaceDigitalObjectRepository
-
findProjects
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.Project> findProjects(UUID digitalObjectUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest)
- Specified by:
findProjectsin interfaceDigitalObjectRepository
-
getByIdentifier
public de.digitalcollections.model.identifiable.entity.DigitalObject getByIdentifier(de.digitalcollections.model.identifiable.Identifier identifier)
- Specified by:
getByIdentifierin interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.entity.DigitalObject>- Overrides:
getByIdentifierin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.DigitalObject>
-
getByUuidAndFiltering
public de.digitalcollections.model.identifiable.entity.DigitalObject getByUuidAndFiltering(UUID uuid, de.digitalcollections.model.list.filtering.Filtering filtering)
- Specified by:
getByUuidAndFilteringin interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.entity.DigitalObject>- Overrides:
getByUuidAndFilteringin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.DigitalObject>
-
getColumnName
public String getColumnName(String modelProperty)
- Overrides:
getColumnNamein classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.DigitalObject>- 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)
-
getFileResources
public List<de.digitalcollections.model.identifiable.resource.FileResource> getFileResources(UUID digitalObjectUuid)
- Specified by:
getFileResourcesin interfaceDigitalObjectRepository
-
getImageFileResources
public List<de.digitalcollections.model.identifiable.resource.ImageFileResource> getImageFileResources(UUID digitalObjectUuid)
- Specified by:
getImageFileResourcesin interfaceDigitalObjectRepository
-
getLanguagesOfCollections
public List<Locale> getLanguagesOfCollections(UUID uuid)
- Specified by:
getLanguagesOfCollectionsin interfaceDigitalObjectRepository
-
getLanguagesOfContainedDigitalObjects
public List<Locale> getLanguagesOfContainedDigitalObjects(UUID uuid)
- Specified by:
getLanguagesOfContainedDigitalObjectsin interfaceDigitalObjectRepository
-
getLanguagesOfProjects
public List<Locale> getLanguagesOfProjects(UUID uuid)
- Specified by:
getLanguagesOfProjectsin interfaceDigitalObjectRepository
-
save
public de.digitalcollections.model.identifiable.entity.DigitalObject save(de.digitalcollections.model.identifiable.entity.DigitalObject digitalObject)
- Specified by:
savein interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.entity.DigitalObject>
-
setAgentEntityRepository
public void setAgentEntityRepository(EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.agent.Agent> agentEntityRepositoryImpl)
-
setCollectionRepository
public void setCollectionRepository(CollectionRepositoryImpl collectionRepositoryImpl)
-
setCorporateBodyRepository
public void setCorporateBodyRepository(CorporateBodyRepositoryImpl corporateBodyRepositoryImpl)
-
setFileResourceMetadataRepository
public void setFileResourceMetadataRepository(FileResourceMetadataRepositoryImpl<de.digitalcollections.model.identifiable.resource.FileResource> fileResourceMetadataRepositoryImpl)
-
setFileResources
public List<de.digitalcollections.model.identifiable.resource.FileResource> setFileResources(UUID digitalObjectUuid, List<de.digitalcollections.model.identifiable.resource.FileResource> fileResources)
- Specified by:
setFileResourcesin interfaceDigitalObjectRepository
-
setGeoLocationRepositoryImpl
public void setGeoLocationRepositoryImpl(GeoLocationRepositoryImpl geoLocationRepositoryImpl)
-
setGeolocationEntityRepositoryImpl
public void setGeolocationEntityRepositoryImpl(EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.geo.location.GeoLocation> geolocationEntityRepositoryImpl)
-
setLinkedDataFileResourceRepository
public void setLinkedDataFileResourceRepository(LinkedDataFileResourceRepositoryImpl linkedDataFileResourceRepositoryImpl)
-
setPersonRepository
public void setPersonRepository(PersonRepositoryImpl personRepositoryImpl)
-
update
public de.digitalcollections.model.identifiable.entity.DigitalObject update(de.digitalcollections.model.identifiable.entity.DigitalObject digitalObject)
- Specified by:
updatein interfaceIdentifiableRepository<de.digitalcollections.model.identifiable.entity.DigitalObject>
-
-