Class IntegrationContext
java.lang.Object
org.odpi.openmetadata.frameworks.integration.context.IntegrationContext
- Direct Known Subclasses:
AnalyticsIntegratorContext
,APIIntegratorContext
,CatalogIntegratorContext
,DatabaseIntegratorContext
,DisplayIntegratorContext
,FilesIntegratorContext
,InfrastructureIntegratorContext
,LineageIntegratorContext
,OrganizationIntegratorContext
,SearchIntegratorContext
,SecurityIntegratorContext
,TopicIntegratorContext
IntegrationContext is the base class for the integration context provided to the integration connector to provide access to open metadata
services. Each integration service specializes this class to provide the method appropriate for the particular type of technology it
is supporting.
This base class supports the common methods available to all types of integration connectors.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final String
protected boolean
protected final String
protected final String
protected final IntegrationReportWriter
protected final OpenIntegrationClient
protected final OpenMetadataClient
protected final PermittedSynchronization
protected final String
-
Constructor Summary
ConstructorsConstructorDescriptionIntegrationContext
(String connectorId, String connectorName, String connectorUserId, String serverName, OpenIntegrationClient openIntegrationClient, OpenMetadataClient openMetadataStoreClient, boolean generateIntegrationReport, PermittedSynchronization permittedSynchronization, String externalSourceGUID, String externalSourceName, String integrationConnectorGUID) Constructor handles standard values for all integration contexts. -
Method Summary
Modifier and TypeMethodDescriptiongetAnchorGUID
(ElementHeader elementHeader) Retrieve the anchorGUID from the Anchors classification.getCatalogTargets
(int startingFrom, int maximumResults) Retrieve the identifiers of the metadata elements identified as catalog targets with an integration connector.Return the integration governance context that provides access to various Governance Action Framework (GAF) function.Return the qualified name of the software capability that represents an external source of metadata.Return the permitted synchronization direction.void
Assemble the data collected and write out a report (if configured).protected void
reportAnchorGUID
(String elementGUID, String anchorGUID) Save the relationship between an element and its anchor.protected void
reportElementCreation
(String elementGUID) Save information about a newly created element.protected void
reportElementDelete
(String elementGUID) Save information about a newly archived or deleted element.protected void
reportElementUpdate
(String elementGUID) Save information about a newly updated element.protected void
reportParentGUID
(String elementGUID, String parentGUID) Attempt to use the parent's GUID to discover the relationship between an element and its anchor.void
setActiveReportPublishing
(boolean flag) Set whether an integration report should be assembled and published.void
Clear the report properties ready for a new report.
-
Field Details
-
openIntegrationClient
-
openMetadataStoreClient
-
userId
-
externalSourceGUID
-
externalSourceName
-
externalSourceIsHome
protected boolean externalSourceIsHome -
integrationConnectorGUID
-
permittedSynchronization
-
integrationReportWriter
-
-
Constructor Details
-
IntegrationContext
public IntegrationContext(String connectorId, String connectorName, String connectorUserId, String serverName, OpenIntegrationClient openIntegrationClient, OpenMetadataClient openMetadataStoreClient, boolean generateIntegrationReport, PermittedSynchronization permittedSynchronization, String externalSourceGUID, String externalSourceName, String integrationConnectorGUID) Constructor handles standard values for all integration contexts.- Parameters:
connectorId
- unique identifier of the connector (used to configure the event listener)connectorName
- name of connector from configconnectorUserId
- userId for the connectorserverName
- name of the integration daemonopenIntegrationClient
- client for calling the metadata serveropenMetadataStoreClient
- client for calling the metadata servergenerateIntegrationReport
- should the connector generate an integration reports?permittedSynchronization
- enumexternalSourceGUID
- unique identifier of the software server capability for the source of metadataexternalSourceName
- unique name of the software server capability for the source of metadataintegrationConnectorGUID
- unique identifier of the integration connector entity (maybe null)
-
-
Method Details
-
getCatalogTargets
public List<CatalogTarget> getCatalogTargets(int startingFrom, int maximumResults) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the identifiers of the metadata elements identified as catalog targets with an integration connector. Each catalog target may be configured with an optional symbolic name to guide the integration connector on how to use the catalog targets.- Parameters:
startingFrom
- initial position in the stored list.maximumResults
- maximum number of definitions to return on this call.- Returns:
- list of named element headers
- Throws:
InvalidParameterException
- one of the parameters is null or invalid,UserNotAuthorizedException
- user not authorized to issue this request.PropertyServerException
- problem retrieving the integration connector definition.
-
getMetadataSourceQualifiedName
Return the qualified name of the software capability that represents an external source of metadata. Used to control external provenance. If null the provenance is LOCAL_COHORT.- Returns:
- string name
-
getPermittedSynchronization
Return the permitted synchronization direction. This setting may affect which method in the context are available to the integration connector.- Returns:
- permittedSynchronization enum
-
getIntegrationGovernanceContext
Return the integration governance context that provides access to various Governance Action Framework (GAF) function.- Returns:
- IntegrationGovernanceContext context object
-
setActiveReportPublishing
public void setActiveReportPublishing(boolean flag) Set whether an integration report should be assembled and published. This allows the integration connector to turn off/on integration report writing. It only has an effect if the connector is configured to allow report writing- Parameters:
flag
- required behaviour
-
startRecording
public void startRecording()Clear the report properties ready for a new report. This is not normally needed by the integration connector since it is called by the connector handler just before refresh. It is also called by publish report. -
reportAnchorGUID
Save the relationship between an element and its anchor. This is called by the methods of the context that create, update, archive or delete elements.- Parameters:
elementGUID
- unique identifier of the elementanchorGUID
- unique identifier of the associated anchor
-
reportParentGUID
Attempt to use the parent's GUID to discover the relationship between an element and its anchor. This is used to identify which report that the element should be reported under.- Parameters:
elementGUID
- unique identifier of the elementparentGUID
- unique identifier of the associated parent
-
reportElementCreation
Save information about a newly created element.- Parameters:
elementGUID
- unique identifier of the element
-
reportElementUpdate
Save information about a newly updated element.- Parameters:
elementGUID
- unique identifier of the element
-
reportElementDelete
Save information about a newly archived or deleted element.- Parameters:
elementGUID
- unique identifier of the element
-
publishReport
public void publishReport() throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionAssemble the data collected and write out a report (if configured).- Throws:
InvalidParameterException
- an invalid property has been passedUserNotAuthorizedException
- the user is not authorizedPropertyServerException
- there is a problem communicating with the metadata server (or it has a logic error).
-
getAnchorGUID
Retrieve the anchorGUID from the Anchors classification.- Parameters:
elementHeader
- element header where the classifications reside- Returns:
- anchorGUID or null
-