Class IntegrationGroupConfigurationHandler
java.lang.Object
org.odpi.openmetadata.frameworkservices.gaf.handlers.IntegrationGroupConfigurationHandler
GovernanceConfigurationHandler provides the open metadata server side implementation of
GovernanceConfigurationServer which is part of the Open Governance Framework (ODF).
-
Constructor Summary
ConstructorDescriptionIntegrationGroupConfigurationHandler
(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. -
Method Summary
Modifier and TypeMethodDescriptionaddCatalogTarget
(String userId, String integrationConnectorGUID, String metadataElementGUID, CatalogTargetProperties properties, List<String> serviceSupportedZones) Add a catalog target to an integration connector.createIntegrationConnector
(String userId, String qualifiedName, String versionIdentifier, String name, String description, String deployedImplementationType, boolean usesBlockingCalls, Map<String, String> additionalProperties, Connection connection, List<String> serviceSupportedZones) Create an integration connector definition.createIntegrationGroup
(String userId, IntegrationGroupProperties properties, List<String> serviceSupportedZones) Create a new integration group definition.void
deleteIntegrationConnector
(String userId, String guid, String qualifiedName, List<String> serviceSupportedZones) Remove the properties of the integration connector.void
deleteIntegrationGroup
(String userId, String guid, String qualifiedName, List<String> serviceSupportedZones) Remove the properties of the integration group.getAllIntegrationConnectors
(String userId, int startingFrom, int maximumResults, List<String> serviceSupportedZones) Return the list of integration connectors definitions that are stored.getAllIntegrationGroups
(String userId, int startingFrom, int maximumResults, List<String> serviceSupportedZones) Return the list of integration group definitions that are stored.getCatalogTarget
(String userId, String relationshipGUID, List<String> serviceSupportedZones) Retrieve a specific catalog target associated with an integration connector.getCatalogTargets
(String userId, String integrationConnectorGUID, int startingFrom, int maximumResults, List<String> serviceSupportedZones) Retrieve the identifiers of the metadata elements identified as catalog targets with an integration connector.getIntegrationConnectorByGUID
(String userId, String guid, List<String> serviceSupportedZones) Return the properties from an integration connector definition.getIntegrationConnectorByName
(String userId, String name, List<String> serviceSupportedZones) Return the properties from an integration connector definition.getIntegrationConnectorRegistrations
(String userId, String integrationConnectorGUID, List<String> serviceSupportedZones) Return the list of integration groups that a specific integration connector is registered with.getIntegrationGroupByGUID
(String userId, String guid, List<String> serviceSupportedZones) Return the properties from an integration group definition.getIntegrationGroupByName
(String userId, String name, List<String> serviceSupportedZones) Return the properties from an integration group definition.getRegisteredIntegrationConnector
(String userId, String integrationGroupGUID, String integrationConnectorGUID, List<String> serviceSupportedZones) Retrieve a specific integration connector registrations with a particular integration group.getRegisteredIntegrationConnectors
(String userId, String integrationGroupGUID, int startingFrom, int maximumResults, List<String> serviceSupportedZones) Retrieve the identifiers of the registered integration connectors with an integration group.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) Register an integration connector with a specific integration group.void
removeCatalogTarget
(String userId, String relationshipGUID, List<String> serviceSupportedZones) Unregister a catalog target from the integration connector.void
unregisterIntegrationConnectorFromGroup
(String userId, String integrationGroupGUID, String integrationConnectorGUID, List<String> serviceSupportedZones) Unregister all request types for an integration connector from the integration group.void
updateCatalogTarget
(String userId, String relationshipGUID, CatalogTargetProperties properties, List<String> serviceSupportedZones) Update a catalog target for an integration connector.void
updateIntegrationConnector
(String userId, String guid, boolean isMergeUpdate, String qualifiedName, String versionIdentifier, String name, String description, String deployedImplementationType, Connection connection, Map<String, String> additionalProperties, Map<String, Object> extendedProperties, List<String> serviceSupportedZones) Update the properties of an existing integration connector definition.void
updateIntegrationGroup
(String userId, String guid, boolean isMergeUpdate, IntegrationGroupProperties properties, List<String> serviceSupportedZones) Update the properties of an existing integration group definition.
-
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 serviceserverName
- name of the local serverinvalidParameterHandler
- handler for managing parameter errorsrepositoryHandler
- manages calls to the repository servicesrepositoryHelper
- provides utilities for manipulating the repository services objectslocalServerUserId
- userId for this serversecurityVerifier
- open metadata security services verifiersupportedZones
- 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 userproperties
- 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 userguid
- 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 username
- 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 userstartingFrom
- 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 userguid
- 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 userguid
- 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 name, String description, String deployedImplementationType, boolean usesBlockingCalls, Map<String, String> additionalProperties, Connection connection, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate an integration connector definition. The same integration connector can be associated with multiple integration groups.- Parameters:
userId
- identifier of calling userqualifiedName
- unique name for the integration connector.name
- display name for the integration connector.versionIdentifier
- identifier if the versiondescription
- description of the analysis provided by the integration connectordeployedImplementationType
- technology typeusesBlockingCalls
- the connector issues blocking calls and needs a dedicated thread.additionalProperties
- additional propertiesconnection
- 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 userguid
- 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 username
- 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 userstartingFrom
- 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 userintegrationConnectorGUID
- 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 name, String description, String deployedImplementationType, Connection connection, Map<String, String> additionalProperties, Map<String, throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionObject> extendedProperties, List<String> serviceSupportedZones) 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 userguid
- 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.name
- new value for the display name.description
- new value for the descriptiondeployedImplementationType
- technology typeconnection
- 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 userguid
- 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 userintegrationGroupGUID
- 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 servicemetadataSourceQualifiedName
- 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 connectorrefreshTimeInterval
- how often to run the connectorstopDate
- latest time the connector should runpermittedSynchronization
- 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 userintegrationGroupGUID
- 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 userintegrationGroupGUID
- 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 userintegrationGroupGUID
- 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 String 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- Returns:
- unique identifier of the relationship
- 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.
-
updateCatalogTarget
public void updateCatalogTarget(String userId, String relationshipGUID, CatalogTargetProperties properties, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update a catalog target for an integration connector.- Parameters:
userId
- identifier of calling user.relationshipGUID
- unique identifier of the relationship.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 relationshipGUID, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve a specific catalog target associated with an integration connector.- Parameters:
userId
- identifier of calling user.relationshipGUID
- unique identifier of the relationship.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 relationshipGUID, List<String> serviceSupportedZones) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Unregister a catalog target from the integration connector.- Parameters:
userId
- identifier of calling user.relationshipGUID
- unique identifier of 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 accessing/updating the integration connector definition.
-