Class AccessServiceAdmin


  • public abstract class AccessServiceAdmin
    extends Object
    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 Detail

      • supportedZonesPropertyName

        protected String supportedZonesPropertyName
      • defaultZonesPropertyName

        protected String defaultZonesPropertyName
      • publishZonesPropertyName

        protected String publishZonesPropertyName
      • karmaPointPlateauPropertyName

        protected String karmaPointPlateauPropertyName
      • karmaPointIncrementPropertyName

        protected String karmaPointIncrementPropertyName
    • Constructor Detail

      • AccessServiceAdmin

        public AccessServiceAdmin()
    • Method Detail

      • initialize

        @Deprecated
        public void initialize​(AccessServiceConfig accessServiceConfigurationProperties,
                               OMRSTopicConnector enterpriseOMRSTopicConnector,
                               OMRSRepositoryConnector enterpriseOMRSRepositoryConnector,
                               OMRSAuditLog auditLog,
                               String serverUserName)
                        throws OMAGConfigurationErrorException
        Deprecated.
        Initialize the access service.
        Parameters:
        accessServiceConfigurationProperties - specific configuration properties for this access service.
        enterpriseOMRSTopicConnector - connector for receiving OMRS Events from the cohorts
        enterpriseOMRSRepositoryConnector - connector for querying the cohort repositories
        auditLog - 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.
      • 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 cohorts
        enterpriseOMRSRepositoryConnector - connector for querying the cohort repositories
        auditLog - 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

        public String getFullServiceName()
        Return the cached service name.
        Returns:
        string name
      • setFullServiceName

        public void setFullServiceName​(String fullServiceName)
        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 OMAGConfigurationErrorException
        Extract the supported zones property from the access services option.
        Parameters:
        accessServiceOptions - options passed to the access service.
        accessServiceFullName - name of calling service
        auditLog - 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 OMAGConfigurationErrorException
        Extract the publish zones property from the access services option.
        Parameters:
        accessServiceOptions - options passed to the access service.
        accessServiceFullName - name of calling service
        auditLog - 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 OMAGConfigurationErrorException
        Extract the default zones property from the access services option.
        Parameters:
        accessServiceOptions - options passed to the access service.
        accessServiceFullName - name of calling service
        auditLog - 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 OMAGConfigurationErrorException
        Extract the karma point plateau property from the access services option.
        Parameters:
        accessServiceOptions - options passed to the access service.
        accessServiceFullName - name of calling service
        auditLog - 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.
      • extractKarmaPointPlateau

        protected int extractKarmaPointPlateau​(Map<String,​Object> accessServiceOptions,
                                               String accessServiceFullName,
                                               AuditLog auditLog)
                                        throws OMAGConfigurationErrorException
        Extract the karma point plateau property from the access services option.
        Parameters:
        accessServiceOptions - options passed to the access service.
        accessServiceFullName - name of calling service
        auditLog - 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 service
        serverName - name of OMAG Server instance
        omrsTopicConnector - topic connector to register with
        omrsTopicListener - listener to register
        auditLog - audit log to record messages
        Throws:
        OMAGConfigurationErrorException - problem with topic connection
      • getTopicName

        protected String getTopicName​(Connection connection)
        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 properties
        accessServiceFullName - name of the calling access service
        parentAuditLog - 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 bus
        accessServiceName - name of the calling access service
        parentAuditLog - audit log from the admin component
        Returns:
        connector to access the topic
        Throws:
        OMAGConfigurationErrorException - problem creating connector
      • getOutTopicConnection

        protected Connection getOutTopicConnection​(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 bus
        accessServiceFullName - name of the calling access service
        accessServiceConnectorProviderClassName - class name of connector provider
        auditLog - 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 method
        fullAccessServiceName - name of the access service
        error - 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 connector
        topicConnectorClass - class to cast to
        accessServiceFullName - name of the calling access service
        auditLog - audit log for this connector
        methodName - calling method
        Returns:
        connector to access the topic
        Throws:
        OMAGConfigurationErrorException - problem creating connector