Class OpenMetadataServerSecurityConnector

java.lang.Object
org.odpi.openmetadata.frameworks.connectors.Connector
org.odpi.openmetadata.frameworks.connectors.ConnectorBase
org.odpi.openmetadata.metadatasecurity.connectors.OpenMetadataServerSecurityConnector
All Implemented Interfaces:
org.odpi.openmetadata.frameworks.auditlog.AuditLoggingComponent

public class OpenMetadataServerSecurityConnector extends org.odpi.openmetadata.frameworks.connectors.ConnectorBase implements org.odpi.openmetadata.frameworks.auditlog.AuditLoggingComponent
OpenMetadataServerSecurityConnector provides the base class for an Open Metadata Security Connector for a server. This connector is configured in an OMAG Configuration Document. Its default behavior is to reject every request. It generates well-defined exceptions and audit log messages. Override these to define the required access for the deployment environment. The methods in this base class can be called if access is to be denied as a way of making use of the message logging and exceptions.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase

    org.odpi.openmetadata.frameworks.connectors.ConnectorBase.ProtectedConnection
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.odpi.openmetadata.frameworks.auditlog.AuditLog
     
    protected String
     
    protected String
     
    protected String
     
    protected final String
     

    Fields inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase

    connectedAssetProperties, connectionBean, connectionProperties, connectorInstanceId, securedProperties
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Free up any resources held since the connector is no longer needed.
    protected String
    getAssetGUID(org.odpi.openmetadata.metadatasecurity.properties.Asset asset)
    Return a string representing the unique identifier for the asset.
    protected String
    getConnectionQualifiedName(org.odpi.openmetadata.metadatasecurity.properties.Connection connection)
    Return a string representing the unique identifier for the connection.
    org.odpi.openmetadata.frameworks.auditlog.ComponentDescription
    Return the component description that is used by this connector in the audit log.
    protected String
    getInstanceGUID(org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceHeader instance)
    Return a string representing the unique identifier for a repository instance.
    protected void
    Write an audit log message to say that the connector is stopping.
    protected void
    Write an audit log message to say that the connector is initializing.
    protected String
    Return a string representing the list of zones.
    protected List<String>
    setAssetZonesToDefault(List<String> defaultZones, org.odpi.openmetadata.metadatasecurity.properties.Asset asset)
    Determine the appropriate setting for the asset zones depending on the content of the asset and the default zones.
    void
    setAuditLog(org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog)
    Receive an audit log object that can be used to record audit log messages.
    void
    Provide the local server's userId.
    void
    setServerName(String serverName)
    Set the name of the server that this connector is supporting.
    protected List<String>
    setSupportedZonesForUser(List<String> supportedZones, String serviceName, String user)
    Determine the appropriate setting for the supported zones depending on the user and the default supported zones set up for the service.
    void
    Indicates that the connector is completely configured and can begin processing.
    protected void
    throwIncompleteAsset(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, String propertyName, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedAssetAccess(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedAssetChange(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedAssetCreate(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedAssetFeedback(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedConnectionAccess(String userId, org.odpi.openmetadata.metadatasecurity.properties.Connection connection, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedInstanceAccess(String userId, String instanceGUID, String typeName, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedInstanceChange(String userId, String instanceGUID, String typeName, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedInstanceCreate(String userId, String typeGUID, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedServiceAccess(String userId, String serviceName, String serviceOperationName, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedTypeAccess(String userId, String typeGUID, String typeName, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedTypeChange(String userId, String typeGUID, String typeName, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    throwUnauthorizedZoneChange(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, List<String> originalZones, List<String> newZones, String methodName)
    Write an audit log message and throw exception to record an unauthorized access.
    protected void
    Check that the calling user is authorized to update the configuration for a server.
    protected void
    Check that the calling user is authorized to issue operator requests to the OMAG Server.
    protected void
    Check that the calling user is authorized to issue operator requests to the OMAG Server.
    protected void
    validateUserForAssetAttachmentUpdate(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset)
    Tests for whether a specific user should have the right to update elements attached directly to an asset such as schema and connections.
    protected org.odpi.openmetadata.metadatasecurity.properties.Connection
    validateUserForAssetConnectionList(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, List<org.odpi.openmetadata.metadatasecurity.properties.Connection> connections)
    Select a connection from the list of connections attached to an asset.
    protected void
    validateUserForAssetCreate(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset)
    Tests for whether a specific user should have the right to create an asset within a zone.
    protected void
    validateUserForAssetDelete(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset)
    Tests for whether a specific user should have the right to delete an asset within a zone.
    protected void
    validateUserForAssetDetailUpdate(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset originalAsset, org.odpi.openmetadata.metadatasecurity.properties.AssetAuditHeader originalAssetAuditHeader, org.odpi.openmetadata.metadatasecurity.properties.Asset newAsset)
    Tests for whether a specific user should have the right to update an asset.
    protected void
    validateUserForAssetFeedback(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset)
    Tests for whether a specific user should have the right to attach feedback - such as comments, ratings, tags and likes, to the asset.
    protected void
    validateUserForAssetRead(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset)
    Tests for whether a specific user should have read access to a specific asset within a zone.
    protected void
    validateUserForConnection(String userId, org.odpi.openmetadata.metadatasecurity.properties.Connection connection)
    Tests for whether a specific user should have access to a connection.
    protected void
    validateUserForEntityClassificationAdd(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary instance, String classificationName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceProperties properties)
    Tests for whether a specific user should have the right to add a classification to an entity instance within a repository.
    protected void
    validateUserForEntityClassificationDelete(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary instance, String classificationName)
    Tests for whether a specific user should have the right to delete a classification from an entity instance within a repository.
    protected void
    validateUserForEntityClassificationUpdate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary instance, String classificationName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceProperties properties)
    Tests for whether a specific user should have the right to update the classification for an entity instance within a repository.
    protected void
    validateUserForEntityCreate(String userId, String metadataCollectionName, String entityTypeGUID, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceProperties initialProperties, List<org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Classification> initialClassifications, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceStatus initialStatus)
    Tests for whether a specific user should have the right to create a instance within a repository.
    protected void
    validateUserForEntityDelete(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance)
    Tests for whether a specific user should have the right to delete a instance within a repository.
    protected void
    validateUserForEntityProxyRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityProxy instance)
    Tests for whether a specific user should have read access to a specific instance within a repository.
    protected org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail
    validateUserForEntityRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance)
    Tests for whether a specific user should have read access to a specific instance within a repository.
    protected void
    validateUserForEntityReHoming(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance, String newHomeMetadataCollectionId, String newHomeMetadataCollectionName)
    Tests for whether a specific user should have the right to change the home of a instance within a repository.
    protected void
    validateUserForEntityReIdentification(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance, String newGUID)
    Tests for whether a specific user should have the right to change the guid on a instance within a repository.
    protected void
    validateUserForEntityRestore(String userId, String metadataCollectionName, String deletedEntityGUID)
    Tests for whether a specific user should have the right to restore a instance within a repository.
    protected void
    validateUserForEntityReTyping(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDefSummary newTypeDefSummary)
    Tests for whether a specific user should have the right to change the type of a instance within a repository.
    protected void
    validateUserForEntitySummaryRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary instance)
    Tests for whether a specific user should have read access to a specific instance within a repository.
    protected void
    validateUserForEntityUpdate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance)
    Tests for whether a specific user should have the right to update a instance within a repository.
    protected void
    validateUserForRelationshipCreate(String userId, String metadataCollectionName, String relationshipTypeGUID, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceProperties initialProperties, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary entityOneSummary, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary entityTwoSummary, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceStatus initialStatus)
    Tests for whether a specific user should have the right to create a instance within a repository.
    protected void
    validateUserForRelationshipDelete(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance)
    Tests for whether a specific user should have the right to delete a instance within a repository.
    protected org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship
    validateUserForRelationshipRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance)
    Tests for whether a specific user should have read access to a specific instance within a repository.
    protected void
    validateUserForRelationshipReHoming(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance, String newHomeMetadataCollectionId, String newHomeMetadataCollectionName)
    Tests for whether a specific user should have the right to change the home of a instance within a repository.
    protected void
    validateUserForRelationshipReIdentification(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance, String newGUID)
    Tests for whether a specific user should have the right to change the guid on a instance within a repository.
    protected void
    validateUserForRelationshipRestore(String userId, String metadataCollectionName, String deletedRelationshipGUID)
    Tests for whether a specific user should have the right to restore a instance within a repository.
    protected void
    validateUserForRelationshipReTyping(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDefSummary newTypeDefSummary)
    Tests for whether a specific user should have the right to change the type of a instance within a repository.
    protected void
    validateUserForRelationshipUpdate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance)
    Tests for whether a specific user should have the right to update a instance within a repository.
    protected void
    Check that the calling user is authorized to issue a (any) request to the OMAG Server Platform.
    protected void
    validateUserForService(String userId, String serviceName)
    Check that the calling user is authorized to issue this request.
    protected void
    validateUserForServiceOperation(String userId, String serviceName, String serviceOperationName)
    Check that the calling user is authorized to issue this specific request.
    protected void
    validateUserForTypeCreate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.AttributeTypeDef attributeTypeDef)
    Tests for whether a specific user should have the right to create a type within a repository.
    protected void
    validateUserForTypeCreate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDef typeDef)
    Tests for whether a specific user should have the right to create a type within a repository.
    protected void
    validateUserForTypeDelete(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.AttributeTypeDef attributeTypeDef)
    Tests for whether a specific user should have the right to delete a type within a repository.
    protected void
    validateUserForTypeDelete(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDef typeDef)
    Tests for whether a specific user should have the right to delete a type within a repository.
    protected void
    validateUserForTypeRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.AttributeTypeDef attributeTypeDef)
    Tests for whether a specific user should have read access to a specific type within a repository.
    protected void
    validateUserForTypeRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDef typeDef)
    Tests for whether a specific user should have read access to a specific type within a repository.
    protected void
    validateUserForTypeReIdentify(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.AttributeTypeDef originalAttributeTypeDef, String newTypeDefGUID, String newTypeDefName)
    Tests for whether a specific user should have the right to change the identifiers for a type within a repository.
    protected void
    validateUserForTypeReIdentify(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDef originalTypeDef, String newTypeDefGUID, String newTypeDefName)
    Tests for whether a specific user should have the right to change the identifiers for a type within a repository.
    protected void
    validateUserForTypeUpdate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDef typeDef, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDefPatch patch)
    Tests for whether a specific user should have the right to update a typeDef within a repository.
    protected List<String>
    verifyAssetZones(List<String> defaultZones, List<String> supportedZones, List<String> publishZones, org.odpi.openmetadata.metadatasecurity.properties.Asset originalAsset, org.odpi.openmetadata.metadatasecurity.properties.Asset updatedAsset)
    Determine the appropriate setting for the asset zones depending on the content of the asset and the settings of both default zones and supported zones.

    Methods inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase

    equals, getConnectedAssetProperties, getConnection, getConnectorInstanceId, hashCode, initialize, initializeConnectedAssetProperties, isActive, toString

    Methods inherited from class org.odpi.openmetadata.frameworks.connectors.Connector

    clearStatisticProperty, clearStatisticTimestamp, getConnectorStatistics, getStatisticCounter, getStatisticProperty, getStatisticTimestamp, incrementStatisticCounter, initializeStatisticCounter, setStatisticProperty, setStatisticTimestamp

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • auditLog

      protected org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog
    • serverName

      protected String serverName
    • localServerUserId

      protected String localServerUserId
    • connectorName

      protected String connectorName
    • unknownTypeName

      protected final String unknownTypeName
      See Also:
  • Constructor Details

    • OpenMetadataServerSecurityConnector

      public OpenMetadataServerSecurityConnector()
  • Method Details

    • logConnectorStarting

      protected void logConnectorStarting()
      Write an audit log message to say that the connector is initializing.
    • logConnectorDisconnecting

      protected void logConnectorDisconnecting()
      Write an audit log message to say that the connector is stopping.
    • getAssetGUID

      protected String getAssetGUID(org.odpi.openmetadata.metadatasecurity.properties.Asset asset)
      Return a string representing the unique identifier for the asset. If the asset is null then the guid is "null", if the guid is null then the result is "null-guid".
      Parameters:
      asset - asset to test
      Returns:
      string identifier for messages
    • printZoneList

      protected String printZoneList(List<String> zones)
      Return a string representing the list of zones.
      Parameters:
      zones - zones to output
      Returns:
      string for messages
    • getConnectionQualifiedName

      protected String getConnectionQualifiedName(org.odpi.openmetadata.metadatasecurity.properties.Connection connection)
      Return a string representing the unique identifier for the connection. If the connection is null then the guid is "null", if the guid is null then the result is "null-name".
      Parameters:
      connection - connection to test
      Returns:
      string identifier for messages
    • getInstanceGUID

      protected String getInstanceGUID(org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceHeader instance)
      Return a string representing the unique identifier for a repository instance. If the instance is null then the guid is "null", if the guid is null then the result is "null-guid".
      Parameters:
      instance - instance to test
      Returns:
      string identifier for messages
    • throwUnauthorizedServerAccess

      protected void throwUnauthorizedServerAccess(String userId, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedServiceAccess

      protected void throwUnauthorizedServiceAccess(String userId, String serviceName, String serviceOperationName, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      serviceName - name of service
      serviceOperationName - name of operation
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedTypeAccess

      protected void throwUnauthorizedTypeAccess(String userId, String typeGUID, String typeName, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      typeGUID - uniqueId of type
      typeName - name of type
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedTypeChange

      protected void throwUnauthorizedTypeChange(String userId, String typeGUID, String typeName, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      typeGUID - uniqueId of type
      typeName - name of type
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedInstanceCreate

      protected void throwUnauthorizedInstanceCreate(String userId, String typeGUID, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      typeGUID - uniqueId of type
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedInstanceAccess

      protected void throwUnauthorizedInstanceAccess(String userId, String instanceGUID, String typeName, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      instanceGUID - uniqueId of type
      typeName - name of type
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedInstanceChange

      protected void throwUnauthorizedInstanceChange(String userId, String instanceGUID, String typeName, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      instanceGUID - uniqueId of type
      typeName - name of type
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedAssetAccess

      protected void throwUnauthorizedAssetAccess(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      asset - asset being accessed
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedAssetChange

      protected void throwUnauthorizedAssetChange(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      asset - asset being accessed
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedAssetCreate

      protected void throwUnauthorizedAssetCreate(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      asset - asset being accessed
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwIncompleteAsset

      protected void throwIncompleteAsset(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, String propertyName, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      asset - asset being accessed
      propertyName - name of property that is missing
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedZoneChange

      protected void throwUnauthorizedZoneChange(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, List<String> originalZones, List<String> newZones, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      asset - asset being accessed
      originalZones - previous value of the zone membership for the asset being accessed
      newZones - new value of the zone membership for the asset being accessed
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • throwUnauthorizedAssetFeedback

      protected void throwUnauthorizedAssetFeedback(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      asset - asset in error
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to access this zone
    • throwUnauthorizedConnectionAccess

      protected void throwUnauthorizedConnectionAccess(String userId, org.odpi.openmetadata.metadatasecurity.properties.Connection connection, String methodName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Write an audit log message and throw exception to record an unauthorized access.
      Parameters:
      userId - calling user
      connection - connection to validate
      methodName - calling method
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the authorization check failed
    • setAuditLog

      public void setAuditLog(org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog)
      Receive an audit log object that can be used to record audit log messages. The caller has initialized it with the correct component description and log destinations.
      Specified by:
      setAuditLog in interface org.odpi.openmetadata.frameworks.auditlog.AuditLoggingComponent
      Parameters:
      auditLog - audit log object
    • getConnectorComponentDescription

      public org.odpi.openmetadata.frameworks.auditlog.ComponentDescription getConnectorComponentDescription()
      Return the component description that is used by this connector in the audit log.
      Specified by:
      getConnectorComponentDescription in interface org.odpi.openmetadata.frameworks.auditlog.AuditLoggingComponent
      Returns:
      id, name, description, wiki page URL.
    • setServerName

      public void setServerName(String serverName)
      Set the name of the server that this connector is supporting.
      Parameters:
      serverName - name of server
    • setLocalServerUserId

      public void setLocalServerUserId(String userId)
      Provide the local server's userId. This is used for requests that originate from within the local server.
      Parameters:
      userId - local server's userId
    • start

      public void start() throws org.odpi.openmetadata.frameworks.connectors.ffdc.ConnectorCheckedException
      Indicates that the connector is completely configured and can begin processing.
      Overrides:
      start in class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.ConnectorCheckedException - there is a problem within the connector.
    • setSupportedZonesForUser

      protected List<String> setSupportedZonesForUser(List<String> supportedZones, String serviceName, String user) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Determine the appropriate setting for the supported zones depending on the user and the default supported zones set up for the service. This is called whenever an asset is accessed.
      Parameters:
      supportedZones - default setting of the supported zones for the service
      serviceName - name of the called service
      user - name of the user
      Returns:
      list of supported zones for the user
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the parameter values is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem calculating the zones
    • setAssetZonesToDefault

      protected List<String> setAssetZonesToDefault(List<String> defaultZones, org.odpi.openmetadata.metadatasecurity.properties.Asset asset) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Determine the appropriate setting for the asset zones depending on the content of the asset and the default zones. This is called whenever a new asset is created. The default behavior is to use the default values, unless the zones have been explicitly set up, in which case, they are left unchanged.
      Parameters:
      defaultZones - setting of the default zones for the service
      asset - initial values for the asset
      Returns:
      list of zones to set in the asset
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the asset values is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem calculating the zones
    • verifyAssetZones

      protected List<String> verifyAssetZones(List<String> defaultZones, List<String> supportedZones, List<String> publishZones, org.odpi.openmetadata.metadatasecurity.properties.Asset originalAsset, org.odpi.openmetadata.metadatasecurity.properties.Asset updatedAsset) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Determine the appropriate setting for the asset zones depending on the content of the asset and the settings of both default zones and supported zones. This method is called whenever an asset's values are changed. The default behavior is to keep the updated zones as they are.
      Parameters:
      defaultZones - setting of the default zones for the service
      supportedZones - setting of the supported zones for the service
      publishZones - setting of the publishZones for the service
      originalAsset - original values for the asset
      updatedAsset - updated values for the asset
      Returns:
      list of zones to set in the asset
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - one of the asset values is invalid
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - there is a problem calculating the zones
    • validateUserForServer

      protected void validateUserForServer(String userId) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Check that the calling user is authorized to issue a (any) request to the OMAG Server Platform.
      Parameters:
      userId - calling user
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to access this function
    • validateUserAsServerAdmin

      protected void validateUserAsServerAdmin(String userId) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Check that the calling user is authorized to update the configuration for a server.
      Parameters:
      userId - calling user
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to change configuration
    • validateUserAsServerOperator

      protected void validateUserAsServerOperator(String userId) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Check that the calling user is authorized to issue operator requests to the OMAG Server.
      Parameters:
      userId - calling user
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue operator commands to this server
    • validateUserAsServerInvestigator

      protected void validateUserAsServerInvestigator(String userId) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Check that the calling user is authorized to issue operator requests to the OMAG Server.
      Parameters:
      userId - calling user
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to issue diagnostic commands to this server
    • validateUserForService

      protected void validateUserForService(String userId, String serviceName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Check that the calling user is authorized to issue this request.
      Parameters:
      userId - calling user
      serviceName - name of called service
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to access this service
    • validateUserForServiceOperation

      protected void validateUserForServiceOperation(String userId, String serviceName, String serviceOperationName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Check that the calling user is authorized to issue this specific request.
      Parameters:
      userId - calling user
      serviceName - name of called service
      serviceOperationName - name of called operation
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to access this service
    • validateUserForConnection

      protected void validateUserForConnection(String userId, org.odpi.openmetadata.metadatasecurity.properties.Connection connection) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have access to a connection.
      Parameters:
      userId - identifier of user
      connection - connection object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to access this service
    • validateUserForAssetConnectionList

      protected org.odpi.openmetadata.metadatasecurity.properties.Connection validateUserForAssetConnectionList(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset, List<org.odpi.openmetadata.metadatasecurity.properties.Connection> connections) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Select a connection from the list of connections attached to an asset.
      Parameters:
      userId - calling user
      asset - asset requested by caller
      connections - list of attached connections
      Returns:
      selected connection or null (pretend there are no connections attached to the asset) or
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to access this service
    • validateUserForAssetCreate

      protected void validateUserForAssetCreate(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to create an asset within a zone.
      Parameters:
      userId - identifier of user
      asset - asset details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to change this asset
    • validateUserForAssetRead

      protected void validateUserForAssetRead(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have read access to a specific asset within a zone.
      Parameters:
      userId - identifier of user
      asset - asset to test
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to access this asset
    • validateUserForAssetDetailUpdate

      protected void validateUserForAssetDetailUpdate(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset originalAsset, org.odpi.openmetadata.metadatasecurity.properties.AssetAuditHeader originalAssetAuditHeader, org.odpi.openmetadata.metadatasecurity.properties.Asset newAsset) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to update an asset. This is used for a general asset update, which may include changes to the zones and the ownership.
      Parameters:
      userId - identifier of user
      originalAsset - original asset details
      originalAssetAuditHeader - details of the asset's audit header
      newAsset - new asset details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to change this asset
    • validateUserForAssetAttachmentUpdate

      protected void validateUserForAssetAttachmentUpdate(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to update elements attached directly to an asset such as schema and connections.
      Parameters:
      userId - identifier of user
      asset - original asset details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to change this asset
    • validateUserForAssetFeedback

      protected void validateUserForAssetFeedback(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to attach feedback - such as comments, ratings, tags and likes, to the asset.
      Parameters:
      userId - identifier of user
      asset - original asset details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to change this asset
    • validateUserForAssetDelete

      protected void validateUserForAssetDelete(String userId, org.odpi.openmetadata.metadatasecurity.properties.Asset asset) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to delete an asset within a zone.
      Parameters:
      userId - identifier of user
      asset - asset details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to change this asset
    • validateUserForTypeCreate

      protected void validateUserForTypeCreate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDef typeDef) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to create a type within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      typeDef - type details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain types
    • validateUserForTypeCreate

      protected void validateUserForTypeCreate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.AttributeTypeDef attributeTypeDef) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to create a type within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      attributeTypeDef - type details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain types
    • validateUserForTypeRead

      protected void validateUserForTypeRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDef typeDef) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have read access to a specific type within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      typeDef - type details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to retrieve types
    • validateUserForTypeRead

      protected void validateUserForTypeRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.AttributeTypeDef attributeTypeDef) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have read access to a specific type within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      attributeTypeDef - type details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to retrieve types
    • validateUserForTypeUpdate

      protected void validateUserForTypeUpdate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDef typeDef, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDefPatch patch) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to update a typeDef within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      typeDef - current typeDef details
      patch - proposed changes to type
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain types
    • validateUserForTypeDelete

      protected void validateUserForTypeDelete(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDef typeDef) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to delete a type within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      typeDef - type details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain types
    • validateUserForTypeDelete

      protected void validateUserForTypeDelete(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.AttributeTypeDef attributeTypeDef) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to delete a type within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      attributeTypeDef - type details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain types
    • validateUserForTypeReIdentify

      protected void validateUserForTypeReIdentify(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDef originalTypeDef, String newTypeDefGUID, String newTypeDefName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to change the identifiers for a type within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      originalTypeDef - type details
      newTypeDefGUID - the new identifier for the type.
      newTypeDefName - new name for this type.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain types
    • validateUserForTypeReIdentify

      protected void validateUserForTypeReIdentify(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.AttributeTypeDef originalAttributeTypeDef, String newTypeDefGUID, String newTypeDefName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to change the identifiers for a type within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      originalAttributeTypeDef - type details
      newTypeDefGUID - the new identifier for the type.
      newTypeDefName - new name for this type.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain types
    • validateUserForEntityCreate

      protected void validateUserForEntityCreate(String userId, String metadataCollectionName, String entityTypeGUID, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceProperties initialProperties, List<org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Classification> initialClassifications, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceStatus initialStatus) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to create a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      entityTypeGUID - unique identifier (guid) for the new entity's type.
      initialProperties - initial list of properties for the new entity null means no properties.
      initialClassifications - initial list of classifications for the new entity null means no classifications.
      initialStatus - initial status typically DRAFT, PREPARED or ACTIVE.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForEntityRead

      protected org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail validateUserForEntityRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have read access to a specific instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      Returns:
      entity to return (maybe altered by the connector)
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to retrieve instances
    • validateUserForEntitySummaryRead

      protected void validateUserForEntitySummaryRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary instance) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have read access to a specific instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to retrieve instances
    • validateUserForEntityProxyRead

      protected void validateUserForEntityProxyRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityProxy instance) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have read access to a specific instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to retrieve instances
    • validateUserForEntityUpdate

      protected void validateUserForEntityUpdate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to update a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForEntityClassificationAdd

      protected void validateUserForEntityClassificationAdd(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary instance, String classificationName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceProperties properties) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to add a classification to an entity instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      classificationName - String name for the classification.
      properties - list of properties for the classification.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForEntityClassificationUpdate

      protected void validateUserForEntityClassificationUpdate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary instance, String classificationName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceProperties properties) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to update the classification for an entity instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      classificationName - String name for the classification.
      properties - list of properties for the classification.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForEntityClassificationDelete

      protected void validateUserForEntityClassificationDelete(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary instance, String classificationName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to delete a classification from an entity instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      classificationName - String name for the classification.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForEntityDelete

      protected void validateUserForEntityDelete(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to delete a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForEntityRestore

      protected void validateUserForEntityRestore(String userId, String metadataCollectionName, String deletedEntityGUID) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to restore a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      deletedEntityGUID - String unique identifier (guid) for the entity.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForEntityReIdentification

      protected void validateUserForEntityReIdentification(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance, String newGUID) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to change the guid on a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      newGUID - the new guid for the instance.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForEntityReTyping

      protected void validateUserForEntityReTyping(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDefSummary newTypeDefSummary) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to change the type of a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      newTypeDefSummary - details of this instance's new TypeDef.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForEntityReHoming

      protected void validateUserForEntityReHoming(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail instance, String newHomeMetadataCollectionId, String newHomeMetadataCollectionName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to change the home of a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      newHomeMetadataCollectionId - unique identifier for the new home metadata collection/repository.
      newHomeMetadataCollectionName - display name for the new home metadata collection/repository.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForRelationshipCreate

      protected void validateUserForRelationshipCreate(String userId, String metadataCollectionName, String relationshipTypeGUID, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceProperties initialProperties, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary entityOneSummary, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntitySummary entityTwoSummary, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.InstanceStatus initialStatus) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to create a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      relationshipTypeGUID - unique identifier (guid) for the new relationship's type.
      initialProperties - initial list of properties for the new entity null means no properties.
      entityOneSummary - the unique identifier of one of the entities that the relationship is connecting together.
      entityTwoSummary - the unique identifier of the other entity that the relationship is connecting together.
      initialStatus - initial status typically DRAFT, PREPARED or ACTIVE.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForRelationshipRead

      protected org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship validateUserForRelationshipRead(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have read access to a specific instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      Returns:
      relationship
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to retrieve instances
    • validateUserForRelationshipUpdate

      protected void validateUserForRelationshipUpdate(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to update a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForRelationshipDelete

      protected void validateUserForRelationshipDelete(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to delete a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForRelationshipRestore

      protected void validateUserForRelationshipRestore(String userId, String metadataCollectionName, String deletedRelationshipGUID) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to restore a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      deletedRelationshipGUID - String unique identifier (guid) for the relationship.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForRelationshipReIdentification

      protected void validateUserForRelationshipReIdentification(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance, String newGUID) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to change the guid on a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      newGUID - the new guid for the instance.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForRelationshipReTyping

      protected void validateUserForRelationshipReTyping(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.typedefs.TypeDefSummary newTypeDefSummary) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to change the type of a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      newTypeDefSummary - details of this instance's new TypeDef.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • validateUserForRelationshipReHoming

      protected void validateUserForRelationshipReHoming(String userId, String metadataCollectionName, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship instance, String newHomeMetadataCollectionId, String newHomeMetadataCollectionName) throws org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException
      Tests for whether a specific user should have the right to change the home of a instance within a repository.
      Parameters:
      userId - identifier of user
      metadataCollectionName - configurable name of the metadata collection
      instance - instance details
      newHomeMetadataCollectionId - unique identifier for the new home metadata collection/repository.
      newHomeMetadataCollectionName - display name for the new home metadata collection/repository.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.UserNotAuthorizedException - the user is not authorized to maintain instances
    • disconnect

      public void disconnect() throws org.odpi.openmetadata.frameworks.connectors.ffdc.ConnectorCheckedException
      Free up any resources held since the connector is no longer needed.
      Overrides:
      disconnect in class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.ConnectorCheckedException - there is a problem within the connector.