Class FhirBucketSchema
- java.lang.Object
-
- org.linuxforhealth.fhir.bucket.persistence.FhirBucketSchema
-
public class FhirBucketSchema extends java.lang.Object
Defines and manages the little schema used to coordinate multiple servers and maintain a list of resource logical ids generated by the FHIR server.
-
-
Constructor Summary
Constructors Constructor Description FhirBucketSchema(java.lang.String schemaName)
Public constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Table
addBucketPaths(PhysicalDataModel pdm)
Add the definition of the BUCKET_PATHS table to the modelprotected Table
addLoaderInstances(PhysicalDataModel pdm)
Add the definition of the BUCKET_PATHS table to the modelprotected void
addLogicalResources(PhysicalDataModel pdm, Table resourceTypes)
Add the LOGICAL_RESOURCES table definition to the physical data modelprotected void
addResourceBundleErrors(PhysicalDataModel pdm)
Add the RESOURCE_BUNDLE_ERRORS table to thePhysicalDataModel
protected Table
addResourceBundleLoads(PhysicalDataModel pdm)
Track each time we attempt to load a bundle.protected Table
addResourceBundles(PhysicalDataModel pdm)
Add the definition of the RESOURCE_BUNDLES table to the modelprotected Table
addResourceTypes(PhysicalDataModel pdm)
Add the definition of the RESOURCE_TYPES table to the modelprotected void
addSequences(PhysicalDataModel pdm)
protected void
applyModel(ISchemaAdapter adapter, SchemaApplyContext context, PhysicalDataModel pdm)
Apply the model to the database.void
constructModel(PhysicalDataModel pdm)
Create the model
-
-
-
Method Detail
-
constructModel
public void constructModel(PhysicalDataModel pdm)
Create the model- Parameters:
pdm
-
-
addSequences
protected void addSequences(PhysicalDataModel pdm)
-
addLoaderInstances
protected Table addLoaderInstances(PhysicalDataModel pdm)
Add the definition of the BUCKET_PATHS table to the model- Parameters:
pdm
-- Returns:
-
addBucketPaths
protected Table addBucketPaths(PhysicalDataModel pdm)
Add the definition of the BUCKET_PATHS table to the model- Parameters:
pdm
-- Returns:
-
addResourceBundles
protected Table addResourceBundles(PhysicalDataModel pdm)
Add the definition of the RESOURCE_BUNDLES table to the model- Parameters:
pdm
-- Returns:
-
addResourceBundleLoads
protected Table addResourceBundleLoads(PhysicalDataModel pdm)
Track each time we attempt to load a bundle. When recycleSeconds is set (seeMain
), the same bundle can be loaded over and over, so this allows us to track performance over time. Each LOGICAL_INSTANCES record created from a particular load run is also tied to this table via its RESOURCE_BUNDLE_LOAD_ID foreign key- Parameters:
pdm
-- Returns:
-
addResourceTypes
protected Table addResourceTypes(PhysicalDataModel pdm)
Add the definition of the RESOURCE_TYPES table to the model- Parameters:
pdm
-- Returns:
-
addLogicalResources
protected void addLogicalResources(PhysicalDataModel pdm, Table resourceTypes)
Add the LOGICAL_RESOURCES table definition to the physical data model- Parameters:
pdm
-resourceTypes
-
-
addResourceBundleErrors
protected void addResourceBundleErrors(PhysicalDataModel pdm)
Add the RESOURCE_BUNDLE_ERRORS table to thePhysicalDataModel
- Parameters:
pdm
-
-
applyModel
protected void applyModel(ISchemaAdapter adapter, SchemaApplyContext context, PhysicalDataModel pdm)
Apply the model to the database. Will generate the DDL and execute it- Parameters:
adapter
-context
-pdm
-
-
-