Class Db2ResourceReferenceDAO
- java.lang.Object
-
- com.ibm.fhir.persistence.jdbc.dao.impl.ResourceReferenceDAO
-
- com.ibm.fhir.persistence.jdbc.db2.Db2ResourceReferenceDAO
-
- All Implemented Interfaces:
IResourceReferenceDAO,AutoCloseable
public class Db2ResourceReferenceDAO extends ResourceReferenceDAO
Db2-specific extension of theResourceReferenceDAOto work around some SQL syntax and Postgres concurrency issues
-
-
Field Summary
-
Fields inherited from class com.ibm.fhir.persistence.jdbc.dao.impl.ResourceReferenceDAO
BATCH_SIZE
-
-
Constructor Summary
Constructors Constructor Description Db2ResourceReferenceDAO(IDatabaseTranslator t, Connection c, String schemaName, ICommonTokenValuesCache cache, String adminSchemaName, INameIdCache<Integer> parameterNameCache)Public constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddoCanonicalValuesUpsert(String paramList, Collection<String> sortedURLS)Insert any missing values into the common_canonical_values tablevoiddoCodeSystemsUpsert(String paramList, Collection<String> sortedSystemNames)Insert any missing values into the code_systems tableprotected voiddoCommonTokenValuesUpsert(String paramList, Collection<CommonTokenValue> sortedTokenValues)Execute the insert (upsert) into the common_token_values table for the given collection of values.protected voidinsertResourceProfiles(String resourceType, Collection<ResourceProfileRec> profiles)protected voidinsertResourceSecurity(String resourceType, Collection<ResourceTokenValueRec> xrefs)Insert _security parameters to the resource-specific xx_SECURITY tableprotected voidinsertResourceTags(String resourceType, Collection<ResourceTokenValueRec> xrefs)Insert the tags referenced by the given collection of token value recordsprotected voidinsertResourceTokenRefs(String resourceType, Collection<ResourceTokenValueRec> xrefs)Insert the values in the resource-type-specific _resource_token_refs table.protected voidinsertSystemResourceProfiles(String resourceType, Collection<ResourceProfileRec> profiles)Insert PROFILE parametersprotected voidinsertSystemResourceSecurity(String resourceType, Collection<ResourceTokenValueRec> xrefs)Insert _security parametes to the whole-system LOGICAL_REOURCE_SECURITY tableprotected voidinsertSystemResourceTags(String resourceType, Collection<ResourceTokenValueRec> xrefs)Insert _tag parameters to the whole-system LOGICAL_RESOURCE_TAGS tableprotected voidinsertSystemResourceTokenRefs(String resourceType, Collection<ResourceTokenValueRec> xrefs)Insert any whole-system parameters to the token_refs tableprotected intreadOrAddParameterNameId(String parameterName)Fetch the id for the given parameter name from the database, creating a new entry if required.-
Methods inherited from class com.ibm.fhir.persistence.jdbc.dao.impl.ResourceReferenceDAO
addNormalizedValues, close, doCodeSystemsFetch, flush, getCache, getConnection, getParameterNameId, getResourceReferenceCache, getSchemaName, getTranslator, persist, readCanonicalId, readCommonTokenValueId, readCommonTokenValueIdList, readCommonTokenValueIds, upsertCanonicalValues, upsertCodeSystems, upsertCommonTokenValues
-
-
-
-
Constructor Detail
-
Db2ResourceReferenceDAO
public Db2ResourceReferenceDAO(IDatabaseTranslator t, Connection c, String schemaName, ICommonTokenValuesCache cache, String adminSchemaName, INameIdCache<Integer> parameterNameCache)
Public constructor- Parameters:
t-c-schemaName-cache-
-
-
Method Detail
-
doCodeSystemsUpsert
public void doCodeSystemsUpsert(String paramList, Collection<String> sortedSystemNames)
Description copied from class:ResourceReferenceDAOInsert any missing values into the code_systems table- Specified by:
doCodeSystemsUpsertin classResourceReferenceDAO
-
doCanonicalValuesUpsert
public void doCanonicalValuesUpsert(String paramList, Collection<String> sortedURLS)
Description copied from class:ResourceReferenceDAOInsert any missing values into the common_canonical_values table- Specified by:
doCanonicalValuesUpsertin classResourceReferenceDAO
-
doCommonTokenValuesUpsert
protected void doCommonTokenValuesUpsert(String paramList, Collection<CommonTokenValue> sortedTokenValues)
Description copied from class:ResourceReferenceDAOExecute the insert (upsert) into the common_token_values table for the given collection of values. Note, this insert from negative outer join requires the database concurrency implementation to be correct. This does not work for Postgres, hence Postgres gets its own implementation of this method- Specified by:
doCommonTokenValuesUpsertin classResourceReferenceDAO
-
insertResourceTokenRefs
protected void insertResourceTokenRefs(String resourceType, Collection<ResourceTokenValueRec> xrefs)
Description copied from class:ResourceReferenceDAOInsert the values in the resource-type-specific _resource_token_refs table. This is a simple batch insert because all the FKs have already been resolved and updated in the ResourceTokenValueRec records- Overrides:
insertResourceTokenRefsin classResourceReferenceDAO
-
insertSystemResourceTokenRefs
protected void insertSystemResourceTokenRefs(String resourceType, Collection<ResourceTokenValueRec> xrefs)
Description copied from class:ResourceReferenceDAOInsert any whole-system parameters to the token_refs table- Overrides:
insertSystemResourceTokenRefsin classResourceReferenceDAO
-
insertResourceProfiles
protected void insertResourceProfiles(String resourceType, Collection<ResourceProfileRec> profiles)
- Overrides:
insertResourceProfilesin classResourceReferenceDAO
-
insertSystemResourceProfiles
protected void insertSystemResourceProfiles(String resourceType, Collection<ResourceProfileRec> profiles)
Description copied from class:ResourceReferenceDAOInsert PROFILE parameters- Overrides:
insertSystemResourceProfilesin classResourceReferenceDAO
-
insertResourceTags
protected void insertResourceTags(String resourceType, Collection<ResourceTokenValueRec> xrefs)
Description copied from class:ResourceReferenceDAOInsert the tags referenced by the given collection of token value records- Overrides:
insertResourceTagsin classResourceReferenceDAO
-
insertSystemResourceTags
protected void insertSystemResourceTags(String resourceType, Collection<ResourceTokenValueRec> xrefs)
Description copied from class:ResourceReferenceDAOInsert _tag parameters to the whole-system LOGICAL_RESOURCE_TAGS table- Overrides:
insertSystemResourceTagsin classResourceReferenceDAO
-
insertResourceSecurity
protected void insertResourceSecurity(String resourceType, Collection<ResourceTokenValueRec> xrefs)
Description copied from class:ResourceReferenceDAOInsert _security parameters to the resource-specific xx_SECURITY table- Overrides:
insertResourceSecurityin classResourceReferenceDAO
-
insertSystemResourceSecurity
protected void insertSystemResourceSecurity(String resourceType, Collection<ResourceTokenValueRec> xrefs)
Description copied from class:ResourceReferenceDAOInsert _security parametes to the whole-system LOGICAL_REOURCE_SECURITY table- Overrides:
insertSystemResourceSecurityin classResourceReferenceDAO
-
readOrAddParameterNameId
protected int readOrAddParameterNameId(String parameterName) throws FHIRPersistenceDBConnectException, FHIRPersistenceDataAccessException
Description copied from class:ResourceReferenceDAOFetch the id for the given parameter name from the database, creating a new entry if required.- Specified by:
readOrAddParameterNameIdin classResourceReferenceDAO- Returns:
- Throws:
FHIRPersistenceDBConnectExceptionFHIRPersistenceDataAccessException
-
-