Package com.ibm.fhir.schema.derby
Class DerbyFhirDatabase
- java.lang.Object
-
- com.ibm.fhir.schema.derby.DerbyFhirDatabase
-
- All Implemented Interfaces:
IConnectionProvider
,AutoCloseable
public class DerbyFhirDatabase extends Object implements AutoCloseable, IConnectionProvider
An Apache Derby implementation of the IBM FHIR Server database (useful for supporting unit tests).
-
-
Constructor Summary
Constructors Constructor Description DerbyFhirDatabase()
The default constructor will initialize the database at "derby/fhirDB".DerbyFhirDatabase(String dbPath)
Initialize the database using the given file-system path and build tables for all the resource typesDerbyFhirDatabase(String dbPath, Set<String> resourceTypeNames)
Construct a Derby database at the specified path and deploy the IBM FHIR Server schema.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
commitTransaction()
Commit the current transaction if there's an actual connection associated with this thread (i.e.VersionHistoryService
createVersionHistoryService()
Create the version history table and a simple service which is used to access information from it.void
describe(String arg0, StringBuilder arg1, String arg2)
Describe self, for writing configuration information to log file for test record purposesConnection
getConnection()
Obtain a new connection to a data-source which this provider has been configured for.IDatabaseTranslator
getTranslator()
Get the translator associated with this connection provider.void
populateResourceTypeAndParameterNameTableEntries()
prepopulates the bootstrapped derby database with static lookup data.void
rollbackTransaction()
Roll back the transaction for the connection associated with this thread, if one exists-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.ibm.fhir.database.utils.api.IConnectionProvider
getPoolSize
-
-
-
-
Constructor Detail
-
DerbyFhirDatabase
public DerbyFhirDatabase() throws SQLException
The default constructor will initialize the database at "derby/fhirDB".- Throws:
SQLException
-
DerbyFhirDatabase
public DerbyFhirDatabase(String dbPath) throws SQLException
Initialize the database using the given file-system path and build tables for all the resource types- Parameters:
dbPath
-- Throws:
SQLException
-
DerbyFhirDatabase
public DerbyFhirDatabase(String dbPath, Set<String> resourceTypeNames) throws SQLException
Construct a Derby database at the specified path and deploy the IBM FHIR Server schema.- Throws:
SQLException
-
-
Method Detail
-
populateResourceTypeAndParameterNameTableEntries
public void populateResourceTypeAndParameterNameTableEntries() throws SQLException
prepopulates the bootstrapped derby database with static lookup data.- Throws:
SQLException
-
createVersionHistoryService
public VersionHistoryService createVersionHistoryService() throws SQLException
Create the version history table and a simple service which is used to access information from it.- Throws:
SQLException
-
close
public void close() throws Exception
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-
commitTransaction
public void commitTransaction() throws SQLException
Description copied from interface:IConnectionProvider
Commit the current transaction if there's an actual connection associated with this thread (i.e. if getConnection() has been called at least once), otherwise do nothing.- Specified by:
commitTransaction
in interfaceIConnectionProvider
- Throws:
SQLException
-
describe
public void describe(String arg0, StringBuilder arg1, String arg2)
Description copied from interface:IConnectionProvider
Describe self, for writing configuration information to log file for test record purposes- Specified by:
describe
in interfaceIConnectionProvider
-
getConnection
public Connection getConnection() throws SQLException
Description copied from interface:IConnectionProvider
Obtain a new connection to a data-source which this provider has been configured for.- Specified by:
getConnection
in interfaceIConnectionProvider
- Returns:
- Throws:
SQLException
-
getTranslator
public IDatabaseTranslator getTranslator()
Description copied from interface:IConnectionProvider
Get the translator associated with this connection provider. Supports interpretation of SQLExceptions and the ability to tweak SQL statements to handle differences between DB2 and Derby- Specified by:
getTranslator
in interfaceIConnectionProvider
- Returns:
-
rollbackTransaction
public void rollbackTransaction() throws SQLException
Description copied from interface:IConnectionProvider
Roll back the transaction for the connection associated with this thread, if one exists- Specified by:
rollbackTransaction
in interfaceIConnectionProvider
- Throws:
SQLException
-
-