Class RepositoryGovernanceServiceConnector
- java.lang.Object
-
- org.odpi.openmetadata.frameworks.connectors.Connector
-
- org.odpi.openmetadata.frameworks.connectors.ConnectorBase
-
- org.odpi.openmetadata.engineservices.repositorygovernance.connector.RepositoryGovernanceServiceConnector
-
- All Implemented Interfaces:
RepositoryGovernanceService
,AuditLoggingComponent
,VirtualConnectorExtension
- Direct Known Subclasses:
DynamicArchiveService
public abstract class RepositoryGovernanceServiceConnector extends ConnectorBase implements RepositoryGovernanceService, AuditLoggingComponent, VirtualConnectorExtension
RepositoryGovernanceServiceConnector describes a specific type of connector that is responsible for managing the content of a specific open metadata archive. Information about the available metadata is passed in the archive context. The returned archive context also contains the status of this service.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
ConnectorBase.ProtectedConnection
-
-
Field Summary
Fields Modifier and Type Field Description protected AuditLog
auditLog
protected java.util.List<Connector>
embeddedConnectors
protected RepositoryGovernanceContext
repositoryGovernanceContext
protected java.lang.String
repositoryGovernanceServiceName
-
Fields inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
connectedAssetProperties, connectionBean, connectionProperties, connectorInstanceId, securedProperties
-
-
Constructor Summary
Constructors Constructor Description RepositoryGovernanceServiceConnector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
disconnect()
Free up any resources held since the connector is no longer needed.ComponentDescription
getConnectorComponentDescription()
Return the component description that is used by this connector in the audit log.RepositoryGovernanceContext
getRepositoryGovernanceContext()
Return the archive context for this archive service.protected void
handleUnexpectedException(java.lang.String methodName, java.lang.Exception error)
Provide a common exception for unexpected errors.void
initializeEmbeddedConnectors(java.util.List<Connector> embeddedConnectors)
Set up the list of connectors that this virtual connector will use to support its interface.void
setAuditLog(AuditLog auditLog)
Receive an audit log object that can be used to record audit log messages.void
setRepositoryGovernanceContext(RepositoryGovernanceContext repositoryGovernanceContext)
Set up access to the open metadata ecosystem.void
setRepositoryGovernanceServiceName(java.lang.String archiveServiceName)
Set up the archive service name.void
start()
Indicates that the archive service is completely configured and can begin processing.protected void
validateContext(RepositoryGovernanceContext governanceContext)
Verify that the context has been set up for the subclass-
Methods inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
equals, getConnectedAssetProperties, getConnection, getConnectorInstanceId, hashCode, initialize, initializeConnectedAssetProperties, isActive, toString
-
Methods inherited from class org.odpi.openmetadata.frameworks.connectors.Connector
clearStatisticProperty, clearStatisticTimestamp, getConnectorStatistics, getStatisticCounter, getStatisticProperty, getStatisticTimestamp, incrementStatisticCounter, initializeStatisticCounter, setStatisticProperty, setStatisticTimestamp
-
-
-
-
Field Detail
-
repositoryGovernanceServiceName
protected java.lang.String repositoryGovernanceServiceName
-
repositoryGovernanceContext
protected RepositoryGovernanceContext repositoryGovernanceContext
-
auditLog
protected AuditLog auditLog
-
embeddedConnectors
protected java.util.List<Connector> embeddedConnectors
-
-
Method Detail
-
setAuditLog
public void setAuditLog(AuditLog auditLog)
Receive an audit log object that can be used to record audit log messages. The caller has initialized it with the correct component description and log destinations.- Specified by:
setAuditLog
in interfaceAuditLoggingComponent
- Parameters:
auditLog
- audit log object
-
getConnectorComponentDescription
public ComponentDescription getConnectorComponentDescription()
Return the component description that is used by this connector in the audit log.- Specified by:
getConnectorComponentDescription
in interfaceAuditLoggingComponent
- Returns:
- id, name, description, wiki page URL.
-
initializeEmbeddedConnectors
public void initializeEmbeddedConnectors(java.util.List<Connector> embeddedConnectors)
Set up the list of connectors that this virtual connector will use to support its interface. The connectors are initialized waiting to start. When start() is called on the virtual connector, it needs to pass start() to each of the embedded connectors. Similarly for disconnect().- Specified by:
initializeEmbeddedConnectors
in interfaceVirtualConnectorExtension
- Parameters:
embeddedConnectors
- list of connectors
-
setRepositoryGovernanceContext
public void setRepositoryGovernanceContext(RepositoryGovernanceContext repositoryGovernanceContext)
Set up access to the open metadata ecosystem.- Parameters:
repositoryGovernanceContext
- interface to the enterprise repository services and the ability to register a listener to the enterprise OMRS topic.
-
setRepositoryGovernanceServiceName
public void setRepositoryGovernanceServiceName(java.lang.String archiveServiceName)
Set up the archive service name. This is used in error messages.- Parameters:
archiveServiceName
- name of the archive service
-
getRepositoryGovernanceContext
public RepositoryGovernanceContext getRepositoryGovernanceContext()
Return the archive context for this archive service. This is typically called after the disconnect() method is called. If called before disconnect(), it may only contain partial results.- Returns:
- archive context containing the results discovered (so far) by the archive service.
-
start
public void start() throws ConnectorCheckedException
Indicates that the archive service is completely configured and can begin processing. Any embedded connectors are started. This is the method where the function of the archive service is implemented in the subclass. This is a standard method from the Open Connector Framework (OCF) so be sure to call super.start() in your version.- Overrides:
start
in classConnectorBase
- Throws:
ConnectorCheckedException
- there is a problem within the archive service.
-
handleUnexpectedException
protected void handleUnexpectedException(java.lang.String methodName, java.lang.Exception error) throws ConnectorCheckedException
Provide a common exception for unexpected errors.- Parameters:
methodName
- calling methoderror
- caught exception- Throws:
ConnectorCheckedException
- wrapped exception
-
validateContext
protected void validateContext(RepositoryGovernanceContext governanceContext) throws ConnectorCheckedException
Verify that the context has been set up for the subclass- Parameters:
governanceContext
- context from the subclass- Throws:
ConnectorCheckedException
- error to say that the connector (governance action service) is not able to proceed because it has not been set up correctly.
-
disconnect
public void disconnect() throws ConnectorCheckedException
Free up any resources held since the connector is no longer needed.- Overrides:
disconnect
in classConnectorBase
- Throws:
ConnectorCheckedException
- there is a problem within the connector.
-
-