Class BaudotSubscriptionManagementConnector
java.lang.Object
org.odpi.openmetadata.frameworks.connectors.Connector
org.odpi.openmetadata.frameworks.connectors.ConnectorBase
org.odpi.openmetadata.frameworks.integration.connectors.IntegrationConnectorBase
org.odpi.openmetadata.frameworks.integration.connectors.DynamicIntegrationConnectorBase
org.odpi.openmetadata.adapters.connectors.baudot.BaudotSubscriptionManagementConnector
- All Implemented Interfaces:
AuditLoggingComponent,SecureConnectorExtension,VirtualConnectorExtension,CatalogTargetFactory,IntegrationConnector,OpenMetadataEventListener
public class BaudotSubscriptionManagementConnector
extends DynamicIntegrationConnectorBase
implements OpenMetadataEventListener
BaudotSubscriptionManagementConnector is the Baudot Open Metadata Digital Product Subscription Manager: a
dynamic integration connector that notifies the subscribers of digital products. Each notification type
it is to look after is given to it as a catalog target - Jacquard does this for every notification type it
creates for a product - and a
There are two distinct parts to the processing, and they are driven differently.
BaudotNotificationTypeProcessor is created for each.
There are two distinct parts to the processing, and they are driven differently.
- Welcome, one-time and periodic notifications are sent when the integration daemon refreshes this connector, which happens on the configured interval and whenever a refresh is requested through the integration daemon's REST API. The daemon's schedule is therefore the only clock here; this connector keeps no timers of its own.
- Notifications about changes to a notification type's monitored resources are sent as the change events arrive on the metadata access server's out topic. The refresh keeps a cache of which notification types monitor which resources; the event listener consults it.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
ConnectorBase.ProtectedConnection -
Field Summary
Fields inherited from class org.odpi.openmetadata.frameworks.integration.connectors.IntegrationConnectorBase
catalogTargetsManager, connectorName, integrationContext, propertyHelperFields inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
auditLog, connectionBean, connectorInstanceId, embeddedConnectors, messageFormatter, secretsStoreConnectorMap -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidShutdown the connector.getNewRequestedCatalogTargetSkeleton(CatalogTarget retrievedCatalogTarget, CatalogTargetContext catalogTargetContext, Connector connectorToTarget) Create a processor for a newly discovered catalog target - a notification type.voidThis method is called each time a metadata change is received.voidrefresh()Refresh every notification type this connector has been given, then say what is being looked after.voidstart()Indicates that the connector is completely configured and can begin processing.Methods inherited from class org.odpi.openmetadata.frameworks.integration.connectors.IntegrationConnectorBase
engage, getConnectorComponentDescription, getNetworkAddress, passEventToCatalogTargets, refreshCatalogTargets, setAuditLog, setConnectorName, setContextMethods inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
combineConfigurationProperties, disconnectConnectors, equals, fromCamelToCanonicalCase, fromCanonicalToCamelCase, fromCanonicalToKebabCase, fromCanonicalToSnakeCase, fromKebabToCanonicalCase, fromSnakeToCanonicalCase, getArrayConfigurationProperty, getArrayConfigurationProperty, getArrayConfigurationProperty, getBooleanConfigurationProperty, getConnection, getConnectorInstanceId, getDateConfigurationProperty, getIntConfigurationProperty, getLongConfigurationProperty, getSecretsCollectionName, getSecretsLocation, getSecretsProvider, getStringConfigurationProperty, getStringConfigurationProperty, getSuppliedPlaceholderProperties, hashCode, initialize, initializeEmbeddedConnectors, initializeSecretsStoreConnector, isActive, logExceptionRecord, logExceptionRecord, logRecord, logRecord, throwMissingConfigurationProperty, throwMissingElement, throwMissingEndpointAddress, throwMissingResource, throwNoAsset, throwWrongTypeOfAsset, throwWrongTypeOfResource, throwWrongTypeOfRootSchema, toStringMethods inherited from class org.odpi.openmetadata.frameworks.connectors.Connector
clearStatisticProperty, clearStatisticTimestamp, getConnectorStatistics, getStatisticCounter, getStatisticProperty, getStatisticTimestamp, incrementStatisticCounter, initializeStatisticCounter, refreshStatistics, setStatisticProperty, setStatisticTimestampMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.odpi.openmetadata.frameworks.connectors.VirtualConnectorExtension
initializeEmbeddedConnectors
-
Constructor Details
-
BaudotSubscriptionManagementConnector
public BaudotSubscriptionManagementConnector()
-
-
Method Details
-
start
Indicates that the connector is completely configured and can begin processing.- Specified by:
startin interfaceIntegrationConnector- Overrides:
startin classIntegrationConnectorBase- Throws:
ConnectorCheckedException- there is a problem within the connector.UserNotAuthorizedException- the connector was disconnected before/during start
-
refresh
Refresh every notification type this connector has been given, then say what is being looked after. The per-notification-type work is inBaudotNotificationTypeProcessor.refresh().- Specified by:
refreshin interfaceIntegrationConnector- Overrides:
refreshin classDynamicIntegrationConnectorBase- Throws:
ConnectorCheckedException- there is a problem with the connector. It is not able to refresh the metadata.UserNotAuthorizedException- the connector was disconnected before/during the refresh
-
getNewRequestedCatalogTargetSkeleton
public RequestedCatalogTarget getNewRequestedCatalogTargetSkeleton(CatalogTarget retrievedCatalogTarget, CatalogTargetContext catalogTargetContext, Connector connectorToTarget) Create a processor for a newly discovered catalog target - a notification type.- Specified by:
getNewRequestedCatalogTargetSkeletonin interfaceCatalogTargetFactory- Specified by:
getNewRequestedCatalogTargetSkeletonin classDynamicIntegrationConnectorBase- Parameters:
retrievedCatalogTarget- details of the catalog targetcatalogTargetContext- context for the catalog targetconnectorToTarget- connector to the target - null, a notification type is not an asset- Returns:
- the processor
-
processEvent
This method is called each time a metadata change is received. Its job is the notifications that are driven by change rather than by the refresh cycle: a change to a monitored resource tells the resource's notification types' subscribers, and a change to the set of monitored resources - or of notification types - keeps the cache the first case depends on current.- Specified by:
processEventin interfaceOpenMetadataEventListener- Overrides:
processEventin classDynamicIntegrationConnectorBase- Parameters:
event- event containing details of a change to an open metadata element.
-
disconnect
Shutdown the connector.- Specified by:
disconnectin interfaceIntegrationConnector- Overrides:
disconnectin classIntegrationConnectorBase- Throws:
ConnectorCheckedException- something failed in the super class
-