Package org.ehrbase.dao.access.jooq
Class ContributionAccess
- java.lang.Object
-
- org.ehrbase.dao.access.support.DataAccess
-
- org.ehrbase.dao.access.jooq.ContributionAccess
-
- All Implemented Interfaces:
I_ContributionAccess,I_DomainAccess,I_SimpleCRUD
public class ContributionAccess extends DataAccess implements I_ContributionAccess
Created by Christian Chevalley on 4/17/2015.
-
-
Field Summary
-
Fields inherited from interface org.ehrbase.dao.access.interfaces.I_DomainAccess
DBCP2_POOL, KEY_AUTO_RECONNECT, KEY_CONNECTION_MODE, KEY_DATABASE, KEY_DIALECT, KEY_HOST, KEY_INITIAL_CONNECTIONS, KEY_INTROSPECT_CACHE, KEY_KNOWLEDGE, KEY_LOG_ABANDONNED, KEY_LOGIN, KEY_MAX_ACTIVE, KEY_MAX_CONNECTION, KEY_MAX_IDLE, KEY_PASSWORD, KEY_PORT, KEY_REMOVE_ABANDONNED, KEY_REMOVE_ABANDONNED_TIMEOUT, KEY_SCHEMA, KEY_SET_MAX_PREPARED_STATEMENTS, KEY_SET_POOL_PREPARED_STATEMENTS, KEY_TEST_ON_BORROW, KEY_URL, KEY_WAIT_MS, PG_POOL
-
-
Constructor Summary
Constructors Constructor Description ContributionAccess(I_DomainAccess domainAccess, UUID ehrId)Constructor with convenientI_DomainAccessparameter, for better readability.ContributionAccess(org.jooq.DSLContext context, I_KnowledgeCache knowledgeManager, IntrospectService introspectCache, ServerConfig serverConfig, UUID ehrId)Basic constructor for contribution.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadminDelete()Invoke physical deletion.UUIDcommit()storeComposition a new entry in the DB, using a default transaction time
only implemented with "root" tables: ehr, contribution and composition!UUIDcommit(Timestamp transactionTime)storeComposition a new entry in the DBUUIDcommit(Timestamp transactionTime, UUID committerId, UUID systemId, ContributionDataType contributionType, ContributionDef.ContributionState state, I_ConceptAccess.ContributionChangeType contributionChangeType, String description)Commit the contribution with (optional) given values (incl. audit data, which is handled embedded)UUIDcommit(Timestamp transactionTime, ContributionDataType contributionType, ContributionDef.ContributionState state)Commit the contribution with optional values, excluding audit, which needs to be created and set beforehand.UUIDcommitWithSignature(String signature)commit the contribution with a certifying signature
the signature is stored in the Contribution Version entry, the state of the contribution is then 'complete'Integerdelete()delete the Versioned Object associated with the instance implementing this Data Access Interface.I_ConceptAccess.ContributionChangeTypegetAuditsChangeType()UUIDgetAuditsCommitter()StringgetAuditsDescription()UUIDgetAuditsSystemId()ContributionDataTypegetContributionDataType()UUIDgetContributionId()get the contribution UUIDContributionDef.ContributionStategetContributionState()get the contribution stateContributionDef.ContributionTypegetContributionType()get the contribution typeDataAccessgetDataAccess()StringgetDataType()UUIDgetEhrId()get the contribution Ehr Id it belongs toUUIDgetHasAuditDetails()UUIDgetId()I_ContributionAccessretrieve(UUID id)static I_ContributionAccessretrieveInstance(I_DomainAccess domainAccess, UUID contributionId)retrieve an instance of I_ContributionAccess layer to the DBvoidsetAuditDetailsChangeType(UUID changeType)voidsetAuditDetailsCommitter(UUID committer)voidsetAuditDetailsDescription(String description)voidsetAuditDetailsSystemId(UUID system)voidsetAuditDetailsValues(com.nedap.archie.rm.generic.AuditDetails auditObject)voidsetAuditDetailsValues(UUID committer, UUID system, String description, I_ConceptAccess.ContributionChangeType changeType)Convenience setter for contribution's auditvoidsetComplete()set the contribution as completevoidsetContributionDataType(ContributionDataType contributionDataType)voidsetDataType(ContributionDataType contributionDataType)voidsetDeleted()set the contribution as deletedvoidsetEhrId(UUID ehrId)set the contribution Ehr Id it belongs tovoidsetHasAuditDetails(UUID auditId)voidsetIncomplete()set the contribution as incompletevoidsetState(ContributionDef.ContributionState state)set the state of contributionBooleanupdate()updateComposition the current entry using time now as the system transaction time
only implemented at root level object (contribution, composition, ehr).Booleanupdate(Boolean force)updateComposition the current entry using time now as the system transaction time
only implemented at root level object (contribution, composition, ehr).Booleanupdate(Timestamp transactionTime)updateComposition the current entry
depending on the implementation, records are updated only if one or more field(s) have been changedBooleanupdate(Timestamp transactionTime, boolean force)updateComposition the current entry even if the record is not modified
intended to be used with temporal tables to ensure that a set of interdependent tables are updated in sync.Booleanupdate(Timestamp transactionTime, UUID committerId, UUID systemId, String contributionType, String contributionState, String contributionChangeType, String description)Update with embedded audit update.Booleanupdate(Timestamp transactionTime, UUID committerId, UUID systemId, ContributionDataType contributionType, ContributionDef.ContributionState state, I_ConceptAccess.ContributionChangeType contributionChangeType, String description)Update with embedded audit update.UUIDupdateWithSignature(String signature)-
Methods inherited from class org.ehrbase.dao.access.support.DataAccess
getConnection, getContext, getDialect, getIntrospectService, getKnowledgeManager, getServerConfig, releaseConnection
-
-
-
-
Constructor Detail
-
ContributionAccess
public ContributionAccess(org.jooq.DSLContext context, I_KnowledgeCache knowledgeManager, IntrospectService introspectCache, ServerConfig serverConfig, UUID ehrId)Basic constructor for contribution.- Parameters:
context- DB context object of current server contextknowledgeManager- Knowledge cache object of current server contextintrospectCache- Introspect cache object of current server contextserverConfig- Server config object of current server contextehrId- Given ID of EHR this contribution will be created for
-
ContributionAccess
public ContributionAccess(I_DomainAccess domainAccess, UUID ehrId)
Constructor with convenientI_DomainAccessparameter, for better readability.- Parameters:
domainAccess- Current domain access objectehrId- Given ID of EHR this contribution will be created for
-
-
Method Detail
-
retrieveInstance
public static I_ContributionAccess retrieveInstance(I_DomainAccess domainAccess, UUID contributionId)
Description copied from interface:I_ContributionAccessretrieve an instance of I_ContributionAccess layer to the DB- Parameters:
domainAccess- SQL contextcontributionId- the contribution id- Returns:
- an I_ContributionAccess instance or null
- Throws:
InternalServerException- on failed fetching of contribution
-
commit
public UUID commit(Timestamp transactionTime)
Description copied from interface:I_SimpleCRUDstoreComposition a new entry in the DB- Specified by:
commitin interfaceI_SimpleCRUD- Returns:
- the UUID of the newly created record
-
commit
public UUID commit()
Description copied from interface:I_SimpleCRUDstoreComposition a new entry in the DB, using a default transaction time
only implemented with "root" tables: ehr, contribution and composition!- Specified by:
commitin interfaceI_SimpleCRUD- Returns:
- the UUID of the newly created record
-
commit
public UUID commit(Timestamp transactionTime, ContributionDataType contributionType, ContributionDef.ContributionState state)
Commit the contribution with optional values, excluding audit, which needs to be created and set beforehand.- Specified by:
commitin interfaceI_ContributionAccess- Parameters:
transactionTime- Timestamp of transaction timecontributionType- String representation of contribution typestate- String representation of contribution state- Returns:
-
commit
public UUID commit(Timestamp transactionTime, UUID committerId, UUID systemId, ContributionDataType contributionType, ContributionDef.ContributionState state, I_ConceptAccess.ContributionChangeType contributionChangeType, String description)
Commit the contribution with (optional) given values (incl. audit data, which is handled embedded)- Specified by:
commitin interfaceI_ContributionAccess- Parameters:
transactionTime- Timestamp of transaction timecommitterId- ID of committersystemId- ID of committing systemcontributionType- String representation of contribution typestate- String representation of contribution statecontributionChangeType- String representation of contribution change typedescription- Description- Returns:
UUIDof committed contribution- Throws:
InternalServerException- when contribution couldn't be created because of an internal problem
-
update
public Boolean update(Timestamp transactionTime, UUID committerId, UUID systemId, String contributionType, String contributionState, String contributionChangeType, String description)
Description copied from interface:I_ContributionAccessUpdate with embedded audit update.- Specified by:
updatein interfaceI_ContributionAccess- Parameters:
transactionTime- Timestamp of transaction timecommitterId- ID of committer (part of AuditDetails)systemId- ID of committing system (part of AuditDetails)contributionType- String representation of contribution typecontributionState- String representation of contribution statecontributionChangeType- String representation of contribution change type (part of AuditDetails)description- Description (part of AuditDetails)- Returns:
- True for success
-
update
public Boolean update(Timestamp transactionTime, UUID committerId, UUID systemId, ContributionDataType contributionType, ContributionDef.ContributionState state, I_ConceptAccess.ContributionChangeType contributionChangeType, String description)
Description copied from interface:I_ContributionAccessUpdate with embedded audit update.- Specified by:
updatein interfaceI_ContributionAccess- Parameters:
transactionTime- Timestamp of transaction timecommitterId- ID of committer (part of AuditDetails)systemId- ID of committing system (part of AuditDetails)contributionType- ContributionDataType representation of contribution typestate- ContributionState representation of contribution statecontributionChangeType- ContributionChangeType representation of contribution change type (part of AuditDetails)description- Description (part of AuditDetails)- Returns:
- True for success
-
commitWithSignature
public UUID commitWithSignature(String signature)
Description copied from interface:I_ContributionAccesscommit the contribution with a certifying signature
the signature is stored in the Contribution Version entry, the state of the contribution is then 'complete'- Specified by:
commitWithSignaturein interfaceI_ContributionAccess- Parameters:
signature- String representing the certification- Returns:
- UUID of committed contribution
-
updateWithSignature
public UUID updateWithSignature(String signature)
- Specified by:
updateWithSignaturein interfaceI_ContributionAccess
-
update
public Boolean update(Timestamp transactionTime)
Description copied from interface:I_SimpleCRUDupdateComposition the current entry
depending on the implementation, records are updated only if one or more field(s) have been changed- Specified by:
updatein interfaceI_SimpleCRUD- Returns:
-
update
public Boolean update(Timestamp transactionTime, boolean force)
Description copied from interface:I_SimpleCRUDupdateComposition the current entry even if the record is not modified
intended to be used with temporal tables to ensure that a set of interdependent tables are updated in sync. This approach is used to simplify versions retrieval.- Specified by:
updatein interfaceI_SimpleCRUD- Returns:
-
update
public Boolean update()
Description copied from interface:I_SimpleCRUDupdateComposition the current entry using time now as the system transaction time
only implemented at root level object (contribution, composition, ehr). depending on the implementation, records are updated only if one or more field(s) have been changed- Specified by:
updatein interfaceI_SimpleCRUD- Returns:
-
update
public Boolean update(Boolean force)
Description copied from interface:I_SimpleCRUDupdateComposition the current entry using time now as the system transaction time
only implemented at root level object (contribution, composition, ehr). depending on the implementation, records are updated only if one or more field(s) have been changed- Specified by:
updatein interfaceI_SimpleCRUD- Returns:
-
delete
public Integer delete()
Description copied from interface:I_SimpleCRUDdelete the Versioned Object associated with the instance implementing this Data Access Interface. Relies on ON DELETE CASCADE- Specified by:
deletein interfaceI_SimpleCRUD- Returns:
-
retrieve
public I_ContributionAccess retrieve(UUID id)
- Throws:
InternalServerException- on failed fetching of contribution
-
getContributionId
public UUID getContributionId()
Description copied from interface:I_ContributionAccessget the contribution UUID- Specified by:
getContributionIdin interfaceI_ContributionAccess- Returns:
- ID of contribution
-
setAuditDetailsChangeType
public void setAuditDetailsChangeType(UUID changeType)
- Specified by:
setAuditDetailsChangeTypein interfaceI_ContributionAccess
-
getContributionDataType
public ContributionDataType getContributionDataType()
- Specified by:
getContributionDataTypein interfaceI_ContributionAccess
-
setContributionDataType
public void setContributionDataType(ContributionDataType contributionDataType)
- Specified by:
setContributionDataTypein interfaceI_ContributionAccess
-
setState
public void setState(ContributionDef.ContributionState state)
Description copied from interface:I_ContributionAccessset the state of contribution- Specified by:
setStatein interfaceI_ContributionAccess- Parameters:
state- ContributionDef- See Also:
ContributionDef
-
setComplete
public void setComplete()
Description copied from interface:I_ContributionAccessset the contribution as complete- Specified by:
setCompletein interfaceI_ContributionAccess
-
setIncomplete
public void setIncomplete()
Description copied from interface:I_ContributionAccessset the contribution as incomplete- Specified by:
setIncompletein interfaceI_ContributionAccess
-
setDeleted
public void setDeleted()
Description copied from interface:I_ContributionAccessset the contribution as deleted- Specified by:
setDeletedin interfaceI_ContributionAccess
-
setAuditDetailsValues
public void setAuditDetailsValues(UUID committer, UUID system, String description, I_ConceptAccess.ContributionChangeType changeType)
Description copied from interface:I_ContributionAccessConvenience setter for contribution's audit- Specified by:
setAuditDetailsValuesin interfaceI_ContributionAccess- Parameters:
committer- committer ID (Party Identified)system- system on which this is initiateddescription- descriptionchangeType- change type
-
setAuditDetailsValues
public void setAuditDetailsValues(com.nedap.archie.rm.generic.AuditDetails auditObject)
- Specified by:
setAuditDetailsValuesin interfaceI_ContributionAccess
-
setAuditDetailsCommitter
public void setAuditDetailsCommitter(UUID committer)
- Specified by:
setAuditDetailsCommitterin interfaceI_ContributionAccess
-
setAuditDetailsSystemId
public void setAuditDetailsSystemId(UUID system)
- Specified by:
setAuditDetailsSystemIdin interfaceI_ContributionAccess
-
setAuditDetailsDescription
public void setAuditDetailsDescription(String description)
- Specified by:
setAuditDetailsDescriptionin interfaceI_ContributionAccess
-
getAuditsCommitter
public UUID getAuditsCommitter()
- Specified by:
getAuditsCommitterin interfaceI_ContributionAccess
-
getAuditsSystemId
public UUID getAuditsSystemId()
- Specified by:
getAuditsSystemIdin interfaceI_ContributionAccess
-
getAuditsDescription
public String getAuditsDescription()
- Specified by:
getAuditsDescriptionin interfaceI_ContributionAccess
-
getAuditsChangeType
public I_ConceptAccess.ContributionChangeType getAuditsChangeType()
- Specified by:
getAuditsChangeTypein interfaceI_ContributionAccess
-
getContributionType
public ContributionDef.ContributionType getContributionType()
Description copied from interface:I_ContributionAccessget the contribution type- Specified by:
getContributionTypein interfaceI_ContributionAccess- Returns:
- type
- See Also:
ContributionDef.ContributionType
-
getContributionState
public ContributionDef.ContributionState getContributionState()
Description copied from interface:I_ContributionAccessget the contribution state- Specified by:
getContributionStatein interfaceI_ContributionAccess- Returns:
- state
- See Also:
ContributionDef.ContributionState
-
getEhrId
public UUID getEhrId()
Description copied from interface:I_ContributionAccessget the contribution Ehr Id it belongs to- Specified by:
getEhrIdin interfaceI_ContributionAccess- Returns:
- Ehr UUID
-
getDataType
public String getDataType()
- Specified by:
getDataTypein interfaceI_ContributionAccess
-
setDataType
public void setDataType(ContributionDataType contributionDataType)
- Specified by:
setDataTypein interfaceI_ContributionAccess
-
getId
public UUID getId()
- Specified by:
getIdin interfaceI_ContributionAccess
-
setEhrId
public void setEhrId(UUID ehrId)
Description copied from interface:I_ContributionAccessset the contribution Ehr Id it belongs to- Specified by:
setEhrIdin interfaceI_ContributionAccess
-
getDataAccess
public DataAccess getDataAccess()
- Specified by:
getDataAccessin interfaceI_DomainAccess
-
setHasAuditDetails
public void setHasAuditDetails(UUID auditId)
- Specified by:
setHasAuditDetailsin interfaceI_ContributionAccess
-
getHasAuditDetails
public UUID getHasAuditDetails()
- Specified by:
getHasAuditDetailsin interfaceI_ContributionAccess
-
adminDelete
public void adminDelete()
Description copied from interface:I_ContributionAccessInvoke physical deletion.- Specified by:
adminDeletein interfaceI_ContributionAccess
-
-