Class WorkRepositoryImpl
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.work.Work>
de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.work.WorkRepositoryImpl
- All Implemented Interfaces:
EntityRepository<de.digitalcollections.model.identifiable.entity.work.Work>,WorkRepository,IdentifiableRepository<de.digitalcollections.model.identifiable.entity.work.Work>,PagingSortingFilteringRepository<de.digitalcollections.model.identifiable.entity.work.Work>,UniqueObjectRepository<de.digitalcollections.model.identifiable.entity.work.Work>
@Repository("workRepository")
public class WorkRepositoryImpl
extends EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>
implements WorkRepository
-
Field Summary
FieldsFields inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl
additionalReduceRowsBiConsumer, basicReduceRowsBiConsumer, fullReduceRowsBiConsumer, 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
ConstructorsConstructorDescriptionWorkRepositoryImpl(org.jdbi.v3.core.Jdbi jdbi, CudamiConfig cudamiConfig, IdentifierRepository identifierRepository, UrlAliasRepository urlAliasRepository, LocalDateRangeMapper dateRangeMapper, TitleMapper titleMapper, EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.Entity> entityRepository, AgentRepositoryImpl<de.digitalcollections.model.identifiable.entity.agent.Agent> agentRepository, HumanSettlementRepositoryImpl humanSettlementRepository, ManifestationRepositoryImpl manifestationRepository, ItemRepositoryImpl itemRepository, PersonRepositoryImpl personRepository, EntityToEntityRelationRepositoryImpl entityRelationRepository) -
Method Summary
Modifier and TypeMethodDescriptionde.digitalcollections.model.identifiable.entity.work.Workcreate()protected voidextendReducedIdentifiable(de.digitalcollections.model.identifiable.entity.work.Work work, 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.work.Work>findByPerson(UUID personUuid) de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.work.Work>findEmbeddedWorks(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) de.digitalcollections.model.identifiable.entity.work.WorkSet<de.digitalcollections.model.identifiable.entity.work.Work>getByPerson(UUID personUuid) getColumnName(String modelProperty) protected Stringprotected StringDo not change order! Must match order in getSqlInsertFields!!!getSqlSelectReducedFields(String tableAlias, String mappingPrefix) protected Stringprotected Stringvoidprotected booleansupportsCaseSensitivityForProperty(String modelProperty) Returns whether the passed property can be sorted case sensitive (in general).voidMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.entity.EntityRepositoryImpl
addRelatedFileresource, findRelatedEntities, findRelatedFileResources, getByRefId, getJsonbFields, getRandom, getReturnedFieldsOnInsertUpdate, getSqlSelectAllFields, hasSplitColumn, insertUpdateCallback, isRepoForNamedEntity, save, setRelatedFileResources, updateMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.identifiable.IdentifiableRepositoryImpl
addCrossTablePagingAndSorting, addRelatedEntity, createAdditionalReduceRowsBiConsumer, createBasicReduceRowsBiConsumer, createFullReduceRowsBiConcumer, deleteByUuids, find, findByLanguageAndInitial, getByIdentifier, getLanguages, retrieveList, retrieveList, retrieveOne, setRelatedEntitiesMethods inherited from class de.digitalcollections.cudami.server.backend.impl.jdbi.UniqueObjectRepositoryImpl
deleteByUuid, execSelectForList, extractUuids, find, find, find, getByUuidAndFiltering, getIndex, getIndex, getSqlSelectAllFields, getSqlSelectAllFieldsJoins, getSqlSelectReducedFields, getUniqueField, retrieveCount, retrieveOne, retrieveOne, 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, getByIdentifiable, getByIdentifier, getByIdentifier, getLanguages, setRelatedEntities, setRelatedFileResources, setRelatedFileResourcesMethods 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, getByUuid, getByUuidAndFiltering, getRandom, save, saveOrUpdate, updateMethods inherited from interface de.digitalcollections.cudami.server.backend.api.repository.identifiable.entity.work.WorkRepository
findEmbeddedWorks, getByItem, getByPerson
-
Field Details
-
MAPPING_PREFIX
- See Also:
-
TABLE_ALIAS
- See Also:
-
TABLE_NAME
- See Also:
-
-
Constructor Details
-
WorkRepositoryImpl
public WorkRepositoryImpl(org.jdbi.v3.core.Jdbi jdbi, CudamiConfig cudamiConfig, IdentifierRepository identifierRepository, UrlAliasRepository urlAliasRepository, LocalDateRangeMapper dateRangeMapper, TitleMapper titleMapper, EntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.Entity> entityRepository, AgentRepositoryImpl<de.digitalcollections.model.identifiable.entity.agent.Agent> agentRepository, HumanSettlementRepositoryImpl humanSettlementRepository, ManifestationRepositoryImpl manifestationRepository, ItemRepositoryImpl itemRepository, PersonRepositoryImpl personRepository, EntityToEntityRelationRepositoryImpl entityRelationRepository)
-
-
Method Details
-
create
public de.digitalcollections.model.identifiable.entity.work.Work create() throws RepositoryException- Specified by:
createin interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.entity.work.Work>- Overrides:
createin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>- Throws:
RepositoryException
-
extendReducedIdentifiable
protected void extendReducedIdentifiable(de.digitalcollections.model.identifiable.entity.work.Work work, 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.work.Work>- Parameters:
work- the reduced IdentifiablerowView- the rowView
-
findByPerson
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.work.Work> findByPerson(UUID personUuid) - Specified by:
findByPersonin interfaceWorkRepository
-
findEmbeddedWorks
public de.digitalcollections.model.list.paging.PageResponse<de.digitalcollections.model.identifiable.entity.work.Work> findEmbeddedWorks(UUID uuid, de.digitalcollections.model.list.paging.PageRequest pageRequest) throws RepositoryException - Specified by:
findEmbeddedWorksin interfaceWorkRepository- Throws:
RepositoryException
-
getAllowedOrderByFields
- Overrides:
getAllowedOrderByFieldsin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>- Returns:
- model properties names that are applicable for sorting, will be mapped to database column names using @see #getColumnName
-
getByItem
public de.digitalcollections.model.identifiable.entity.work.Work getByItem(UUID itemUuid) throws RepositoryException - Specified by:
getByItemin interfaceWorkRepository- Throws:
RepositoryException
-
getByPerson
public Set<de.digitalcollections.model.identifiable.entity.work.Work> getByPerson(UUID personUuid) throws RepositoryException - Specified by:
getByPersonin interfaceWorkRepository- Throws:
RepositoryException
-
getColumnName
- Overrides:
getColumnNamein classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>- 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)
-
getSqlInsertFields
- Overrides:
getSqlInsertFieldsin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>- 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.work.Work>- Returns:
- SQL for value mapping for field names for insert statement of
UniqueObject
-
getSqlSelectReducedFields
- Overrides:
getSqlSelectReducedFieldsin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>- Returns:
- SQL for fields of reduced field set of
UniqueObject
-
getSqlSelectReducedFieldsJoins
- Overrides:
getSqlSelectReducedFieldsJoinsin classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>- Returns:
- SQL for joined fields for reduced field set from other table(s) (optional). Default: ""
-
getSqlUpdateFieldValues
- Overrides:
getSqlUpdateFieldValuesin classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>
-
save
public void save(de.digitalcollections.model.identifiable.entity.work.Work work, Map<String, Object> bindings) throws RepositoryException- Specified by:
savein interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.entity.work.Work>- Overrides:
savein classUniqueObjectRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>- Throws:
RepositoryException
-
supportsCaseSensitivityForProperty
Description copied from class:AbstractPagingSortingFilteringRepositoryImplReturns whether the passed property can be sorted case sensitive (in general). This method should be kept in sync withAbstractPagingSortingFilteringRepositoryImpl.getAllowedOrderByFields().- Overrides:
supportsCaseSensitivityForPropertyin classIdentifiableRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>- Parameters:
modelProperty- the property name (similar toAbstractPagingSortingFilteringRepositoryImpl.getColumnName(java.lang.String))- Returns:
trueonly if case (in)sensitive sorting is possible
-
update
public void update(de.digitalcollections.model.identifiable.entity.work.Work work, Map<String, Object> bindings) throws RepositoryException- Specified by:
updatein interfaceUniqueObjectRepository<de.digitalcollections.model.identifiable.entity.work.Work>- Overrides:
updatein classEntityRepositoryImpl<de.digitalcollections.model.identifiable.entity.work.Work>- Throws:
RepositoryException
-