public abstract class Repository
extends java.lang.Object
A Repository
provides various technical informations about a
repository, that might be required by other services implementations. It is especially
providing method getDataSource()
that is basically allowing for JDBC access to
that repository.
Known subclasses are MasterRepository
and WorkRepository
.
This class isn't intent to be sub-classed by application code.
MasterRepository
,
WorkRepository
Modifier and Type | Method and Description |
---|---|
void |
addRepositoryModeListener(RepositoryModeListener ln)
Add a
RepositoryModeListener instance to current OdiInstance . |
void |
cleanModeListeners()
Remove all listeners that is listening the legacy id compatible mode.
|
javax.sql.DataSource |
getDataSource()
Obtains JDBC DataSource pointing to this repository.
|
java.lang.String |
getGlobalId() |
com.sunopsis.dwg.dbobj.SnpConnect |
getLegacyConnectionDef()
INTERNAL: Returns an handle on the legacy connection definition for this
repository.
|
static MasterRepository |
getMasterRepository(javax.sql.DataSource pDataSource)
Gets a MasterRepository instance.
|
java.lang.String |
getName()
Obtains the name of this repository.
|
abstract RepositoryResourceFailureException.RepositoryType |
getRepositoryType() |
int |
getShortId()
Obtain the short id of this repository.
|
java.lang.String |
getTechnologyCode()
Obtains internal ODI technology code (aka dialect) for this repository.
|
static WorkRepository |
getWorkRepository(MasterRepository pMasterRepository,
javax.sql.DataSource pDataSource,
com.sunopsis.dwg.dbobj.SnpConnect pWorkSnpConnect,
com.sunopsis.dwg.dbobj.SnpRemRep pWorkRemRep)
INTERNAL: Gets a WorkRepository instance.
|
boolean |
isLegacyIdCompatibleMode()
If master repository of current
OdiInstance is legacy id compatible. |
long |
ping()
Return the time needed to execute a very simple query on the repository.
|
void |
switchOffLegacyIdCompatibleMode(OdiInstance inst) |
public static MasterRepository getMasterRepository(javax.sql.DataSource pDataSource) throws OdiConfigurationException
pDataSource
- JDBC DataSource of an ODI master repositoryMasterRepository
objectOdiConfigurationException
- when the DataSource provided does not match a valid ODI master repository.MasterRepositoryResourceFailureException
- if no connection can be obtained from given DataSourceMasterRepositoryVersionMismatchException
- if given repository's DataSource doesn't match required
versionIllegalMasterRepositoryStatusException
- in case of illegal repository statusNotMasterRepositorySchemaException
- if given DataSource schema does not correspond to a master
repositorypublic static WorkRepository getWorkRepository(MasterRepository pMasterRepository, javax.sql.DataSource pDataSource, com.sunopsis.dwg.dbobj.SnpConnect pWorkSnpConnect, com.sunopsis.dwg.dbobj.SnpRemRep pWorkRemRep) throws OdiConfigurationException
pMasterRepository
- master repositorypDataSource
- JDBC DataSource of an ODI work repositorypWorkSnpConnect
- WorkRepository
objectOdiConfigurationException
- when the DataSource provided does not match a valid ODI work repository.WorkRepositoryResourceFailureException
- if no connection can be obtained from given DataSourceWorkRepositoryVersionMismatchException
- if given repository's DataSource doesn't match required
versionIllegalWorkRepositoryStatusException
- in case of illegal repository statusNotWorkRepositorySchemaException
- if given DataSource schema does not correspond to a work
repositoryRepositoriesNotBoundException
- if given master and work repositories are not bound according
ODI repositories topologypublic java.lang.String getGlobalId()
public boolean isLegacyIdCompatibleMode()
OdiInstance
is legacy id compatible.OdiInstance
is legacy id compatiblepublic javax.sql.DataSource getDataSource()
Note: this DataSource isn't managed by ODI persistence management. Don't use this DataSource to implement transactional data access code.
DataSource
to this repositorypublic java.lang.String getTechnologyCode()
public java.lang.String getName()
public com.sunopsis.dwg.dbobj.SnpConnect getLegacyConnectionDef()
public long ping() throws RepositoryResourceFailureException
RepositoryResourceFailureException
- in case of repository access failure.public int getShortId()
int
public void switchOffLegacyIdCompatibleMode(OdiInstance inst)
public void addRepositoryModeListener(RepositoryModeListener ln)
RepositoryModeListener
instance to current OdiInstance
. The repositoryModeChanged
Method will be invoked after legacy id compatible mode of OdiInstance
changed.ln
- the instance to add.public void cleanModeListeners()
public abstract RepositoryResourceFailureException.RepositoryType getRepositoryType()