Class IntegrationGroupConfigurationHandler

java.lang.Object
org.odpi.openmetadata.frameworkservices.oif.handlers.IntegrationGroupConfigurationHandler

public class IntegrationGroupConfigurationHandler extends Object
GovernanceConfigurationHandler provides the open metadata server side implementation of GovernanceConfigurationServer which is part of the Open Governance Framework (ODF).
  • Constructor Details

    • IntegrationGroupConfigurationHandler

      public IntegrationGroupConfigurationHandler(String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, AuditLog auditLog)
      Construct the governance engine configuration handler caching the objects needed to operate within a single server instance.
      Parameters:
      serviceName - name of this service
      serverName - name of the local server
      invalidParameterHandler - handler for managing parameter errors
      repositoryHandler - manages calls to the repository services
      repositoryHelper - provides utilities for manipulating the repository services objects
      localServerUserId - userId for this server
      securityVerifier - open metadata security services verifier
      supportedZones - list of zones that the access service is allowed to serve B instances from.
      defaultZones - list of zones that the access service should set in all new B instances.
      publishZones - list of zones that the access service sets up in published B instances.
      auditLog - logging destination
  • Method Details

    • createIntegrationGroup

      public String createIntegrationGroup(String userId, IntegrationGroupProperties properties, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new integration group definition.
      Parameters:
      userId - identifier of calling user
      properties - properties for the integration group.
      serviceSupportedZones - supported zones for calling service
      Returns:
      unique identifier (guid) of the integration group definition. This is for use on other requests.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem storing the integration group definition.
    • getIntegrationGroupByGUID

      public IntegrationGroupElement getIntegrationGroupByGUID(String userId, String guid, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the properties from an integration group definition. The integration group definition is completely contained in a single entity that can be retrieved from the repository services and converted to a bean.
      Parameters:
      userId - identifier of calling user
      guid - unique identifier (guid) of the integration group definition.
      serviceSupportedZones - supported zones for calling service
      Returns:
      properties from the integration group definition.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration group definition.
    • getIntegrationGroupByName

      public IntegrationGroupElement getIntegrationGroupByName(String userId, String name, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the properties from an integration group definition. The integration group definition is completely contained in a single entity that can be retrieved from the repository services and converted to a bean.
      Parameters:
      userId - identifier of calling user
      name - qualified name or display name (if unique).
      serviceSupportedZones - supported zones for calling service
      Returns:
      properties from the integration group definition.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration group definition.
    • getAllIntegrationGroups

      public List<IntegrationGroupElement> getAllIntegrationGroups(String userId, int startingFrom, int maximumResults, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the list of integration group definitions that are stored.
      Parameters:
      userId - identifier of calling user
      startingFrom - initial position in the stored list.
      maximumResults - maximum number of definitions to return on this call.
      serviceSupportedZones - supported zones for calling service
      Returns:
      list of integration group definitions.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration group definitions.
    • updateIntegrationGroup

      public void updateIntegrationGroup(String userId, String guid, boolean isMergeUpdate, IntegrationGroupProperties properties, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the properties of an existing integration group definition. Use the current value to keep a property value the same, or use the new value. Null means remove the property from the definition.
      Parameters:
      userId - identifier of calling user
      guid - unique identifier of the integration group - used to locate the definition.
      isMergeUpdate - should the supplied properties be merged with existing properties (true) only replacing the properties with matching names, or should the entire properties of the instance be replaced?
      properties - properties for the integration group.
      serviceSupportedZones - supported zones for calling service
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem storing the integration group definition.
    • deleteIntegrationGroup

      public void deleteIntegrationGroup(String userId, String guid, String qualifiedName, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the properties of the integration group. Both the guid and the qualified name is supplied to validate that the correct integration group is being deleted.
      Parameters:
      userId - identifier of calling user
      guid - unique identifier of the integration group - used to locate the definition.
      qualifiedName - unique name for the integration group.
      serviceSupportedZones - supported zones for calling service
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration group definition.
    • createIntegrationConnector

      public String createIntegrationConnector(String userId, String qualifiedName, String versionIdentifier, String displayName, String description, boolean usesBlockingCalls, Map<String,String> additionalProperties, Connection connection, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create an integration connector definition. The same integration connector can be associated with multiple integration groups.
      Parameters:
      userId - identifier of calling user
      qualifiedName - unique name for the integration connector.
      displayName - display name for the integration connector.
      versionIdentifier - identifier if the version
      description - description of the analysis provided by the integration connector.
      usesBlockingCalls - the connector issues blocking calls and needs a dedicated thread.
      additionalProperties - additional properties
      connection - connection to instantiate the integration connector implementation.
      serviceSupportedZones - supported zones for calling service
      Returns:
      unique identifier of the integration connector.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem storing the integration connector definition.
    • getIntegrationConnectorByGUID

      public IntegrationConnectorElement getIntegrationConnectorByGUID(String userId, String guid, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the properties from an integration connector definition.
      Parameters:
      userId - identifier of calling user
      guid - unique identifier (guid) of the integration connector definition.
      serviceSupportedZones - supported zones for calling service
      Returns:
      properties of the integration connector.
      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.
    • getIntegrationConnectorByName

      public IntegrationConnectorElement getIntegrationConnectorByName(String userId, String name, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the properties from an integration connector definition.
      Parameters:
      userId - identifier of calling user
      name - qualified name or display name (if unique).
      serviceSupportedZones - supported zones for calling service
      Returns:
      properties from the integration connector definition.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration group definition.
    • getAllIntegrationConnectors

      public List<IntegrationConnectorElement> getAllIntegrationConnectors(String userId, int startingFrom, int maximumResults, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the list of integration connectors definitions that are stored.
      Parameters:
      userId - identifier of calling user
      startingFrom - initial position in the stored list.
      maximumResults - maximum number of definitions to return on this call.
      serviceSupportedZones - supported zones for calling service
      Returns:
      list of integration connector definitions.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration connector definitions.
    • getIntegrationConnectorRegistrations

      public List<String> getIntegrationConnectorRegistrations(String userId, String integrationConnectorGUID, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the list of integration groups that a specific integration connector is registered with.
      Parameters:
      userId - identifier of calling user
      integrationConnectorGUID - integration connector to search for.
      serviceSupportedZones - supported zones for calling service
      Returns:
      list of integration group unique identifiers (guids)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration connector and/or integration group definitions.
    • updateIntegrationConnector

      public void updateIntegrationConnector(String userId, String guid, boolean isMergeUpdate, String qualifiedName, String versionIdentifier, String displayName, String description, Connection connection, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the properties of an existing integration connector definition. Use the current value to keep a property value the same, or use the new value. Null means remove the property from the definition.
      Parameters:
      userId - identifier of calling user
      guid - unique identifier of the integration connector - used to locate the definition.
      isMergeUpdate - should the supplied properties be merged with existing properties (true) only replacing the properties with matching names, or should the entire properties of the instance be replaced?
      qualifiedName - new value for unique name of integration connector.
      versionIdentifier - version identifier of the connector.
      displayName - new value for the display name.
      description - new value for the description.
      connection - connection used to create an instance of this integration connector.
      additionalProperties - additional properties for the integration group.
      extendedProperties - properties to populate the subtype of the integration connector.
      serviceSupportedZones - supported zones for calling service
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem storing the integration connector definition.
    • deleteIntegrationConnector

      public void deleteIntegrationConnector(String userId, String guid, String qualifiedName, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the properties of the integration connector. Both the guid and the qualified name is supplied to validate that the correct integration connector is being deleted. The integration connector is also unregistered from its integration groups.
      Parameters:
      userId - identifier of calling user
      guid - unique identifier of the integration connector - used to locate the definition.
      qualifiedName - unique name for the integration connector.
      serviceSupportedZones - supported zones for calling service
      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.
    • registerIntegrationConnectorWithGroup

      public void registerIntegrationConnectorWithGroup(String userId, String integrationGroupGUID, String integrationConnectorGUID, String connectorName, String connectorUserId, String metadataSourceQualifiedName, Date startDate, long refreshTimeInterval, Date stopDate, PermittedSynchronization permittedSynchronization, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Register an integration connector with a specific integration group. Both the integration connector and the integration group already exist, so it is just a question of creating a relationship between them.
      Parameters:
      userId - identifier of calling user
      integrationGroupGUID - unique identifier of the integration group.
      integrationConnectorGUID - unique identifier of the integration connector.
      connectorName - list of governance request types that this integration connector is able to process.
      connectorUserId - request type supported by the service
      metadataSourceQualifiedName - list of analysis parameters that are passed to the integration connector (via the governance context). These values can be overridden on the actual governance request.
      startDate - earliest date to start the connector
      refreshTimeInterval - how often to run the connector
      stopDate - latest time the connector should run
      permittedSynchronization - which direction should synchronization flow?
      serviceSupportedZones - supported zones for calling service
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration connector and/or integration group definitions.
    • getRegisteredIntegrationConnector

      public RegisteredIntegrationConnectorElement getRegisteredIntegrationConnector(String userId, String integrationGroupGUID, String integrationConnectorGUID, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve a specific integration connector registrations with a particular integration group.
      Parameters:
      userId - identifier of calling user
      integrationGroupGUID - unique identifier of the integration group.
      integrationConnectorGUID - unique identifier of the registered integration connector.
      serviceSupportedZones - supported zones for calling service
      Returns:
      details of the integration connector and the asset types it is registered for.
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration connector and/or integration group definitions.
    • getRegisteredIntegrationConnectors

      public List<RegisteredIntegrationConnectorElement> getRegisteredIntegrationConnectors(String userId, String integrationGroupGUID, int startingFrom, int maximumResults, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the identifiers of the registered integration connectors with an integration group.
      Parameters:
      userId - identifier of calling user
      integrationGroupGUID - unique identifier of the integration group.
      startingFrom - initial position in the stored list.
      maximumResults - maximum number of definitions to return on this call.
      serviceSupportedZones - supported zones for calling service
      Returns:
      list of unique identifiers
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration connector and/or integration group definitions.
    • unregisterIntegrationConnectorFromGroup

      public void unregisterIntegrationConnectorFromGroup(String userId, String integrationGroupGUID, String integrationConnectorGUID, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Unregister all request types for an integration connector from the integration group.
      Parameters:
      userId - identifier of calling user
      integrationGroupGUID - unique identifier of the integration group.
      integrationConnectorGUID - unique identifier of the integration connector.
      serviceSupportedZones - supported zones for calling service
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem retrieving the integration connector and/or integration group definitions.
    • addCatalogTarget

      public void addCatalogTarget(String userId, String integrationConnectorGUID, String metadataElementGUID, CatalogTargetProperties properties, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Add a catalog target to an integration connector.
      Parameters:
      userId - identifier of calling user.
      integrationConnectorGUID - unique identifier of the integration service.
      metadataElementGUID - unique identifier of the metadata element that is a catalog target.
      properties - properties for the relationship.
      serviceSupportedZones - supported zones for calling service
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem storing the catalog target definition.
    • getCatalogTarget

      public CatalogTarget getCatalogTarget(String userId, String integrationConnectorGUID, String metadataElementGUID, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve a specific catalog target associated with an integration connector.
      Parameters:
      userId - identifier of calling user.
      integrationConnectorGUID - unique identifier of the integration service.
      metadataElementGUID - unique identifier of the metadata element that is a catalog target.
      serviceSupportedZones - supported zones for calling service
      Returns:
      details of the integration connector and the elements it is to catalog
      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.
    • getCatalogTargets

      public List<CatalogTarget> getCatalogTargets(String userId, String integrationConnectorGUID, int startingFrom, int maximumResults, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the identifiers of the metadata elements identified as catalog targets with an integration connector.
      Parameters:
      userId - identifier of calling user.
      integrationConnectorGUID - unique identifier of the integration connector.
      startingFrom - initial position in the stored list.
      maximumResults - maximum number of definitions to return on this call.
      serviceSupportedZones - supported zones for calling service
      Returns:
      list of unique identifiers
      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.
    • removeCatalogTarget

      public void removeCatalogTarget(String userId, String integrationConnectorGUID, String metadataElementGUID, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Unregister a catalog target from the integration connector.
      Parameters:
      userId - identifier of calling user.
      integrationConnectorGUID - unique identifier of the integration connector.
      metadataElementGUID - unique identifier of the metadata element.
      serviceSupportedZones - supported zones for calling service
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      UserNotAuthorizedException - user not authorized to issue this request.
      PropertyServerException - problem accessing/updating the integration connector definition.