Class ContextAccess

    • Constructor Detail

      • ContextAccess

        public ContextAccess​(org.jooq.DSLContext context,
                             ServerConfig serverConfig,
                             com.nedap.archie.rm.composition.EventContext eventContext)
    • Method Detail

      • retrieveInstance

        public static I_ContextAccess retrieveInstance​(I_DomainAccess domainAccess,
                                                       UUID id)
        Description copied from interface: I_ContextAccess
        retrieve an Event Context access layer instance from the DB
        Parameters:
        domainAccess - SQL context
        id - the event context id
        Returns:
        an interface to the access layer
      • retrieveHistoricalEventContext

        public static com.nedap.archie.rm.composition.EventContext retrieveHistoricalEventContext​(I_DomainAccess domainAccess,
                                                                                                  UUID compositionId,
                                                                                                  Timestamp transactionTime)
        Description copied from interface: I_ContextAccess
        Retrieves an EventContext for a specific historical time.
        Parameters:
        domainAccess - Access object
        compositionId - ID of composition the context is connected to
        transactionTime - Historical time of the context
        Returns:
        New EventContext object matching the given time or null if not available.
        Throws:
        InternalServerException - on failure of decoding DvText or DvDateTime
      • setRecordFields

        public void setRecordFields​(UUID id,
                                    com.nedap.archie.rm.composition.EventContext eventContext)
        setup an EventContextRecord instance based on values from an EventContext instance
        Specified by:
        setRecordFields in interface I_ContextAccess
        Parameters:
        id -
        eventContext -
      • commit

        public UUID commit()
        Description copied from interface: I_SimpleCRUD
        storeComposition a new entry in the DB, using a default transaction time
        only implemented with "root" tables: ehr, contribution and composition!
        Specified by:
        commit in interface I_SimpleCRUD
        Returns:
        the UUID of the newly created record
        Throws:
        InternalServerException - when database operation or
        IllegalArgumentException - when context commit failed
      • update

        public Boolean update​(Timestamp transactionTime)
        Description copied from interface: I_SimpleCRUD
        updateComposition the current entry
        depending on the implementation, records are updated only if one or more field(s) have been changed
        Specified by:
        update in interface I_SimpleCRUD
        Returns:
        Throws:
        InternalServerException - if DB inconsistency or other problem with updating DB entry
      • update

        public Boolean update​(Timestamp transactionTime,
                              boolean force)
        Description copied from interface: I_SimpleCRUD
        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. This approach is used to simplify versions retrieval.
        Specified by:
        update in interface I_SimpleCRUD
        Returns:
        Throws:
        InternalServerException - when update failed
      • update

        @Deprecated
        public Boolean update()
        Deprecated.
        Description copied from interface: I_SimpleCRUD
        updateComposition 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:
        update in interface I_SimpleCRUD
        Returns:
        Throws:
        InternalServerException - because inherited interface function isn't implemented in this class
      • update

        @Deprecated
        public Boolean update​(Boolean force)
        Deprecated.
        Description copied from interface: I_SimpleCRUD
        updateComposition 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:
        update in interface I_SimpleCRUD
        Returns:
        Throws:
        InternalServerException - because inherited interface function isn't implemented in this class
      • delete

        public Integer delete()
        Description copied from interface: I_SimpleCRUD
        delete the Versioned Object associated with the instance implementing this Data Access Interface. Relies on ON DELETE CASCADE
        Specified by:
        delete in interface I_SimpleCRUD
        Returns:
      • mapRmEventContext

        public com.nedap.archie.rm.composition.EventContext mapRmEventContext()
        Description copied from interface: I_ContextAccess
        Creates an EventContext object from already set record data of an already existing ContextAccess instance.
        Specified by:
        mapRmEventContext in interface I_ContextAccess
        Returns:
        EventContext object representing this instance's data
        Throws:
        InternalServerException - on failure of decoding DvText or DvDateTime
      • getOtherContextJson

        public String getOtherContextJson()
        Description copied from interface: I_ContextAccess
        Retrieves otherContext from event context record, which is represented as json blob in the DB.
        Specified by:
        getOtherContextJson in interface I_ContextAccess
        Returns:
        Json representation of otherContext