Class AccessServiceAdmin
java.lang.Object
org.odpi.openmetadata.adminservices.registration.AccessServiceAdmin
- Direct Known Subclasses:
AssetConsumerAdmin
,AssetManagerAdmin
,AssetOwnerAdmin
,CommunityProfileAdmin
,DataManagerAdmin
,DataScienceAdmin
,DesignModelAdmin
,DigitalArchitectureAdmin
,DigitalServiceAdmin
,GovernanceEngineAdmin
,GovernanceProgramAdmin
,GovernanceServerAdmin
,ITInfrastructureAdmin
,ProjectManagementAdmin
,SecurityManagerAdmin
,SoftwareDeveloperAdmin
,StewardshipActionAdmin
AccessServiceAdmin is the interface that an access service implements to receive its configuration.
The java class that implements this interface is created with a default constructor and then
the initialize method is called. It is configured in the AccessServiceDescription enumeration.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionextractDefaultZones
(Map<String, Object> accessServiceOptions, String accessServiceFullName, AuditLog auditLog) Extract the default zones property from the access services option.protected int
extractKarmaPointIncrement
(Map<String, Object> accessServiceOptions, String accessServiceFullName, AuditLog auditLog) Extract the karma point plateau property from the access services option.protected int
extractKarmaPointPlateau
(Map<String, Object> accessServiceOptions, String accessServiceFullName, AuditLog auditLog) Extract the karma point plateau property from the access services option.extractPublishZones
(Map<String, Object> accessServiceOptions, String accessServiceFullName, AuditLog auditLog) Extract the publish zones property from the access services option.extractSupportedZones
(Map<String, Object> accessServiceOptions, String accessServiceFullName, AuditLog auditLog) Extract the supported zones property from the access services option.Return the cached service name.protected OpenMetadataTopicConnector
getInTopicEventBusConnector
(Connection inTopicConnection, String accessServiceFullName, AuditLog parentAuditLog) Create the connector for this access services' In Topic.protected OpenMetadataTopicConnector
getOutTopicEventBusConnector
(Connection outTopicEventBusConnection, String accessServiceName, AuditLog parentAuditLog) Create the event bus connector for this access services' Out Topic.protected Connection
getServerSideOutTopicConnection
(Connection outTopicEventBusConnection, String accessServiceFullName, String accessServiceConnectorProviderClassName, AuditLog auditLog) Create the connector for this access services' Out Topic.getSupportedTypesForSearchOption
(AccessServiceConfig accessServiceConfig) Retrieve the option from the configuration that overrides default list of assets that a caller can search for.<T> T
getTopicConnector
(Connection topicConnection, Class<T> topicConnectorClass, AuditLog auditLog, String accessServiceFullName, String methodName) Create an instance of an open metadata topic connector using the supplied connection.protected String
getTopicName
(Connection connection) Return the name of the topic extracted from the endpoint of the topic's Connection.void
initialize
(AccessServiceConfig accessServiceConfigurationProperties, OMRSTopicConnector enterpriseOMRSTopicConnector, OMRSRepositoryConnector enterpriseOMRSRepositoryConnector, AuditLog auditLog, String serverUserName) Initialize the access service.protected void
registerWithEnterpriseTopic
(String accessServiceFullName, String serverName, OMRSTopicConnector omrsTopicConnector, OMRSTopicListener omrsTopicListener, AuditLog auditLog) Register a listener with the enterprise topic connector.void
setFullServiceName
(String fullServiceName) Set up the cached service name.abstract void
shutdown()
Shutdown the access service.protected void
throwUnexpectedInitializationException
(String actionDescription, String fullAccessServiceName, Throwable error) Log that an unexpected exception was received during start up.
-
Field Details
-
supportedZonesPropertyName
- See Also:
-
defaultZonesPropertyName
- See Also:
-
publishZonesPropertyName
- See Also:
-
karmaPointPlateauPropertyName
- See Also:
-
karmaPointIncrementPropertyName
- See Also:
-
supportedTypesForSearch
- See Also:
-
-
Constructor Details
-
AccessServiceAdmin
public AccessServiceAdmin()
-
-
Method Details
-
initialize
public void initialize(AccessServiceConfig accessServiceConfigurationProperties, OMRSTopicConnector enterpriseOMRSTopicConnector, OMRSRepositoryConnector enterpriseOMRSRepositoryConnector, AuditLog auditLog, String serverUserName) throws OMAGConfigurationErrorException Initialize the access service.- Parameters:
accessServiceConfigurationProperties
- specific configuration properties for this access service.enterpriseOMRSTopicConnector
- connector for receiving OMRS Events from the cohortsenterpriseOMRSRepositoryConnector
- connector for querying the cohort repositoriesauditLog
- audit log component for logging messages.serverUserName
- user id to use on OMRS calls where there is no end user.- Throws:
OMAGConfigurationErrorException
- invalid parameters in the configuration properties.
-
getFullServiceName
Return the cached service name.- Returns:
- string name
-
setFullServiceName
Set up the cached service name.- Parameters:
fullServiceName
- string name
-
shutdown
public abstract void shutdown()Shutdown the access service. -
extractSupportedZones
protected List<String> extractSupportedZones(Map<String, Object> accessServiceOptions, String accessServiceFullName, AuditLog auditLog) throws OMAGConfigurationErrorExceptionExtract the supported zones property from the access services option.- Parameters:
accessServiceOptions
- options passed to the access service.accessServiceFullName
- name of calling serviceauditLog
- audit log for error messages- Returns:
- null or list of zone names
- Throws:
OMAGConfigurationErrorException
- the supported zones property is not a list of zone names.
-
extractPublishZones
protected List<String> extractPublishZones(Map<String, Object> accessServiceOptions, String accessServiceFullName, AuditLog auditLog) throws OMAGConfigurationErrorExceptionExtract the publish zones property from the access services option.- Parameters:
accessServiceOptions
- options passed to the access service.accessServiceFullName
- name of calling serviceauditLog
- audit log for error messages- Returns:
- null or list of zone names
- Throws:
OMAGConfigurationErrorException
- the supported zones property is not a list of zone names.
-
extractDefaultZones
protected List<String> extractDefaultZones(Map<String, Object> accessServiceOptions, String accessServiceFullName, AuditLog auditLog) throws OMAGConfigurationErrorExceptionExtract the default zones property from the access services option.- Parameters:
accessServiceOptions
- options passed to the access service.accessServiceFullName
- name of calling serviceauditLog
- audit log for error messages- Returns:
- null or list of zone names
- Throws:
OMAGConfigurationErrorException
- the supported zones property is not a list of zone names.
-
extractKarmaPointIncrement
protected int extractKarmaPointIncrement(Map<String, Object> accessServiceOptions, String accessServiceFullName, AuditLog auditLog) throws OMAGConfigurationErrorExceptionExtract the karma point plateau property from the access services option.- Parameters:
accessServiceOptions
- options passed to the access service.accessServiceFullName
- name of calling serviceauditLog
- audit log for error messages- Returns:
- null or list of zone names
- Throws:
OMAGConfigurationErrorException
- the supported zones property is not a list of zone names.
-
getSupportedTypesForSearchOption
Retrieve the option from the configuration that overrides default list of assets that a caller can search for.- Parameters:
accessServiceConfig
- service configuration object- Returns:
- the list of supported asset types for search or null
-
extractKarmaPointPlateau
protected int extractKarmaPointPlateau(Map<String, Object> accessServiceOptions, String accessServiceFullName, AuditLog auditLog) throws OMAGConfigurationErrorExceptionExtract the karma point plateau property from the access services option.- Parameters:
accessServiceOptions
- options passed to the access service.accessServiceFullName
- name of calling serviceauditLog
- audit log for error messages- Returns:
- null or list of zone names
- Throws:
OMAGConfigurationErrorException
- the supported zones property is not a list of zone names.
-
registerWithEnterpriseTopic
protected void registerWithEnterpriseTopic(String accessServiceFullName, String serverName, OMRSTopicConnector omrsTopicConnector, OMRSTopicListener omrsTopicListener, AuditLog auditLog) throws OMAGConfigurationErrorException Register a listener with the enterprise topic connector.- Parameters:
accessServiceFullName
- name of calling access serviceserverName
- name of OMAG Server instanceomrsTopicConnector
- topic connector to register withomrsTopicListener
- listener to registerauditLog
- audit log to record messages- Throws:
OMAGConfigurationErrorException
- problem with topic connection
-
getTopicName
Return the name of the topic extracted from the endpoint of the topic's Connection.- Parameters:
connection
- connection object- Returns:
- topic name
-
getInTopicEventBusConnector
protected OpenMetadataTopicConnector getInTopicEventBusConnector(Connection inTopicConnection, String accessServiceFullName, AuditLog parentAuditLog) throws OMAGConfigurationErrorException Create the connector for this access services' In Topic.- Parameters:
inTopicConnection
- connection from the configuration propertiesaccessServiceFullName
- name of the calling access serviceparentAuditLog
- audit log from the admin component- Returns:
- connector to access the topic
- Throws:
OMAGConfigurationErrorException
- problem creating connector
-
getOutTopicEventBusConnector
protected OpenMetadataTopicConnector getOutTopicEventBusConnector(Connection outTopicEventBusConnection, String accessServiceName, AuditLog parentAuditLog) throws OMAGConfigurationErrorException Create the event bus connector for this access services' Out Topic.- Parameters:
outTopicEventBusConnection
- connection from the configuration properties - the event busaccessServiceName
- name of the calling access serviceparentAuditLog
- audit log from the admin component- Returns:
- connector to access the topic
- Throws:
OMAGConfigurationErrorException
- problem creating connector
-
getServerSideOutTopicConnection
protected Connection getServerSideOutTopicConnection(Connection outTopicEventBusConnection, String accessServiceFullName, String accessServiceConnectorProviderClassName, AuditLog auditLog) throws OMAGConfigurationErrorException Create the connector for this access services' Out Topic.- Parameters:
outTopicEventBusConnection
- connection from the configuration properties - the event busaccessServiceFullName
- name of the calling access serviceaccessServiceConnectorProviderClassName
- class name of connector providerauditLog
- audit log from the admin component- Returns:
- connector to access the topic
- Throws:
OMAGConfigurationErrorException
- problem creating connector
-
throwUnexpectedInitializationException
protected void throwUnexpectedInitializationException(String actionDescription, String fullAccessServiceName, Throwable error) throws OMAGConfigurationErrorException Log that an unexpected exception was received during start up.- Parameters:
actionDescription
- calling methodfullAccessServiceName
- name of the access serviceerror
- exception that was caught- Throws:
OMAGConfigurationErrorException
- wrapped exception
-
getTopicConnector
public <T> T getTopicConnector(Connection topicConnection, Class<T> topicConnectorClass, AuditLog auditLog, String accessServiceFullName, String methodName) throws OMAGConfigurationErrorException Create an instance of an open metadata topic connector using the supplied connection.- Type Parameters:
T
- type name- Parameters:
topicConnection
- connection needed to create the connectortopicConnectorClass
- class to cast toaccessServiceFullName
- name of the calling access serviceauditLog
- audit log for this connectormethodName
- calling method- Returns:
- connector to access the topic
- Throws:
OMAGConfigurationErrorException
- problem creating connector
-