Class ItemRepositoryImpl
java.lang.Object
de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingSortingFilteringRepositoryImpl
de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl<U>
de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl<I>
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.item.Item>
de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.work.ItemRepositoryImpl
- All Implemented Interfaces:
EntityRepository<de.digitalcollections.model.identifiable.entity.item.Item>,ItemRepository,IdentifiableRepository<de.digitalcollections.model.identifiable.entity.item.Item>,PagingSortingFilteringRepository<de.digitalcollections.model.identifiable.entity.item.Item>,UniqueObjectRepository<de.digitalcollections.model.identifiable.entity.item.Item>
@Repository
public class ItemRepositoryImpl
extends EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>
implements ItemRepository
-
Field Summary
FieldsFields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl
uniqueObjectImplClassFields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
dbi, mappingPrefix, tableAlias, tableNameFields inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingSortingFilteringRepositoryImpl
offsetForAlternativePaging -
Constructor Summary
ConstructorsConstructorDescriptionItemRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig, IdentifierRepository identifierRepository, UrlAliasRepository urlAliasRepository, DigitalObjectRepositoryImpl digitalObjectRepositoryImpl, AgentRepositoryImpl agentRepository) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbasicReduceRowsBiConsumer(Map<UUID, de.digitalcollections.model.identifiable.entity.item.Item> map, org.jdbi.v3.core.result.RowView rowView) The basic reduce rows biconsumer for reduced selects (lists, paging)de.digitalcollections.model.identifiable.entity.item.Itemcreate()de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.item.Item>findItemsByManifestation(UUID manifestationUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) protected voidfullReduceRowsBiConsumer(Map<UUID, de.digitalcollections.model.identifiable.entity.item.Item> map, org.jdbi.v3.core.result.RowView rowView) The full reduce rows biconsumer for full selects (find one).
This method callsUniqueObjectRepositoryImpl.basicReduceRowsBiConsumer(Map, RowView), so make sure to callsuperfirst and only implement extraneous object building.
For a plain UniqueObject full and basic are the same (minimal dataset of uuid, lastModified, created).getColumnName(String modelProperty) getLanguagesOfItemsForManifestation(UUID manifestationUuid) protected Stringprotected StringDo not change order! Must match order in getSqlInsertFields!!!getSqlSelectAllFields(String tableAlias, String mappingPrefix) protected StringgetSqlSelectReducedFields(String tableAlias, String mappingPrefix) protected Stringvoidsave(de.digitalcollections.model.identifiable.entity.item.Item item) voidupdate(de.digitalcollections.model.identifiable.entity.item.Item item) Methods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.EntityRepositoryImpl
addRelatedFileresource, findRelatedEntities, findRelatedFileResources, getAllowedOrderByFields, getByRefId, getJsonbFields, getRandom, getReturnedFieldsOnInsertUpdate, hasSplitColumn, insertUpdateCallback, isRepoForNamedEntity, save, setRelatedFileResources, update, updateMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
addCrossTablePagingAndSorting, addRelatedEntity, deleteByUuids, find, findByLanguageAndInitial, getByIdentifier, getLanguages, retrieveList, retrieveList, retrieveMultiple, setRelatedEntities, supportsCaseSensitivityForPropertyMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl
additionalReduceRowsBiConsumer, deleteByUuid, execSelectForList, extractUuids, find, find, find, getByUuidsAndFiltering, getIndex, getSqlSelectAllFields, getSqlSelectReducedFields, getUniqueField, retrieveCount, retrieveMultiple, retrieveMultiple, retrieveOne, retrieveOne, save, sqlSelectReducedFieldsMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.JdbiRepositoryImpl
addFiltering, addFiltering, count, count, escapeTermForJsonpath, execUpdateWithList, execUpdateWithMap, filterByLocalizedTextFields, filterBySplitField, getMappingPrefix, getTableAlias, getTableName, getTargetExpression, getWhereClause, getWhereClauses, mapFilterExpressionsToOtherTableColumnNames, retrieveNextSortIndexForParentChildren, splitToArray, splitToArrayMethods inherited from class de.digitalcollections.cudami.server.backend.impl.database.AbstractPagingSortingFilteringRepositoryImpl
addOrderBy, addPagingAndSorting, getOrderByMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.entity.EntityRepository
getByRefId, setRelatedEntitiesMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.IdentifiableRepository
addRelatedEntity, addRelatedEntity, addRelatedFileresource, addRelatedFileresource, findByLanguageAndInitial, findRelatedEntities, findRelatedEntities, findRelatedFileResources, findRelatedFileResources, getByIdentifiables, getByIdentifier, getByIdentifier, getLanguages, setRelatedEntities, setRelatedFileResources, setRelatedFileResourcesMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.entity.work.ItemRepository
findItemsByManifestation, getLanguagesOfDigitalObjects, getLanguagesOfItemsForManifestationMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.PagingSortingFilteringRepository
findMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.UniqueObjectRepository
count, delete, delete, deleteByUuid, deleteByUuids, getByExample, getByExampleAndFiltering, getByExamples, getByExamplesAndFiltering, getByUuid, getByUuidAndFiltering, getByUuids, getByUuidsAndFiltering, getRandom, save, saveOrUpdate, update
-
Field Details
-
MAPPING_PREFIX
- See Also:
-
TABLE_ALIAS
- See Also:
-
TABLE_NAME
- See Also:
-
-
Constructor Details
-
ItemRepositoryImpl
public ItemRepositoryImpl(org.jdbi.v3.core.Jdbi dbi, CudamiConfig cudamiConfig, IdentifierRepository identifierRepository, UrlAliasRepository urlAliasRepository, @Lazy DigitalObjectRepositoryImpl digitalObjectRepositoryImpl, @Lazy AgentRepositoryImpl agentRepository)
-
-
Method Details
-
create
public de.digitalcollections.model.identifiable.entity.item.Item create() throws RepositoryException- Specified by:
createin interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.entity.item.Item>- Overrides:
createin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>- Throws:
RepositoryException
-
fullReduceRowsBiConsumer
protected void fullReduceRowsBiConsumer(Map<UUID, de.digitalcollections.model.identifiable.entity.item.Item> map, org.jdbi.v3.core.result.RowView rowView) Description copied from class:UniqueObjectRepositoryImplThe full reduce rows biconsumer for full selects (find one).
This method callsUniqueObjectRepositoryImpl.basicReduceRowsBiConsumer(Map, RowView), so make sure to callsuperfirst and only implement extraneous object building.
For a plain UniqueObject full and basic are the same (minimal dataset of uuid, lastModified, created).- Overrides:
fullReduceRowsBiConsumerin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>
-
basicReduceRowsBiConsumer
protected void basicReduceRowsBiConsumer(Map<UUID, de.digitalcollections.model.identifiable.entity.item.Item> map, org.jdbi.v3.core.result.RowView rowView) Description copied from class:UniqueObjectRepositoryImplThe basic reduce rows biconsumer for reduced selects (lists, paging)- Overrides:
basicReduceRowsBiConsumerin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>
-
findItemsByManifestation
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.item.Item> findItemsByManifestation(UUID manifestationUuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) throws RepositoryException - Specified by:
findItemsByManifestationin interfaceItemRepository- Throws:
RepositoryException
-
getColumnName
- Overrides:
getColumnNamein classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>- 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)
-
getLanguagesOfDigitalObjects
- Specified by:
getLanguagesOfDigitalObjectsin interfaceItemRepository
-
getLanguagesOfItemsForManifestation
- Specified by:
getLanguagesOfItemsForManifestationin interfaceItemRepository
-
getSqlInsertFields
- Overrides:
getSqlInsertFieldsin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>- Returns:
- SQL for field names for insert statement of
UniqueObject
-
getSqlInsertValues
Description copied from class:UniqueObjectRepositoryImplDo not change order! Must match order in getSqlInsertFields!!!- Overrides:
getSqlInsertValuesin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>- Returns:
- SQL for value mapping for field names for insert statement of
UniqueObject
-
getSqlSelectAllFields
- Overrides:
getSqlSelectAllFieldsin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>
-
getSqlSelectAllFieldsJoins
- Overrides:
getSqlSelectAllFieldsJoinsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>- Returns:
- SQL for joined fields for complete field set from other table(s) (optional). Default: ""
-
getSqlSelectReducedFields
- Overrides:
getSqlSelectReducedFieldsin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>- Returns:
- SQL for fields of reduced field set of
UniqueObject
-
getSqlSelectReducedFieldsJoins
- Overrides:
getSqlSelectReducedFieldsJoinsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>- Returns:
- SQL for joined fields for reduced field set from other table(s) (optional). Default: ""
-
getSqlUpdateFieldValues
- Overrides:
getSqlUpdateFieldValuesin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.item.Item>
-
save
public void save(de.digitalcollections.model.identifiable.entity.item.Item item) throws RepositoryException - Specified by:
savein interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.entity.item.Item>- Throws:
RepositoryException
-
update
public void update(de.digitalcollections.model.identifiable.entity.item.Item item) throws RepositoryException - Specified by:
updatein interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.entity.item.Item>- Throws:
RepositoryException
-