Class OpenMetadataAPIGenericHandler<B>

    • Constructor Detail

      • OpenMetadataAPIGenericHandler

        public OpenMetadataAPIGenericHandler​(OpenMetadataAPIGenericConverter<B> converter,
                                             Class<B> beanClass,
                                             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 handler information needed to interact with the repository services
        Parameters:
        converter - specific converter for this bean class
        beanClass - name of bean class that is represented by the generic class B
        serviceName - name of this service
        serverName - name of the local server
        invalidParameterHandler - handler for managing parameter errors
        repositoryHandler - manages calls to the repository services
        repositoryHelper - provides utilities for manipulating the repository services objects
        localServerUserId - userId for this server
        securityVerifier - open metadata security services verifier
        supportedZones - list of zones that the access service is allowed to serve Asset instances from.
        defaultZones - list of zones that the access service should set in all new Asset instances.
        publishZones - list of zones that the access service sets up in published Asset instances.
        auditLog - destination for audit log events.
    • Method Detail

      • setSecurityVerifier

        public void setSecurityVerifier​(OpenMetadataServerSecurityVerifier securityVerifier)
        Set up a new security verifier (the handler runs with a default verifier until this method is called). The security verifier provides authorization checks for access and maintenance changes to open metadata. Authorization checks are enabled through the OpenMetadataServerSecurityConnector.
        Parameters:
        securityVerifier - new security verifier
      • getRepositoryHelper

        public OMRSRepositoryHelper getRepositoryHelper()
        Return the repository helper for this server.
        Returns:
        repository helper object
      • getTypeDefByName

        public TypeDef getTypeDefByName​(String suppliedTypeName,
                                        String defaultTypeName)
        Return the type definition for the named type.
        Parameters:
        suppliedTypeName - caller's subtype (or null)
        defaultTypeName - common super type
        Returns:
        type definition
      • getServiceName

        public String getServiceName()
        Return the name of this service.
        Returns:
        string name
      • setClassificationInRepository

        public void setClassificationInRepository​(String userId,
                                                  String beanGUID,
                                                  String beanGUIDParameterName,
                                                  String beanGUIDTypeName,
                                                  String classificationTypeGUID,
                                                  String classificationTypeName,
                                                  InstanceProperties classificationProperties,
                                                  String methodName)
                                           throws InvalidParameterException,
                                                  PropertyServerException,
                                                  UserNotAuthorizedException
        Add the requested classification to the matching entity in the repository.
        Parameters:
        userId - calling user
        beanGUID - unique identifier of the entity in the repositories
        beanGUIDParameterName - parameter name that passed the beanGUID
        beanGUIDTypeName - type of bean
        classificationTypeGUID - unique identifier of classification type
        classificationTypeName - unique name of classification type
        classificationProperties - properties to save in the classification
        methodName - calling method
        Throws:
        InvalidParameterException - the classification name is null
        PropertyServerException - there is a problem with the repositories
        UserNotAuthorizedException - the user is not allowed to update the security tags
      • setClassificationInRepository

        public void setClassificationInRepository​(String userId,
                                                  String externalSourceGUID,
                                                  String externalSourceName,
                                                  String beanGUID,
                                                  String beanGUIDParameterName,
                                                  String beanGUIDTypeName,
                                                  String classificationTypeGUID,
                                                  String classificationTypeName,
                                                  InstanceProperties classificationProperties,
                                                  boolean isMergeUpdate,
                                                  String methodName)
                                           throws InvalidParameterException,
                                                  PropertyServerException,
                                                  UserNotAuthorizedException
        Add the requested classification to the matching entity in the repository.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        beanGUID - unique identifier of the entity in the repositories
        beanGUIDParameterName - parameter name that passed the beanGUID
        beanGUIDTypeName - type of bean
        classificationTypeGUID - unique identifier of classification type
        classificationTypeName - unique name of classification type
        classificationProperties - properties to save in the classification
        isMergeUpdate - should the properties be merged with the existing properties or completely over-write them
        methodName - calling method
        Throws:
        InvalidParameterException - the classification name is null
        PropertyServerException - there is a problem with the repositories
        UserNotAuthorizedException - the user is not allowed to update the security tags
      • updateClassificationEffectivityDates

        protected void updateClassificationEffectivityDates​(String userId,
                                                            String externalSourceGUID,
                                                            String externalSourceName,
                                                            String beanGUID,
                                                            String beanGUIDParameterName,
                                                            String beanGUIDTypeName,
                                                            String classificationTypeGUID,
                                                            String classificationTypeName,
                                                            Date effectiveFrom,
                                                            Date effectiveTo,
                                                            String methodName)
                                                     throws InvalidParameterException,
                                                            UserNotAuthorizedException,
                                                            PropertyServerException
        Update the effectivity dates of a specific classification attached to a metadata element. The effectivity dates control the visibility of the classification through specific APIs.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        beanGUID - unique identifier of the entity in the repositories
        beanGUIDParameterName - parameter name that passed the beanGUID
        beanGUIDTypeName - type of bean
        classificationTypeGUID - unique identifier of classification type
        classificationTypeName - unique name of classification type
        effectiveFrom - the date when this element is active - null for active now
        effectiveTo - the date when this element becomes inactive - null for active until deleted
        methodName - calling method
        Throws:
        InvalidParameterException - either the unique identifier or the status are invalid in some way
        UserNotAuthorizedException - the governance action service is not authorized to update this element
        PropertyServerException - there is a problem with the metadata store
      • updateBeanEffectivityDates

        protected void updateBeanEffectivityDates​(String userId,
                                                  String externalSourceGUID,
                                                  String externalSourceName,
                                                  String beanGUID,
                                                  String beanGUIDParameterName,
                                                  String beanGUIDTypeGUID,
                                                  String beanGUIDTypeName,
                                                  Date effectiveFrom,
                                                  Date effectiveTo,
                                                  String methodName)
                                           throws InvalidParameterException,
                                                  UserNotAuthorizedException,
                                                  PropertyServerException
        Update the effectivity dates of a specific entity . The effectivity dates control the visibility of the entity through specific APIs.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        beanGUID - unique identifier of the entity in the repositories
        beanGUIDParameterName - parameter name that passed the beanGUID
        beanGUIDTypeGUID - type of bean
        beanGUIDTypeName - type of bean
        effectiveFrom - the date when this element is active - null for active now
        effectiveTo - the date when this element becomes inactive - null for active until deleted
        methodName - calling method
        Throws:
        InvalidParameterException - either the unique identifier or the status are invalid in some way
        UserNotAuthorizedException - the governance action service is not authorized to update this element
        PropertyServerException - there is a problem with the metadata store
      • updateRelationshipEffectivityDates

        protected void updateRelationshipEffectivityDates​(String userId,
                                                          String externalSourceGUID,
                                                          String externalSourceName,
                                                          String relationshipGUID,
                                                          String relationshipGUIDParameterName,
                                                          String relationshipGUIDTypeName,
                                                          Date effectiveFrom,
                                                          Date effectiveTo,
                                                          String methodName)
                                                   throws InvalidParameterException,
                                                          UserNotAuthorizedException,
                                                          PropertyServerException
        Update the effectivity dates of a specific relationship. The effectivity dates control the visibility of the relationship through specific APIs.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        relationshipGUID - unique identifier of the entity in the repositories
        relationshipGUIDParameterName - parameter name that passed the relationshipGUID
        relationshipGUIDTypeName - type of relationship
        effectiveFrom - the date when this element is active - null for active now
        effectiveTo - the date when this element becomes inactive - null for active until deleted
        methodName - calling method
        Throws:
        InvalidParameterException - either the unique identifier or the status are invalid in some way
        UserNotAuthorizedException - the governance action service is not authorized to update this element
        PropertyServerException - there is a problem with the metadata store
      • updateRelationshipProperties

        public void updateRelationshipProperties​(String userId,
                                                 String externalSourceGUID,
                                                 String externalSourceName,
                                                 String relationshipGUID,
                                                 String relationshipGUIDParameterName,
                                                 String relationshipTypeName,
                                                 boolean isMergeUpdate,
                                                 InstanceProperties relationshipProperties,
                                                 String methodName)
                                          throws InvalidParameterException,
                                                 UserNotAuthorizedException,
                                                 PropertyServerException
        Update the properties associated with a relationship. Effectivity dates are unchanged.
        Parameters:
        userId - caller's userId
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        relationshipGUID - unique identifier of the relationship to update
        relationshipGUIDParameterName - name of the parameter supplying the relationshipGUID
        relationshipTypeName - type name of relationship if known (null is ok)
        isMergeUpdate - should the supplied updateProperties be merged with existing properties (true) by replacing the just the properties with matching names, or should the entire properties of the instance be replaced?
        relationshipProperties - new properties for the relationship
        methodName - calling method
        Throws:
        InvalidParameterException - the unique identifier of the relationship is null or invalid in some way; the properties are not valid for this type of relationship
        UserNotAuthorizedException - the governance action service is not authorized to update this relationship
        PropertyServerException - there is a problem with the metadata store
      • removeClassificationFromRepository

        public void removeClassificationFromRepository​(String userId,
                                                       String externalSourceGUID,
                                                       String externalSourceName,
                                                       String beanGUID,
                                                       String beanGUIDParameterName,
                                                       String beanGUIDTypeName,
                                                       String classificationTypeGUID,
                                                       String classificationTypeName,
                                                       String methodName)
                                                throws InvalidParameterException,
                                                       PropertyServerException,
                                                       UserNotAuthorizedException
        Remove the requested classification from the matching entity in the repository.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        beanGUID - unique identifier of the entity in the repositories
        beanGUIDParameterName - parameter name that passed the beanGUID
        beanGUIDTypeName - type of bean
        classificationTypeGUID - unique identifier of classification type
        classificationTypeName - unique name of classification type
        methodName - calling method
        Throws:
        InvalidParameterException - the classification name is null
        PropertyServerException - there is a problem with the repositories
        UserNotAuthorizedException - the user is not allowed to update the security tags
      • validateAnchorEntity

        public EntityDetail validateAnchorEntity​(String userId,
                                                 String connectToGUID,
                                                 String connectToGUIDParameterName,
                                                 String connectToType,
                                                 boolean isUpdate,
                                                 List<String> suppliedSupportedZones,
                                                 String methodName)
                                          throws InvalidParameterException,
                                                 PropertyServerException,
                                                 UserNotAuthorizedException
        Validates whether an operation is valid based on the type of entity it is connecting to, who the user is and whether it is a read or an update.
        Parameters:
        userId - userId of user making request.
        connectToGUID - unique id for the object to connect the attachment to.
        connectToGUIDParameterName - name of the parameter that passed the connect to guid
        connectToType - type of the connect to element.
        isUpdate - is this an update request?
        suppliedSupportedZones - supported zone list from calling service
        methodName - calling method
        Returns:
        anchor entity or null. The anchor entity is used by the caller to set the LatestChange classification
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem adding the asset properties to the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • validateAnchorEntity

        public EntityDetail validateAnchorEntity​(String userId,
                                                 String connectToGUID,
                                                 String connectToType,
                                                 EntityDetail connectToEntity,
                                                 String connectToGUIDParameterName,
                                                 boolean isUpdate,
                                                 List<String> suppliedSupportedZones,
                                                 String methodName)
                                          throws InvalidParameterException,
                                                 PropertyServerException,
                                                 UserNotAuthorizedException
        Validates whether an operation is valid based on the type of entity it is connecting to, who the user is and whether it is a read or an update. The first part of this method is looking to see if the connectToEntity is an anchor entity. In which case it calls any specific validation for that entity and returns the connectToEntity, assuming all is ok - exceptions are thrown if the entity is not valid or the user does not have access to it. If the connectToEntity is of a type that has a lifecycle that is linked to the lifecycle of another entity - typically a referenceable - then that other entity is its anchor (examples are schema elements, comments, connections). The anchor entity needs to be retrieved and validated. Some anchor entities have specific validation to perform.
        Parameters:
        userId - userId of user making request.
        connectToGUID - unique id for the object to connect the attachment to
        connectToType - name of type of connectToEntity
        connectToEntity - entity retrieved from the repository
        connectToGUIDParameterName - name of the parameter that passed the connect to guid
        isUpdate - is this an update request?
        suppliedSupportedZones - list of supported zones from the caller.
        methodName - calling method
        Returns:
        anchor entity or null if this entity is an anchor or does not have an anchor. The anchor entity is used by the caller to set the LatestChange classification
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem accessing the properties in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • validateUniqueProperty

        public void validateUniqueProperty​(String entityGUID,
                                           String entityTypeGUID,
                                           String entityTypeName,
                                           String uniqueParameterValue,
                                           String uniqueParameterName,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Validates that the unique property is not already in use.
        Parameters:
        entityGUID - existing entity (or null if this is a create)
        entityTypeGUID - the unique identifier of type of the entity
        entityTypeName - the unique name of the type of the entity
        uniqueParameterValue - the value of the unique parameter
        uniqueParameterName - the name of the unique parameter
        methodName - calling method for exceptions and error messages
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem accessing the properties in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • maintainSupplementaryProperties

        public void maintainSupplementaryProperties​(String userId,
                                                    String elementGUID,
                                                    String elementQualifiedName,
                                                    String displayName,
                                                    String summary,
                                                    String description,
                                                    String abbreviation,
                                                    String usage,
                                                    boolean isMergeUpdate,
                                                    String methodName)
                                             throws InvalidParameterException,
                                                    UserNotAuthorizedException,
                                                    PropertyServerException
        Maintain the supplementary properties of a technical metadata element in a glossary term linked to the supplied element. The glossary term needs to be connected to a glossary which may need to be created.
        Parameters:
        userId - calling user
        elementGUID - element for the
        elementQualifiedName - qualified name of the linked element
        displayName - display name for the term
        summary - short description
        description - description of the term
        abbreviation - abbreviation used for the term
        usage - illustrations of how the term is used
        isMergeUpdate - should the new properties be merged with the existing properties or completely replace them?
        methodName - calling method
        Throws:
        InvalidParameterException - the parameters are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem detected in the repository services
      • countAttachments

        public int countAttachments​(String userId,
                                    String elementGUID,
                                    String elementTypeName,
                                    String attachmentTypeGUID,
                                    String attachmentTypeName,
                                    String methodName)
                             throws InvalidParameterException,
                                    PropertyServerException,
                                    UserNotAuthorizedException
        Count up the number of elements of a certain type that are attached to a specific entity.
        Parameters:
        userId - calling user
        elementGUID - unique identifier for the entity that the object is attached to (anchor entity)
        elementTypeName - type of the anchor entity
        attachmentTypeGUID - unique identifier of the attachment relationship's type
        attachmentTypeName - unique name of the attachment's type
        methodName - calling method
        Returns:
        count of attached objects
        Throws:
        InvalidParameterException - the parameters are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedEntity

        public EntityDetail getAttachedEntity​(String userId,
                                              String startingElementGUID,
                                              String startingElementGUIDParameterName,
                                              String startingElementTypeName,
                                              String relationshipTypeGUID,
                                              String relationshipTypeName,
                                              String resultingElementTypeName,
                                              String methodName)
                                       throws InvalidParameterException,
                                              PropertyServerException,
                                              UserNotAuthorizedException
        Return the entity for the required relationship attached to a specific entity. This method assumes the starting entity has a validated anchor
        Parameters:
        userId - calling user
        startingElementGUID - identifier for the entity that the identifier is attached to
        startingElementGUIDParameterName - name of the parameter used to pass the guid
        startingElementTypeName - type name for anchor
        relationshipTypeGUID - unique identifier of the attachment's relationship type
        relationshipTypeName - unique name of the attachment's relationship type
        resultingElementTypeName - unique name of the attached entity's type
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedEntity

        public EntityDetail getAttachedEntity​(String userId,
                                              String startingElementGUID,
                                              String startingElementGUIDParameterName,
                                              String startingElementTypeName,
                                              String relationshipTypeGUID,
                                              String relationshipTypeName,
                                              String resultingElementTypeName,
                                              boolean forLineage,
                                              List<String> serviceSupportedZones,
                                              String methodName)
                                       throws InvalidParameterException,
                                              PropertyServerException,
                                              UserNotAuthorizedException
        Return the entity for the required relationship attached to a specific entity. This method assumes the starting entity has a validated anchor
        Parameters:
        userId - calling user
        startingElementGUID - identifier for the entity that the identifier is attached to
        startingElementGUIDParameterName - name of the parameter used to pass the guid
        startingElementTypeName - type name for anchor
        relationshipTypeGUID - unique identifier of the attachment's relationship type
        relationshipTypeName - unique name of the attachment's relationship type
        resultingElementTypeName - unique name of the attached entity's type
        forLineage - is this part of al lineage request?
        serviceSupportedZones - supported zones for calling service
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedEntities

        public List<EntityDetail> getAttachedEntities​(String userId,
                                                      String startingElementGUID,
                                                      String startingElementGUIDParameterName,
                                                      String startingElementTypeName,
                                                      String relationshipTypeGUID,
                                                      String relationshipTypeName,
                                                      String resultingElementTypeName,
                                                      int startingFrom,
                                                      int pageSize,
                                                      String methodName)
                                               throws InvalidParameterException,
                                                      PropertyServerException,
                                                      UserNotAuthorizedException
        Return the entities for the required relationships attached to a specific entity.
        Parameters:
        userId - calling user
        startingElementGUID - identifier for the entity that the identifier is attached to
        startingElementGUIDParameterName - name of the parameter used to pass the guid
        startingElementTypeName - type name for anchor
        relationshipTypeGUID - unique identifier of the attachment's relationship type
        relationshipTypeName - unique name of the attachment's relationship type
        resultingElementTypeName - unique name of the attached entity's type
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedEntities

        public List<EntityDetail> getAttachedEntities​(String userId,
                                                      String startingElementGUID,
                                                      String startingElementGUIDParameterName,
                                                      String startingElementTypeName,
                                                      String relationshipTypeGUID,
                                                      String relationshipTypeName,
                                                      String resultingElementTypeName,
                                                      List<String> serviceSupportedZones,
                                                      int startingFrom,
                                                      int pageSize,
                                                      String methodName)
                                               throws InvalidParameterException,
                                                      PropertyServerException,
                                                      UserNotAuthorizedException
        Return the entities for the required relationships attached to a specific entity.
        Parameters:
        userId - calling user
        startingElementGUID - identifier for the entity that the identifier is attached to
        startingElementGUIDParameterName - name of the parameter used to pass the guid
        startingElementTypeName - type name for anchor
        relationshipTypeGUID - unique identifier of the attachment's relationship type
        relationshipTypeName - unique name of the attachment's relationship type
        resultingElementTypeName - unique name of the attached entity's type
        serviceSupportedZones - supported zones for calling service
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedEntities

        public List<EntityDetail> getAttachedEntities​(String userId,
                                                      String startingElementGUID,
                                                      String startingElementGUIDParameterName,
                                                      String startingElementTypeName,
                                                      String relationshipTypeGUID,
                                                      String relationshipTypeName,
                                                      String resultingElementTypeName,
                                                      String requiredClassificationName,
                                                      String omittedClassificationName,
                                                      boolean forLineage,
                                                      List<String> serviceSupportedZones,
                                                      int startingFrom,
                                                      int pageSize,
                                                      String methodName)
                                               throws InvalidParameterException,
                                                      PropertyServerException,
                                                      UserNotAuthorizedException
        Return the entities for the required relationships attached to a specific entity.
        Parameters:
        userId - calling user
        startingElementGUID - identifier for the entity that the identifier is attached to
        startingElementGUIDParameterName - name of the parameter used to pass the guid
        startingElementTypeName - type name for anchor
        relationshipTypeGUID - unique identifier of the attachment's relationship type
        relationshipTypeName - unique name of the attachment's relationship type
        resultingElementTypeName - unique name of the attached entity's type
        requiredClassificationName - name of a classification that must be on the entity for a match
        omittedClassificationName - name of a classification that must NOT be on the entity for a match
        forLineage - is this part of a lineage request?
        serviceSupportedZones - supported zones for calling service
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getUniqueAttachmentLink

        public Relationship getUniqueAttachmentLink​(String userId,
                                                    String startingGUID,
                                                    String startingGUIDParameterName,
                                                    String startingTypeName,
                                                    String attachmentRelationshipTypeGUID,
                                                    String attachmentRelationshipTypeName,
                                                    String attachmentEntityGUID,
                                                    String attachmentEntityTypeName,
                                                    String methodName)
                                             throws InvalidParameterException,
                                                    PropertyServerException,
                                                    UserNotAuthorizedException
        Return the relationship between the requested elements - there should be only one. Note that the entities are not checked.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of the parameter used to pass the guid
        startingTypeName - type name for anchor
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityGUID - unique identifier of the entity on the other end or null if unknown
        attachmentEntityTypeName - unique name of the attached entity's type
        methodName - calling method
        Returns:
        list of retrieved relationships or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getUniqueAttachmentLink

        public Relationship getUniqueAttachmentLink​(String userId,
                                                    String startingGUID,
                                                    String startingGUIDParameterName,
                                                    String startingTypeName,
                                                    String attachmentRelationshipTypeGUID,
                                                    String attachmentRelationshipTypeName,
                                                    String attachmentEntityGUID,
                                                    String attachmentEntityTypeName,
                                                    int attachmentEntityEnd,
                                                    String methodName)
                                             throws InvalidParameterException,
                                                    PropertyServerException,
                                                    UserNotAuthorizedException
        Return the relationship between the requested elements - there should be only one. Note that the entities are not checked.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of the parameter used to pass the guid
        startingTypeName - type name for anchor
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityGUID - unique identifier of the entity on the other end or null if unknown
        attachmentEntityTypeName - unique name of the attached entity's type
        attachmentEntityEnd - which relationship end should the attached entity be located? 0=either end; 1=end1; 2=end2
        methodName - calling method
        Returns:
        list of retrieved relationships or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachmentLinks

        public List<Relationship> getAttachmentLinks​(String userId,
                                                     String startingGUID,
                                                     String startingGUIDParameterName,
                                                     String startingTypeName,
                                                     String attachmentRelationshipTypeGUID,
                                                     String attachmentRelationshipTypeName,
                                                     String attachmentEntityTypeName,
                                                     int startingFrom,
                                                     int pageSize,
                                                     String methodName)
                                              throws InvalidParameterException,
                                                     PropertyServerException,
                                                     UserNotAuthorizedException
        Return the relationships to required elements attached to a specific entity. Note that the entities are not checked.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of the parameter used to pass the guid
        startingTypeName - type name for anchor
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityTypeName - unique name of the attached entity's type
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved relationships or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachmentLinks

        public List<Relationship> getAttachmentLinks​(String userId,
                                                     String startingGUID,
                                                     String startingGUIDParameterName,
                                                     String startingTypeName,
                                                     String attachmentRelationshipTypeGUID,
                                                     String attachmentRelationshipTypeName,
                                                     String attachmentEntityGUID,
                                                     String attachmentEntityTypeName,
                                                     int startingFrom,
                                                     int pageSize,
                                                     String methodName)
                                              throws InvalidParameterException,
                                                     PropertyServerException,
                                                     UserNotAuthorizedException
        Return the relationships to required elements attached to a specific entity. Note that the entities are not checked.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of the parameter used to pass the guid
        startingTypeName - type name for anchor
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityGUID - unique identifier of the entity on the other end or null if unknown
        attachmentEntityTypeName - unique name of the attached entity's type
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved relationships or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachmentLinks

        public List<Relationship> getAttachmentLinks​(String userId,
                                                     String startingGUID,
                                                     String startingGUIDParameterName,
                                                     String startingTypeName,
                                                     String attachmentRelationshipTypeGUID,
                                                     String attachmentRelationshipTypeName,
                                                     String attachmentEntityGUID,
                                                     String attachmentEntityTypeName,
                                                     int attachmentEntityEnd,
                                                     int startingFrom,
                                                     int pageSize,
                                                     String methodName)
                                              throws InvalidParameterException,
                                                     PropertyServerException,
                                                     UserNotAuthorizedException
        Return the relationships to required elements attached to a specific entity. Note that the entities are not checked.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of the parameter used to pass the guid
        startingTypeName - type name for anchor
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityGUID - unique identifier of the entity on the other end or null if unknown
        attachmentEntityTypeName - unique name of the attached entity's type
        attachmentEntityEnd - which relationship end should the attached entity be located? 0=either end; 1=end1; 2=end2
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved relationships or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • findAttachmentLinks

        public List<Relationship> findAttachmentLinks​(String userId,
                                                      String relationshipTypeName,
                                                      SearchProperties searchProperties,
                                                      List<InstanceStatus> limitResultsByStatus,
                                                      Date asOfTime,
                                                      String sequencingProperty,
                                                      SequencingOrder sequencingOrder,
                                                      int startingFrom,
                                                      int pageSize,
                                                      String methodName)
                                               throws InvalidParameterException,
                                                      UserNotAuthorizedException,
                                                      PropertyServerException
        Return a list of relationships that match the supplied criteria. The results can be returned over many pages. Note: the visibility of the relationship and both entities is checked before returning a relationship to the caller.
        Parameters:
        userId - caller's userId
        relationshipTypeName - type of interest (null means any element type)
        searchProperties - Optional list of entity property conditions to match.
        limitResultsByStatus - By default, relationships in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results. Null means all status values.
        asOfTime - Requests a historical query of the entity. Null means return the present values.
        sequencingProperty - String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).
        sequencingOrder - Enum defining how the results should be ordered.
        startingFrom - paging start point
        pageSize - maximum results that can be returned
        methodName - calling method
        Returns:
        a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
        Throws:
        InvalidParameterException - one of the search parameters is invalid
        UserNotAuthorizedException - the governance action service is not able to access the elements
        PropertyServerException - there is a problem accessing the metadata store
      • createBeanInRepository

        public String createBeanInRepository​(String userId,
                                             String externalSourceGUID,
                                             String externalSourceName,
                                             String entityTypeGUID,
                                             String entityTypeName,
                                             String uniqueParameterValue,
                                             String uniqueParameterName,
                                             OpenMetadataAPIGenericBuilder propertyBuilder,
                                             String methodName)
                                      throws InvalidParameterException,
                                             PropertyServerException,
                                             UserNotAuthorizedException
        Create a new entity in the repository assuming all parameters are ok.
        Parameters:
        userId - userId of user making request.
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        entityTypeGUID - unique identifier of the type of entity to create
        entityTypeName - unique name of the type of entity to create
        uniqueParameterValue - value of unique parameter (or null if no unique properties)
        uniqueParameterName - name of unique parameter (or null if no unique properties)
        propertyBuilder - builder pre-populated with the properties and classifications of the new entity
        methodName - calling method
        Returns:
        unique identifier of new entity
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem adding the properties to the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • createBeanFromTemplate

        public String createBeanFromTemplate​(String userId,
                                             String externalSourceGUID,
                                             String externalSourceName,
                                             String templateGUID,
                                             String templateGUIDParameterName,
                                             String entityTypeGUID,
                                             String entityTypeName,
                                             String uniqueParameterValue,
                                             String uniqueParameterName,
                                             OpenMetadataAPIGenericBuilder propertyBuilder,
                                             String methodName)
                                      throws InvalidParameterException,
                                             PropertyServerException,
                                             UserNotAuthorizedException
        Create a new entity in the repository based on the contents of an existing entity (the template). The supplied builder is pre-loaded with properties that should override the properties from the the template. This is the method to call from the specific handlers.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        templateGUID - unique identifier of existing entity to use
        templateGUIDParameterName - name of parameter passing the templateGUID
        entityTypeGUID - unique identifier of the type for the entity
        entityTypeName - unique name of the type for the entity
        uniqueParameterValue - the value of a unique property (eg qualifiedName) in the new entity - this is used to create unique names in the attachments.
        uniqueParameterName - name of the property where the unique value is stored.
        propertyBuilder - this property builder has the new properties supplied by the caller. They will be augmented by the template properties and classification.
        methodName - calling method
        Returns:
        unique identifier of the the new bean
        Throws:
        InvalidParameterException - one of the parameters is invalid
        PropertyServerException - there is a problem in the repository services
        UserNotAuthorizedException - the user is not authorized to access one of the elements.
      • updateBeanPropertyInRepository

        public void updateBeanPropertyInRepository​(String userId,
                                                   String externalSourceGUID,
                                                   String externalSourceName,
                                                   String entityGUID,
                                                   String entityGUIDParameterName,
                                                   String entityTypeGUID,
                                                   String entityTypeName,
                                                   String propertyName,
                                                   String propertyValue,
                                                   String methodName)
                                            throws InvalidParameterException,
                                                   PropertyServerException,
                                                   UserNotAuthorizedException
        Update one or more properties in the requested entity.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        entityGUID - unique identifier of object to update
        entityGUIDParameterName - name of parameter supplying the GUID
        entityTypeGUID - unique identifier of the entity's type
        entityTypeName - unique name of the entity's type
        propertyName - name of bean property to update
        propertyValue - new value for bean property
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating the properties tin the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • updateBeanInRepository

        public void updateBeanInRepository​(String userId,
                                           String externalSourceGUID,
                                           String externalSourceName,
                                           String entityGUID,
                                           String entityGUIDParameterName,
                                           String entityTypeGUID,
                                           String entityTypeName,
                                           InstanceProperties properties,
                                           boolean isMergeUpdate,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Update one or more properties in the requested entity.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        entityGUID - unique identifier of object to update
        entityGUIDParameterName - name of parameter supplying the GUID
        entityTypeGUID - unique identifier of the entity's type
        entityTypeName - unique name of the entity's type
        properties - object containing the properties for the repository instances based on the properties of the bean
        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?
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating the properties in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • updateBeanInRepository

        public void updateBeanInRepository​(String userId,
                                           String externalSourceGUID,
                                           String externalSourceName,
                                           String entityGUID,
                                           String entityGUIDParameterName,
                                           String entityTypeGUID,
                                           String entityTypeName,
                                           List<String> serviceSupportedZones,
                                           InstanceProperties updateProperties,
                                           boolean isMergeUpdate,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Update one or more updateProperties in the requested entity.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        entityGUID - unique identifier of object to update
        entityGUIDParameterName - name of parameter supplying the GUID
        entityTypeGUID - unique identifier of the entity's type
        entityTypeName - unique name of the entity's type
        serviceSupportedZones - supported zones for calling service
        updateProperties - object containing the properties
        isMergeUpdate - should the supplied properties be merged with existing properties (true) by replacing the just the properties with matching names, or should the entire properties of the instance be replaced?
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem adding the new properties to the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • updateBeanStatusInRepository

        public void updateBeanStatusInRepository​(String userId,
                                                 String externalSourceGUID,
                                                 String externalSourceName,
                                                 String entityGUID,
                                                 String entityGUIDParameterName,
                                                 String entityTypeGUID,
                                                 String entityTypeName,
                                                 InstanceStatus newStatus,
                                                 String newStatusParameterName,
                                                 String methodName)
                                          throws InvalidParameterException,
                                                 PropertyServerException,
                                                 UserNotAuthorizedException
        Update the instance status in the requested entity.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        entityGUID - unique identifier of object to update
        entityGUIDParameterName - name of parameter supplying the GUID
        entityTypeGUID - unique identifier of the entity's type
        entityTypeName - unique name of the entity's type
        newStatus - new status value
        newStatusParameterName - parameter providing the new status value
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem adding the new properties to the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • updateBeanStatusInRepository

        public void updateBeanStatusInRepository​(String userId,
                                                 String externalSourceGUID,
                                                 String externalSourceName,
                                                 String entityGUID,
                                                 String entityGUIDParameterName,
                                                 String entityTypeGUID,
                                                 String entityTypeName,
                                                 List<String> serviceSupportedZones,
                                                 InstanceStatus newStatus,
                                                 String newStatusParameterName,
                                                 String methodName)
                                          throws InvalidParameterException,
                                                 PropertyServerException,
                                                 UserNotAuthorizedException
        Update the instance status in the requested entity.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        entityGUID - unique identifier of object to update
        entityGUIDParameterName - name of parameter supplying the GUID
        entityTypeGUID - unique identifier of the entity's type
        entityTypeName - unique name of the entity's type
        serviceSupportedZones - supported zones for calling service
        newStatus - new status value
        newStatusParameterName - parameter providing the new status value
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem adding the new properties to the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • archiveBeanInRepository

        public void archiveBeanInRepository​(String userId,
                                            String externalSourceGUID,
                                            String externalSourceName,
                                            String entityGUID,
                                            String entityGUIDParameterName,
                                            String entityTypeName,
                                            InstanceProperties classificationProperties,
                                            String methodName)
                                     throws InvalidParameterException,
                                            PropertyServerException,
                                            UserNotAuthorizedException
        Classify an entity in the repository to show that its asset/artifact counterpart in the real world has either been deleted or archived.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        entityGUID - unique identifier of object to update
        entityGUIDParameterName - name of parameter supplying the GUID
        entityTypeName - unique name of the entity's type
        classificationProperties - properties for the classification
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem removing the properties from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • archiveBeanInRepository

        public void archiveBeanInRepository​(String userId,
                                            String externalSourceGUID,
                                            String externalSourceName,
                                            String entityGUID,
                                            String entityGUIDParameterName,
                                            String entityTypeName,
                                            InstanceProperties classificationProperties,
                                            List<String> serviceSupportedZones,
                                            String methodName)
                                     throws InvalidParameterException,
                                            PropertyServerException,
                                            UserNotAuthorizedException
        Classify an entity in the repository to show that its asset/artifact counterpart in the real world has either been deleted or archived. Note, this method is designed to work only on anchor entities or entities with no anchor.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        entityGUID - unique identifier of object to update
        entityGUIDParameterName - name of parameter supplying the GUID
        entityTypeName - unique name of the entity's type
        classificationProperties - properties for the classification
        serviceSupportedZones - supported zones for calling service
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem removing the properties from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • deleteBeanInRepository

        public void deleteBeanInRepository​(String userId,
                                           String externalSourceGUID,
                                           String externalSourceName,
                                           String entityGUID,
                                           String entityGUIDParameterName,
                                           String entityTypeGUID,
                                           String entityTypeName,
                                           String validatingPropertyName,
                                           String validatingPropertyValue,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Delete an entity from the repository.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        entityGUID - unique identifier of object to update
        entityGUIDParameterName - name of parameter supplying the GUID
        entityTypeGUID - unique identifier of the entity's type
        entityTypeName - unique name of the entity's type
        validatingPropertyName - name of property to verify - of null if no verification is required
        validatingPropertyValue - value of property to verify
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem removing the properties from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • deleteBeanInRepository

        public void deleteBeanInRepository​(String userId,
                                           String externalSourceGUID,
                                           String externalSourceName,
                                           String entityGUID,
                                           String entityGUIDParameterName,
                                           String entityTypeGUID,
                                           String entityTypeName,
                                           String validatingPropertyName,
                                           String validatingPropertyValue,
                                           List<String> serviceSupportedZones,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Delete an entity from the repository.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        entityGUID - unique identifier of object to update
        entityGUIDParameterName - name of parameter supplying the GUID
        entityTypeGUID - unique identifier of the entity's type
        entityTypeName - unique name of the entity's type
        validatingPropertyName - name of property to verify - of null if no verification is required
        validatingPropertyValue - value of property to verify
        serviceSupportedZones - supported zones for calling service
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem removing the properties from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getAttachedElementGUIDs

        public List<String> getAttachedElementGUIDs​(String userId,
                                                    String startingGUID,
                                                    String startingGUIDParameterName,
                                                    String startingTypeName,
                                                    String attachmentRelationshipTypeGUID,
                                                    String attachmentRelationshipTypeName,
                                                    String attachmentEntityTypeName,
                                                    int startingFrom,
                                                    int pageSize,
                                                    String methodName)
                                             throws InvalidParameterException,
                                                    PropertyServerException,
                                                    UserNotAuthorizedException
        Return the elements of the requested type attached to an entity identified by the starting GUID.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of parameter supplying the GUID
        startingTypeName - name of the type of object being attached to
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityTypeName - unique name of the attached entity's type
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of unique identifiers for retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedElementGUIDs

        public List<String> getAttachedElementGUIDs​(String userId,
                                                    String startingGUID,
                                                    String startingGUIDParameterName,
                                                    String startingTypeName,
                                                    String attachmentRelationshipTypeGUID,
                                                    String attachmentRelationshipTypeName,
                                                    String attachmentEntityTypeName,
                                                    List<String> serviceSupportedZones,
                                                    int startingFrom,
                                                    int pageSize,
                                                    String methodName)
                                             throws InvalidParameterException,
                                                    PropertyServerException,
                                                    UserNotAuthorizedException
        Return the elements of the requested type attached to an entity identified by the starting GUID.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of parameter supplying the GUID
        startingTypeName - name of the type of object being attached to
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityTypeName - unique name of the attached entity's type
        serviceSupportedZones - supported zones for calling service
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of unique identifiers for retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedElementGUID

        public String getAttachedElementGUID​(String userId,
                                             String startingGUID,
                                             String startingGUIDParameterName,
                                             String startingTypeName,
                                             String attachmentRelationshipTypeGUID,
                                             String attachmentRelationshipTypeName,
                                             String attachmentEntityTypeName,
                                             int selectionEnd,
                                             String methodName)
                                      throws InvalidParameterException,
                                             PropertyServerException,
                                             UserNotAuthorizedException
        Return the elements of the requested type attached to an entity identified by the starting GUID.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of parameter supplying the GUID
        startingTypeName - name of the type of object being attached to
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityTypeName - unique name of the attached entity's type
        selectionEnd - 0 means either end, 1 means only take from end 1, 2 means only take from end 2
        methodName - calling method
        Returns:
        list of unique identifiers for retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedElementGUID

        public String getAttachedElementGUID​(String userId,
                                             String startingGUID,
                                             String startingGUIDParameterName,
                                             String startingTypeName,
                                             String attachmentRelationshipTypeGUID,
                                             String attachmentRelationshipTypeName,
                                             String attachmentEntityTypeName,
                                             int selectionEnd,
                                             List<String> serviceSupportedZones,
                                             String methodName)
                                      throws InvalidParameterException,
                                             PropertyServerException,
                                             UserNotAuthorizedException
        Return the elements of the requested type attached to an entity identified by the starting GUID.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of parameter supplying the GUID
        startingTypeName - name of the type of object being attached to
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityTypeName - unique name of the attached entity's type
        selectionEnd - 0 means either end, 1 means only take from end 1, 2 means only take from end 2
        serviceSupportedZones - supported zones for calling service
        methodName - calling method
        Returns:
        list of unique identifiers for retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedElement

        public B getAttachedElement​(String userId,
                                    String startingElementGUID,
                                    String startingElementGUIDParameterName,
                                    String startingElementTypeName,
                                    String relationshipTypeGUID,
                                    String relationshipTypeName,
                                    String resultingElementTypeName,
                                    String methodName)
                             throws InvalidParameterException,
                                    PropertyServerException,
                                    UserNotAuthorizedException
        Return the Bean for the required relationship attached to a specific element. This method assumes the starting element has a validated anchor.
        Parameters:
        userId - calling user
        startingElementGUID - identifier for the entity that the identifier is attached to
        startingElementGUIDParameterName - name of the parameter used to pass the guid
        startingElementTypeName - type name for anchor
        relationshipTypeGUID - unique identifier of the attachment's relationship type
        relationshipTypeName - unique name of the attachment's relationship type
        resultingElementTypeName - unique name of the attached entity's type
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedElement

        public B getAttachedElement​(String userId,
                                    String startingElementGUID,
                                    String startingElementGUIDParameterName,
                                    String startingElementTypeName,
                                    String relationshipTypeGUID,
                                    String relationshipTypeName,
                                    String resultingElementTypeName,
                                    List<String> serviceSupportedZones,
                                    String methodName)
                             throws InvalidParameterException,
                                    PropertyServerException,
                                    UserNotAuthorizedException
        Return the Bean for the required relationship attached to a specific element. This method assumes the starting element has a validated anchor.
        Parameters:
        userId - calling user
        startingElementGUID - identifier for the entity that the identifier is attached to
        startingElementGUIDParameterName - name of the parameter used to pass the guid
        startingElementTypeName - type name for anchor
        relationshipTypeGUID - unique identifier of the attachment's relationship type
        relationshipTypeName - unique name of the attachment's relationship type
        resultingElementTypeName - unique name of the attached entity's type
        serviceSupportedZones - supported zones for calling service
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedElements

        public List<B> getAttachedElements​(String userId,
                                           String startingGUID,
                                           String startingGUIDParameterName,
                                           String startingTypeName,
                                           String attachmentRelationshipTypeGUID,
                                           String attachmentRelationshipTypeName,
                                           String attachmentEntityTypeName,
                                           int startingFrom,
                                           int pageSize,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Return the elements of the requested type attached to an entity identified by the starting GUID.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of parameter supplying the GUID
        startingTypeName - name of the type of object being attached to
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityTypeName - unique name of the attached entity's type
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedElements

        public List<B> getAttachedElements​(String userId,
                                           String startingGUID,
                                           String startingGUIDParameterName,
                                           String startingTypeName,
                                           String attachmentRelationshipTypeGUID,
                                           String attachmentRelationshipTypeName,
                                           String attachmentEntityTypeName,
                                           List<String> serviceSupportedZones,
                                           int startingFrom,
                                           int pageSize,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Return the elements of the requested type attached to an entity identified by the starting GUID.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of parameter supplying the GUID
        startingTypeName - name of the type of object being attached to
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityTypeName - unique name of the attached entity's type
        serviceSupportedZones - supported zones for calling service
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedElements

        public List<B> getAttachedElements​(String userId,
                                           String startingGUID,
                                           String startingGUIDParameterName,
                                           String startingTypeName,
                                           String attachmentRelationshipTypeGUID,
                                           String attachmentRelationshipTypeName,
                                           String attachmentEntityTypeName,
                                           String requiredClassificationName,
                                           String omittedClassificationName,
                                           int selectionEnd,
                                           int startingFrom,
                                           int pageSize,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Return the elements of the requested type attached to an entity identified by the starting GUID.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of parameter supplying the GUID
        startingTypeName - name of the type of object being attached to
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityTypeName - unique name of the attached entity's type
        requiredClassificationName - String the name of the classification that must be on the attached entity.
        omittedClassificationName - String the name of a classification that must not be on the attached entity.
        selectionEnd - 0 means either end, 1 means only take from end 1, 2 means only take from end 2
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAttachedElements

        public List<B> getAttachedElements​(String userId,
                                           String anchorGUID,
                                           String anchorGUIDParameterName,
                                           String startingGUID,
                                           String startingGUIDParameterName,
                                           String startingTypeName,
                                           String attachmentRelationshipTypeGUID,
                                           String attachmentRelationshipTypeName,
                                           String attachmentEntityTypeName,
                                           String requiredClassificationName,
                                           String omittedClassificationName,
                                           int selectionEnd,
                                           List<String> serviceSupportedZones,
                                           int startingFrom,
                                           int pageSize,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Return the elements of the requested type attached to an entity identified by the starting GUID.
        Parameters:
        userId - calling user
        anchorGUID - expected anchorGUID for this element
        anchorGUIDParameterName - parameter supplying anchorGUID
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of parameter supplying the GUID
        startingTypeName - name of the type of object being attached to
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityTypeName - unique name of the attached entity's type
        requiredClassificationName - String the name of the classification that must be on the attached entity.
        omittedClassificationName - String the name of a classification that must not be on the attached entity.
        selectionEnd - 0 means either end, 1 means only take from end 1, 2 means only take from end 2
        serviceSupportedZones - supported zones for calling service
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getAnchorsForAttachedElements

        public List<B> getAnchorsForAttachedElements​(String userId,
                                                     String startingGUID,
                                                     String startingGUIDParameterName,
                                                     String startingTypeName,
                                                     String attachmentRelationshipTypeGUID,
                                                     String attachmentRelationshipTypeName,
                                                     String attachmentEntityTypeName,
                                                     String requiredClassificationName,
                                                     String omittedClassificationName,
                                                     int selectionEnd,
                                                     List<String> serviceSupportedZones,
                                                     int startingFrom,
                                                     int pageSize,
                                                     String methodName)
                                              throws InvalidParameterException,
                                                     PropertyServerException,
                                                     UserNotAuthorizedException
        Return the elements of the requested type attached to an entity identified by the starting GUID.
        Parameters:
        userId - calling user
        startingGUID - identifier for the entity that the identifier is attached to
        startingGUIDParameterName - name of parameter supplying the GUID
        startingTypeName - name of the type of object being attached to
        attachmentRelationshipTypeGUID - unique identifier of the relationship type connect to the attachment
        attachmentRelationshipTypeName - unique name of the relationship type connect to the attachment
        attachmentEntityTypeName - unique name of the attached entity's type
        requiredClassificationName - String the name of the classification that must be on the attached entity.
        omittedClassificationName - String the name of a classification that must not be on the attached entity.
        selectionEnd - 0 means either end, 1 means only take from end 1, 2 means only take from end 2
        serviceSupportedZones - supported zones for calling service
        startingFrom - start position for results
        pageSize - maximum number of results
        methodName - calling method
        Returns:
        list of retrieved objects or null if none found
        Throws:
        InvalidParameterException - the input properties are invalid
        UserNotAuthorizedException - user not authorized to issue this request
        PropertyServerException - problem accessing the repositories
      • getEntityFromRepository

        public EntityDetail getEntityFromRepository​(String userId,
                                                    String requestedEntityGUID,
                                                    String requestedEntityGUIDParameterName,
                                                    String requestedEntityTypeName,
                                                    String methodName)
                                             throws InvalidParameterException,
                                                    PropertyServerException,
                                                    UserNotAuthorizedException
        Return the keyword for the supplied unique identifier (guid). The keyword is only returned if
        Parameters:
        userId - userId of the user making the request
        requestedEntityGUID - unique identifier of the entity to retrieve from the repository
        requestedEntityGUIDParameterName - name of the parameter supplying the GUID
        requestedEntityTypeName - name of type of entity to retrieve
        methodName - calling method
        Returns:
        retrieved entity
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntityFromRepository

        public EntityDetail getEntityFromRepository​(String userId,
                                                    String requestedEntityGUID,
                                                    String requestedEntityGUIDParameterName,
                                                    String requestedEntityTypeName,
                                                    String requiredClassificationName,
                                                    String omittedClassificationName,
                                                    String methodName)
                                             throws InvalidParameterException,
                                                    PropertyServerException,
                                                    UserNotAuthorizedException
        Return the keyword for the supplied unique identifier (guid). The keyword is only returned if
        Parameters:
        userId - userId of the user making the request
        requestedEntityGUID - unique identifier of the entity to retrieve from the repository
        requestedEntityGUIDParameterName - name of the parameter supplying the GUID
        requestedEntityTypeName - name of type of entity to retrieve
        requiredClassificationName - String the name of the classification that must be on the attached entity.
        omittedClassificationName - String the name of a classification that must not be on the attached entity.
        methodName - calling method
        Returns:
        retrieved entity
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntityFromRepository

        public EntityDetail getEntityFromRepository​(String userId,
                                                    String requestedEntityGUID,
                                                    String requestedEntityGUIDParameterName,
                                                    String requestedEntityTypeName,
                                                    String requiredClassificationName,
                                                    String omittedClassificationName,
                                                    List<String> serviceSupportedZones,
                                                    String methodName)
                                             throws InvalidParameterException,
                                                    PropertyServerException,
                                                    UserNotAuthorizedException
        Return the entity for the supplied unique identifier (guid). An exception is thrown if the entity does not exist.
        Parameters:
        userId - userId of the user making the request
        requestedEntityGUID - unique identifier of the entity to retrieve from the repository
        requestedEntityGUIDParameterName - name of the parameter supplying the GUID
        requestedEntityTypeName - name of type of entity to retrieve
        requiredClassificationName - String the name of the classification that must be on the attached entity.
        omittedClassificationName - String the name of a classification that must not be on the attached entity.
        serviceSupportedZones - supported zones for calling service
        methodName - calling method
        Returns:
        retrieved entity
        Throws:
        InvalidParameterException - the userId is null or invalid, the entity does not exist.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntityFromRepository

        public EntityDetail getEntityFromRepository​(String userId,
                                                    String requestedEntityGUID,
                                                    String requestedEntityGUIDParameterName,
                                                    String requestedEntityTypeName,
                                                    String requiredClassificationName,
                                                    String omittedClassificationName,
                                                    boolean forLineage,
                                                    List<String> serviceSupportedZones,
                                                    String methodName)
                                             throws InvalidParameterException,
                                                    PropertyServerException,
                                                    UserNotAuthorizedException
        Return the entity for the supplied unique identifier (guid). An exception is thrown if the entity does not exist.
        Parameters:
        userId - userId of the user making the request
        requestedEntityGUID - unique identifier of the entity to retrieve from the repository
        requestedEntityGUIDParameterName - name of the parameter supplying the GUID
        requestedEntityTypeName - name of type of entity to retrieve
        requiredClassificationName - String the name of the classification that must be on the attached entity
        omittedClassificationName - String the name of a classification that must not be on the attached entity
        forLineage - the query is to support lineage retrieval
        serviceSupportedZones - supported zones for calling service
        methodName - calling method
        Returns:
        retrieved entity
        Throws:
        InvalidParameterException - the userId is null or invalid, the entity does not exist.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeanFromRepository

        public B getBeanFromRepository​(String userId,
                                       String guid,
                                       String guidParameterName,
                                       String resultTypeName,
                                       String methodName)
                                throws InvalidParameterException,
                                       PropertyServerException,
                                       UserNotAuthorizedException
        Use the supplied unique identifier (guid) of an entity in the repository to retrieve its contents as a bean. The entity is checked to ensure it is of the required return type.
        Parameters:
        userId - calling user
        guid - unique identifier of the entity to retrieve
        guidParameterName - parameter supplying the unique identifier
        resultTypeName - type of the retrieve entity
        methodName - calling method
        Returns:
        B bean
        Throws:
        InvalidParameterException - one of the properties (probably the GUID) is invalid
        PropertyServerException - the repository services hit an unexpected problem
        UserNotAuthorizedException - the user is not permitted to access this entity
      • getBeanFromRepository

        public B getBeanFromRepository​(String userId,
                                       String guid,
                                       String guidParameterName,
                                       String entityTypeName,
                                       List<String> serviceSupportedZones,
                                       String methodName)
                                throws InvalidParameterException,
                                       PropertyServerException,
                                       UserNotAuthorizedException
        Return the bean for the supplied unique identifier (guid). An exception occurs if the bean GUID is not known.
        Parameters:
        userId - userId of the user making the request
        guid - unique identifier of the entity to retrieve from the repository
        guidParameterName - name of the parameter supplying the GUID
        entityTypeName - name of type of entity to retrieve
        serviceSupportedZones - supported zones for calling service
        methodName - calling method
        Returns:
        new bean
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeanGUIDByUniqueName

        public String getBeanGUIDByUniqueName​(String userId,
                                              String name,
                                              String nameParameterName,
                                              String namePropertyName,
                                              String resultTypeGUID,
                                              String resultTypeName,
                                              String methodName)
                                       throws InvalidParameterException,
                                              PropertyServerException,
                                              UserNotAuthorizedException
        Return the unique identifier of the entity that has the supplied unique name. An exception is thrown if multiple entities are found with this name.
        Parameters:
        userId - the calling user
        name - value to search
        nameParameterName - parameter providing value
        namePropertyName - open metadata property name to match on
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        methodName - calling method
        Returns:
        unique identifier of the requested entity/bean
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeanGUIDByUniqueName

        public String getBeanGUIDByUniqueName​(String userId,
                                              String name,
                                              String nameParameterName,
                                              String namePropertyName,
                                              String resultTypeGUID,
                                              String resultTypeName,
                                              List<String> serviceSupportedZones,
                                              String methodName)
                                       throws InvalidParameterException,
                                              PropertyServerException,
                                              UserNotAuthorizedException
        Return the unique identifier of the entity that has the supplied unique name. An exception is thrown if multiple entities are found with this name.
        Parameters:
        userId - the calling user
        name - value to search
        nameParameterName - parameter providing value
        namePropertyName - open metadata property name to match on
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        serviceSupportedZones - list of supported zones for this service
        methodName - calling method
        Returns:
        unique identifier of the requested entity/bean
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeanByUniqueName

        public B getBeanByUniqueName​(String userId,
                                     String name,
                                     String nameParameterName,
                                     String namePropertyName,
                                     String resultTypeGUID,
                                     String resultTypeName,
                                     String methodName)
                              throws InvalidParameterException,
                                     PropertyServerException,
                                     UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        name - value to search
        nameParameterName - parameter providing value
        namePropertyName - open metadata property name to match on
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeanByUniqueName

        public B getBeanByUniqueName​(String userId,
                                     String name,
                                     String nameParameterName,
                                     String namePropertyName,
                                     String resultTypeGUID,
                                     String resultTypeName,
                                     List<String> serviceSupportedZones,
                                     String methodName)
                              throws InvalidParameterException,
                                     PropertyServerException,
                                     UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        name - value to search
        nameParameterName - parameter providing value
        namePropertyName - open metadata property name to match on
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        serviceSupportedZones - list of supported zones for this service
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeanByValue

        public B getBeanByValue​(String userId,
                                String value,
                                String valueParameterName,
                                String resultTypeGUID,
                                String resultTypeName,
                                List<String> specificMatchPropertyNames,
                                String methodName)
                         throws InvalidParameterException,
                                UserNotAuthorizedException,
                                PropertyServerException
        Return the bean that matches the requested value.
        Parameters:
        userId - identifier of calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        methodName - calling method
        Returns:
        matching bean.
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        UserNotAuthorizedException - user not authorized to issue this request.
        PropertyServerException - problem retrieving the bean definition.
      • getBeansByValue

        public List<B> getBeansByValue​(String userId,
                                       String value,
                                       String valueParameterName,
                                       String resultTypeGUID,
                                       String resultTypeName,
                                       List<String> specificMatchPropertyNames,
                                       boolean exactValueMatch,
                                       String sequencingPropertyName,
                                       int startFrom,
                                       int pageSize,
                                       String methodName)
                                throws InvalidParameterException,
                                       PropertyServerException,
                                       UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        exactValueMatch - indicates whether the value must match the whole property value in a matching result, or whether it is a RegEx partial match
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • findBeans

        public List<B> findBeans​(String userId,
                                 String searchString,
                                 String searchStringParameterName,
                                 String resultTypeGUID,
                                 String resultTypeName,
                                 String sequencingPropertyName,
                                 int startFrom,
                                 int pageSize,
                                 String methodName)
                          throws InvalidParameterException,
                                 PropertyServerException,
                                 UserNotAuthorizedException
        Return the list of beans matching the supplied searchString.
        Parameters:
        userId - the searchString of the calling user.
        searchString - searchString of endpoint. This may include wild card characters.
        searchStringParameterName - name of parameter providing search string
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return.
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • findBeans

        public List<B> findBeans​(String userId,
                                 String searchString,
                                 String searchStringParameterName,
                                 String resultTypeGUID,
                                 String resultTypeName,
                                 String requiredClassificationName,
                                 String omittedClassificationName,
                                 String sequencingPropertyName,
                                 int startFrom,
                                 int pageSize,
                                 String methodName)
                          throws InvalidParameterException,
                                 PropertyServerException,
                                 UserNotAuthorizedException
        Return the list of beans matching the supplied searchString.
        Parameters:
        userId - the searchString of the calling user.
        searchString - searchString of endpoint. This may include wild card characters.
        searchStringParameterName - name of parameter providing search string
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        requiredClassificationName - String the name of the classification that must be on the entity.
        omittedClassificationName - String the name of a classification that must not be on the entity.
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return.
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • findBeans

        public List<B> findBeans​(String userId,
                                 String searchString,
                                 String searchStringParameterName,
                                 String resultTypeGUID,
                                 String resultTypeName,
                                 List<String> serviceSupportedZones,
                                 String sequencingPropertyName,
                                 int startFrom,
                                 int pageSize,
                                 String methodName)
                          throws InvalidParameterException,
                                 PropertyServerException,
                                 UserNotAuthorizedException
        Return the list of beans matching the supplied searchString.
        Parameters:
        userId - the searchString of the calling user.
        searchString - searchString of endpoint. This may include wild card characters.
        searchStringParameterName - name of parameter providing search string
        serviceSupportedZones - list of supported zones for this service.
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return.
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • findBeans

        public List<B> findBeans​(String userId,
                                 String metadataElementTypeName,
                                 List<String> metadataElementSubtypeName,
                                 SearchProperties searchProperties,
                                 List<InstanceStatus> limitResultsByStatus,
                                 SearchClassifications searchClassifications,
                                 Date asOfTime,
                                 String sequencingProperty,
                                 SequencingOrder sequencingOrder,
                                 int startingFrom,
                                 int pageSize,
                                 String methodName)
                          throws InvalidParameterException,
                                 UserNotAuthorizedException,
                                 PropertyServerException
        Return a list of metadata elements that match the supplied criteria. The results can be returned over many pages.
        Parameters:
        userId - caller's userId
        metadataElementTypeName - type of interest (null means any element type)
        metadataElementSubtypeName - optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.
        searchProperties - Optional list of entity property conditions to match.
        limitResultsByStatus - By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.
        searchClassifications - Optional list of classifications to match.
        asOfTime - Requests a historical query of the entity. Null means return the present values.
        sequencingProperty - String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).
        sequencingOrder - Enum defining how the results should be ordered.
        startingFrom - paging start point
        pageSize - maximum results that can be returned
        methodName - calling method
        Returns:
        a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
        Throws:
        InvalidParameterException - one of the search parameters is invalid
        UserNotAuthorizedException - the governance action service is not able to access the elements
        PropertyServerException - there is a problem accessing the metadata store
      • getBeansByValue

        public List<B> getBeansByValue​(String userId,
                                       String value,
                                       String valueParameterName,
                                       String resultTypeGUID,
                                       String resultTypeName,
                                       List<String> specificMatchPropertyNames,
                                       boolean exactValueMatch,
                                       List<String> serviceSupportedZones,
                                       String sequencingPropertyName,
                                       int startFrom,
                                       int pageSize,
                                       String methodName)
                                throws InvalidParameterException,
                                       PropertyServerException,
                                       UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        exactValueMatch - indicates whether the value must match the whole property value in a matching result, or whether it is a RegEx partial match
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeansByValue

        public List<B> getBeansByValue​(String userId,
                                       String value,
                                       String valueParameterName,
                                       String resultTypeGUID,
                                       String resultTypeName,
                                       List<String> specificMatchPropertyNames,
                                       boolean exactValueMatch,
                                       String requiredClassificationName,
                                       String omittedClassificationName,
                                       String sequencingPropertyName,
                                       int startFrom,
                                       int pageSize,
                                       String methodName)
                                throws InvalidParameterException,
                                       PropertyServerException,
                                       UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        exactValueMatch - indicates whether the value must match the whole property value in a matching result, or whether it is a RegEx partial match
        requiredClassificationName - String the name of the classification that must be on the entity.
        omittedClassificationName - String the name of a classification that must not be on the entity.
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeansByValue

        public List<B> getBeansByValue​(String userId,
                                       String value,
                                       String valueParameterName,
                                       String resultTypeGUID,
                                       String resultTypeName,
                                       List<String> specificMatchPropertyNames,
                                       boolean exactValueMatch,
                                       String requiredClassificationName,
                                       String omittedClassificationName,
                                       List<String> serviceSupportedZones,
                                       String sequencingPropertyName,
                                       int startFrom,
                                       int pageSize,
                                       String methodName)
                                throws InvalidParameterException,
                                       PropertyServerException,
                                       UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        exactValueMatch - indicates whether the value must match the whole property value in a matching result, or whether it is a RegEx partial match
        requiredClassificationName - String the name of the classification that must be on the entity.
        omittedClassificationName - String the name of a classification that must not be on the entity.
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeansByIntValue

        public List<B> getBeansByIntValue​(String userId,
                                          int value,
                                          String resultTypeGUID,
                                          String resultTypeName,
                                          String propertyName,
                                          String requiredClassificationName,
                                          String omittedClassificationName,
                                          boolean forLineage,
                                          List<String> serviceSupportedZones,
                                          String sequencingPropertyName,
                                          int startFrom,
                                          int pageSize,
                                          String methodName)
                                   throws InvalidParameterException,
                                          PropertyServerException,
                                          UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied integer value.
        Parameters:
        userId - the calling user
        value - value to search
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        propertyName - property to look in - if null or empty list then all string properties are checked.
        requiredClassificationName - String the name of the classification that must be on the entity.
        omittedClassificationName - String the name of a classification that must not be on the entity.
        forLineage - the query is to support lineage retrieval
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeansByValue

        public List<B> getBeansByValue​(String userId,
                                       String value,
                                       String valueParameterName,
                                       String resultTypeGUID,
                                       String resultTypeName,
                                       List<String> specificMatchPropertyNames,
                                       boolean exactValueMatch,
                                       String requiredClassificationName,
                                       String omittedClassificationName,
                                       boolean forLineage,
                                       List<String> serviceSupportedZones,
                                       String sequencingPropertyName,
                                       int startFrom,
                                       int pageSize,
                                       String methodName)
                                throws InvalidParameterException,
                                       PropertyServerException,
                                       UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        exactValueMatch - indicates whether the value must match the whole property value in a matching result, or whether it is a RegEx partial match
        requiredClassificationName - String the name of the classification that must be on the entity.
        omittedClassificationName - String the name of a classification that must not be on the entity.
        forLineage - the query is to support lineage retrieval
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntitiesByType

        public List<EntityDetail> getEntitiesByType​(String userId,
                                                    String resultTypeGUID,
                                                    String resultTypeName,
                                                    List<String> serviceSupportedZones,
                                                    String sequencingPropertyName,
                                                    int startFrom,
                                                    int pageSize,
                                                    String methodName)
                                             throws InvalidParameterException,
                                                    PropertyServerException,
                                                    UserNotAuthorizedException
        Return the list of entities of the requested type.
        Parameters:
        userId - the name of the calling user
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique name of the type that the results should match with
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of entities
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • findEntities

        public List<EntityDetail> findEntities​(String userId,
                                               String searchString,
                                               String searchStringParameterName,
                                               String resultTypeGUID,
                                               String resultTypeName,
                                               String requiredClassificationName,
                                               String omittedClassificationName,
                                               String sequencingPropertyName,
                                               int startFrom,
                                               int pageSize,
                                               String methodName)
                                        throws InvalidParameterException,
                                               PropertyServerException,
                                               UserNotAuthorizedException
        Return the list of entities matching the supplied searchString.
        Parameters:
        userId - the searchString of the calling user.
        searchString - searchString of endpoint. This may include wild card characters.
        searchStringParameterName - name of parameter providing search string
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        requiredClassificationName - String the name of the classification that must be on the entity.
        omittedClassificationName - String the name of a classification that must not be on the entity.
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return.
        methodName - calling method
        Returns:
        list of entities
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntitiesByValue

        public List<EntityDetail> getEntitiesByValue​(String userId,
                                                     String value,
                                                     String valueParameterName,
                                                     String resultTypeGUID,
                                                     String resultTypeName,
                                                     List<String> specificMatchPropertyNames,
                                                     boolean exactValueMatch,
                                                     String requiredClassificationName,
                                                     String omittedClassificationName,
                                                     int startFrom,
                                                     int pageSize,
                                                     String methodName)
                                              throws InvalidParameterException,
                                                     PropertyServerException,
                                                     UserNotAuthorizedException
        Return the list of entities of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        exactValueMatch - indicates whether the value must match the whole property value in a matching result, or whether it is a RegEx partial match
        requiredClassificationName - String the name of the classification that must be on the attached entity.
        omittedClassificationName - String the name of a classification that must not be on the attached entity.
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntitiesByValue

        public List<EntityDetail> getEntitiesByValue​(String userId,
                                                     String value,
                                                     String valueParameterName,
                                                     String resultTypeGUID,
                                                     String resultTypeName,
                                                     List<String> specificMatchPropertyNames,
                                                     boolean exactValueMatch,
                                                     String requiredClassificationName,
                                                     String omittedClassificationName,
                                                     String sequencingPropertyName,
                                                     int startFrom,
                                                     int pageSize,
                                                     String methodName)
                                              throws InvalidParameterException,
                                                     PropertyServerException,
                                                     UserNotAuthorizedException
        Return the list of entities of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        exactValueMatch - indicates whether the value must match the whole property value in a matching result, or whether it is a RegEx partial match
        requiredClassificationName - String the name of the classification that must be on the attached entity.
        omittedClassificationName - String the name of a classification that must not be on the attached entity.
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntitiesByIntValue

        public List<EntityDetail> getEntitiesByIntValue​(String userId,
                                                        int value,
                                                        String resultTypeGUID,
                                                        String resultTypeName,
                                                        String propertyName,
                                                        String requiredClassificationName,
                                                        String omittedClassificationName,
                                                        boolean forLineage,
                                                        List<String> serviceSupportedZones,
                                                        String sequencingPropertyName,
                                                        int startFrom,
                                                        int pageSize,
                                                        String methodName)
                                                 throws InvalidParameterException,
                                                        PropertyServerException,
                                                        UserNotAuthorizedException
        Return the list of entities of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        propertyName - property name to look in.
        requiredClassificationName - String the name of the classification that must be on the attached entity
        omittedClassificationName - String the name of a classification that must not be on the attached entity
        forLineage - boolean indicating whether the entity is being retrieved for a lineage request or not
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntitiesByValue

        public List<EntityDetail> getEntitiesByValue​(String userId,
                                                     String value,
                                                     String valueParameterName,
                                                     String resultTypeGUID,
                                                     String resultTypeName,
                                                     List<String> specificMatchPropertyNames,
                                                     boolean exactValueMatch,
                                                     String requiredClassificationName,
                                                     String omittedClassificationName,
                                                     boolean forLineage,
                                                     List<String> serviceSupportedZones,
                                                     String sequencingPropertyName,
                                                     int startFrom,
                                                     int pageSize,
                                                     String methodName)
                                              throws InvalidParameterException,
                                                     PropertyServerException,
                                                     UserNotAuthorizedException
        Return the list of entities of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        exactValueMatch - indicates whether the value must match the whole property value in a matching result, or whether it is a RegEx partial match
        requiredClassificationName - String the name of the classification that must be on the attached entity
        omittedClassificationName - String the name of a classification that must not be on the attached entity
        forLineage - boolean indicating whether the entity is being retrieved for a lineage request or not
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntitiesByValue

        public List<EntityDetail> getEntitiesByValue​(String userId,
                                                     RepositoryIteratorForEntities iterator,
                                                     String entityParameterName,
                                                     String resultTypeName,
                                                     String requiredClassificationName,
                                                     String omittedClassificationName,
                                                     boolean forLineage,
                                                     List<String> serviceSupportedZones,
                                                     int startFrom,
                                                     int queryPageSize,
                                                     String methodName)
                                              throws PropertyServerException,
                                                     UserNotAuthorizedException
        Return the list of entities of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        iterator - mechanism for search
        entityParameterName - parameter description
        resultTypeName - unique value of the type that the results should match with
        requiredClassificationName - String the name of the classification that must be on the attached entity
        omittedClassificationName - String the name of a classification that must not be on the attached entity
        forLineage - boolean indicating whether the entity is being retrieved for a lineage request or not
        serviceSupportedZones - list of supported zones for this service
        startFrom - index of the list ot start from (0 for start)
        queryPageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntityGUIDsByValue

        public List<String> getEntityGUIDsByValue​(String userId,
                                                  String value,
                                                  String valueParameterName,
                                                  String resultTypeGUID,
                                                  String resultTypeName,
                                                  List<String> specificMatchPropertyNames,
                                                  boolean exactValueMatch,
                                                  String requiredClassificationName,
                                                  String omittedClassificationName,
                                                  boolean forLineage,
                                                  List<String> serviceSupportedZones,
                                                  String sequencingPropertyName,
                                                  int startFrom,
                                                  int pageSize,
                                                  String methodName)
                                           throws InvalidParameterException,
                                                  PropertyServerException,
                                                  UserNotAuthorizedException
        Return the list of entities of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        exactValueMatch - indicates whether the value must match the whole property value in a matching result, or whether it is a RegEx partial match
        requiredClassificationName - String the name of the classification that must be on the attached entity.
        omittedClassificationName - String the name of a classification that must not be on the attached entity.
        forLineage - boolean indicating whether the entity is being retrieved for a lineage request or not.
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getEntityByValue

        public EntityDetail getEntityByValue​(String userId,
                                             String value,
                                             String valueParameterName,
                                             String resultTypeGUID,
                                             String resultTypeName,
                                             List<String> specificMatchPropertyNames,
                                             String methodName)
                                      throws InvalidParameterException,
                                             UserNotAuthorizedException,
                                             PropertyServerException
        Return the entity that matches the requested value.
        Parameters:
        userId - identifier of calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        methodName - calling method
        Returns:
        requested entity
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        UserNotAuthorizedException - user not authorized to issue this request.
        PropertyServerException - problem retrieving the entity.
      • getEntityGUIDByValue

        public String getEntityGUIDByValue​(String userId,
                                           String value,
                                           String valueParameterName,
                                           String resultTypeGUID,
                                           String resultTypeName,
                                           List<String> specificMatchPropertyNames,
                                           String methodName)
                                    throws InvalidParameterException,
                                           UserNotAuthorizedException,
                                           PropertyServerException
        Return the unique identifier of the entity matching the value.
        Parameters:
        userId - identifier of calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        methodName - calling method
        Returns:
        unique identifier of the requested entity.
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        UserNotAuthorizedException - user not authorized to issue this request.
        PropertyServerException - problem retrieving the entity.
      • findBeanGUIDs

        public List<String> findBeanGUIDs​(String userId,
                                          String searchString,
                                          String searchStringParameterName,
                                          String resultTypeGUID,
                                          String resultTypeName,
                                          String sequencingPropertyName,
                                          int startFrom,
                                          int pageSize,
                                          String methodName)
                                   throws InvalidParameterException,
                                          PropertyServerException,
                                          UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied value.
        Parameters:
        userId - the searchString of the calling user.
        searchString - searchString of endpoint. This may include wild card characters.
        searchStringParameterName - name of parameter providing search string
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return.
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeanGUIDsByValue

        public List<String> getBeanGUIDsByValue​(String userId,
                                                String value,
                                                String valueParameterName,
                                                String resultTypeGUID,
                                                String resultTypeName,
                                                List<String> specificMatchPropertyNames,
                                                boolean exactValueMatch,
                                                List<String> serviceSupportedZones,
                                                String sequencingPropertyName,
                                                int startFrom,
                                                int pageSize,
                                                String methodName)
                                         throws InvalidParameterException,
                                                PropertyServerException,
                                                UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied value.
        Parameters:
        userId - the calling user
        value - value to search
        valueParameterName - parameter providing value
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique value of the type that the results should match with
        specificMatchPropertyNames - list of property value to look in - if null or empty list then all string properties are checked.
        exactValueMatch - indicates whether the value must match the whole property value in a matching result, or whether it is a RegEx partial match
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeansByCreator

        public List<B> getBeansByCreator​(String userId,
                                         String searchString,
                                         String searchStringParameterName,
                                         String resultTypeGUID,
                                         String resultTypeName,
                                         List<String> specificMatchPropertyNames,
                                         boolean exactValueMatch,
                                         List<String> serviceSupportedZones,
                                         String sequencingPropertyName,
                                         int startFrom,
                                         int pageSize,
                                         String methodName)
                                  throws InvalidParameterException,
                                         PropertyServerException,
                                         UserNotAuthorizedException
        Return the list of beans of the requested type that were created by the requesting user.
        Parameters:
        userId - the name of the calling user
        searchString - value that describes what to search for
        searchStringParameterName - parameter providing search string
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique name of the type that the results should match with
        specificMatchPropertyNames - name of properties to visit
        exactValueMatch - does the value need to match exactly?
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - should the results be sequenced?
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeansByType

        public List<B> getBeansByType​(String userId,
                                      String resultTypeGUID,
                                      String resultTypeName,
                                      String sequencingPropertyName,
                                      int startFrom,
                                      int pageSize,
                                      String methodName)
                               throws InvalidParameterException,
                                      PropertyServerException,
                                      UserNotAuthorizedException
        Return the list of beans of the requested type.
        Parameters:
        userId - the name of the calling user
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique name of the type that the results should match with
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeansByType

        public List<B> getBeansByType​(String userId,
                                      String resultTypeGUID,
                                      String resultTypeName,
                                      List<String> serviceSupportedZones,
                                      String sequencingPropertyName,
                                      int startFrom,
                                      int pageSize,
                                      String methodName)
                               throws InvalidParameterException,
                                      PropertyServerException,
                                      UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied name.
        Parameters:
        userId - the name of the calling user
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique name of the type that the results should match with
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - name of property used to sequence the results - null means no sequencing
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeanGUIDsByType

        public List<String> getBeanGUIDsByType​(String userId,
                                               String resultTypeGUID,
                                               String resultTypeName,
                                               String sequencingPropertyName,
                                               int startFrom,
                                               int pageSize,
                                               String methodName)
                                        throws InvalidParameterException,
                                               PropertyServerException,
                                               UserNotAuthorizedException
        Return the list of beans of the requested type.
        Parameters:
        userId - the name of the calling user
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique name of the type that the results should match with
        sequencingPropertyName - should the results be sequenced?
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of unique identifiers for matching beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeanGUIDsByType

        public List<String> getBeanGUIDsByType​(String userId,
                                               String resultTypeGUID,
                                               String resultTypeName,
                                               List<String> serviceSupportedZones,
                                               String sequencingPropertyName,
                                               int startFrom,
                                               int pageSize,
                                               String methodName)
                                        throws InvalidParameterException,
                                               PropertyServerException,
                                               UserNotAuthorizedException
        Return the list of beans of the requested type.
        Parameters:
        userId - the name of the calling user
        resultTypeGUID - unique identifier of the type that the results should match with
        resultTypeName - unique name of the type that the results should match with
        serviceSupportedZones - list of supported zones for this service
        sequencingPropertyName - should the results be sequenced?
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of unique identifiers for matching beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeansByClassification

        public List<B> getBeansByClassification​(String userId,
                                                String resultTypeGUID,
                                                String resultClassificationName,
                                                int startFrom,
                                                int pageSize,
                                                String methodName)
                                         throws InvalidParameterException,
                                                PropertyServerException,
                                                UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied name.
        Parameters:
        userId - the name of the calling user
        resultTypeGUID - unique identifier of the type that the results should match with
        resultClassificationName - unique name of the classification that the results should match with
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • getBeanGUIDsByClassification

        public List<String> getBeanGUIDsByClassification​(String userId,
                                                         String resultTypeGUID,
                                                         String resultClassificationName,
                                                         int startFrom,
                                                         int pageSize,
                                                         String methodName)
                                                  throws InvalidParameterException,
                                                         PropertyServerException,
                                                         UserNotAuthorizedException
        Return the list of beans of the requested type that match the supplied name.
        Parameters:
        userId - the name of the calling user
        resultTypeGUID - unique identifier of the type that the results should match with
        resultClassificationName - unique name of the classification that the results should match with
        startFrom - index of the list ot start from (0 for start)
        pageSize - maximum number of elements to return
        methodName - calling method
        Returns:
        list of guids representing beans
        Throws:
        InvalidParameterException - the userId is null or invalid.
        PropertyServerException - there is a problem retrieving information from the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • linkElementToElement

        public String linkElementToElement​(String userId,
                                           String externalSourceGUID,
                                           String externalSourceName,
                                           String startingGUID,
                                           String startingGUIDParameterName,
                                           String startingElementTypeName,
                                           String attachingGUID,
                                           String attachingGUIDParameterName,
                                           String attachingElementTypeName,
                                           String relationshipTypeGUID,
                                           String relationshipTypeName,
                                           InstanceProperties relationshipProperties,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Creates a relationship between two elements and updates the LatestChange in each one's anchor entity (if they have one). Both elements must be visible to the user to allow the link.
        Parameters:
        userId - userId of user making request
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        attachingGUID - unique id of the entity for the element that is being attached
        attachingGUIDParameterName - name of the parameter supplying the attachingGUID
        attachingElementTypeName - type name of the attaching element's entity
        relationshipTypeGUID - unique identifier of type of the relationship to create
        relationshipTypeName - unique name of type of the relationship to create
        relationshipProperties - properties to add to the relationship or null if no properties to add
        methodName - calling method
        Returns:
        unique identifier of the new relationship
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • linkElementToElement

        public String linkElementToElement​(String userId,
                                           String externalSourceGUID,
                                           String externalSourceName,
                                           String startingGUID,
                                           String startingGUIDParameterName,
                                           String startingElementTypeName,
                                           String attachingGUID,
                                           String attachingGUIDParameterName,
                                           String attachingElementTypeName,
                                           List<String> suppliedSupportedZones,
                                           String attachmentTypeGUID,
                                           String attachmentTypeName,
                                           InstanceProperties relationshipProperties,
                                           String methodName)
                                    throws InvalidParameterException,
                                           PropertyServerException,
                                           UserNotAuthorizedException
        Creates a relationship between two elements and updates the LatestChange in each one's anchor entity (if they have one). Both elements must be visible to the user to allow the link.
        Parameters:
        userId - userId of user making request
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        attachingGUID - unique id of the entity for the element that is being attached
        attachingGUIDParameterName - name of the parameter supplying the attachingGUID
        attachingElementTypeName - type name of the attaching element's entity
        suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
        attachmentTypeGUID - unique identifier of type of the relationship to create
        attachmentTypeName - unique name of type of the relationship to create
        relationshipProperties - properties to add to the relationship or null if no properties to add
        methodName - calling method
        Returns:
        unique identifier of the new relationship
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem adding the relationship to the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • updateElementToElementLink

        public void updateElementToElementLink​(String userId,
                                               String externalSourceGUID,
                                               String externalSourceName,
                                               String startingGUID,
                                               String startingGUIDParameterName,
                                               String startingElementTypeName,
                                               String attachingGUID,
                                               String attachingGUIDParameterName,
                                               String attachingElementTypeName,
                                               String attachmentTypeGUID,
                                               String attachmentTypeName,
                                               InstanceProperties relationshipProperties,
                                               String methodName)
                                        throws InvalidParameterException,
                                               PropertyServerException,
                                               UserNotAuthorizedException
        Updates a relationship between two elements and updates the LatestChange in each one's anchor entity (if they have one). Both elements must be visible to the user to allow the update.
        Parameters:
        userId - userId of user making request
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        attachingGUID - unique id of the entity for the element that is being attached
        attachingGUIDParameterName - name of the parameter supplying the attachingGUID
        attachingElementTypeName - type name of the attaching element's entity
        attachmentTypeGUID - unique identifier of type of the relationship to create
        attachmentTypeName - unique name of type of the relationship to create
        relationshipProperties - properties to add to the relationship or null if no properties to add
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem adding the relationship to the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • updateElementToElementLink

        public void updateElementToElementLink​(String userId,
                                               String externalSourceGUID,
                                               String externalSourceName,
                                               String startingGUID,
                                               String startingGUIDParameterName,
                                               String startingElementTypeName,
                                               String attachingGUID,
                                               String attachingGUIDParameterName,
                                               String attachingElementTypeName,
                                               List<String> suppliedSupportedZones,
                                               String attachmentTypeGUID,
                                               String attachmentTypeName,
                                               boolean isMergeUpdate,
                                               InstanceProperties relationshipProperties,
                                               String methodName)
                                        throws InvalidParameterException,
                                               PropertyServerException,
                                               UserNotAuthorizedException
        Updates a relationship between two elements and updates the LatestChange in each one's anchor entity (if they have one). Both elements must be visible to the user to allow the update.
        Parameters:
        userId - userId of user making request
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        attachingGUID - unique id of the entity for the element that is being attached
        attachingGUIDParameterName - name of the parameter supplying the attachingGUID
        attachingElementTypeName - type name of the attaching element's entity
        suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
        attachmentTypeGUID - unique identifier of type of the relationship to create
        attachmentTypeName - unique name of type of the relationship to create
        isMergeUpdate - should the supplied properties be merged with existing properties (true) by replacing the just the properties with matching names, or should the entire properties of the instance be replaced?
        relationshipProperties - properties to add to the relationship or null if no properties to add
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem adding the relationship to the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • relinkElementToNewElement

        public void relinkElementToNewElement​(String userId,
                                              String externalSourceGUID,
                                              String externalSourceName,
                                              String startingGUID,
                                              String startingGUIDParameterName,
                                              String startingElementTypeName,
                                              boolean startAtEnd1,
                                              String newAttachingGUID,
                                              String newAttachingGUIDParameterName,
                                              String newAttachingElementTypeName,
                                              String attachmentTypeGUID,
                                              String attachmentTypeName,
                                              InstanceProperties relationshipProperties,
                                              String methodName)
                                       throws InvalidParameterException,
                                              PropertyServerException,
                                              UserNotAuthorizedException
        Delete the existing relationship between the starting element and another element then create a new relationship between the starting element element and the new attaching element. If successful this updates the LatestChange in each one's anchor entity (if they have one). Both elements must be visible to the user to allow the relinking.
        Parameters:
        userId - userId of user making request
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        startAtEnd1 - is the starting element at end 1 of the relationship
        newAttachingGUID - unique id of the entity for the element that is being attached
        newAttachingGUIDParameterName - name of the parameter supplying the newAttachingGUID
        newAttachingElementTypeName - type name of the attaching element's entity
        attachmentTypeGUID - unique identifier of type of the relationship to create
        attachmentTypeName - unique name of type of the relationship to create
        relationshipProperties - properties to add to the relationship or null if no properties to add
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid; or the relationship to change is not obvious
        PropertyServerException - there is a problem adding the relationship to the repositories
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • relinkElementToNewElement

        public void relinkElementToNewElement​(String userId,
                                              String externalSourceGUID,
                                              String externalSourceName,
                                              String startingGUID,
                                              String startingGUIDParameterName,
                                              String startingElementTypeName,
                                              boolean startAtEnd1,
                                              String newAttachingGUID,
                                              String newAttachingGUIDParameterName,
                                              String newAttachingElementTypeName,
                                              List<String> suppliedSupportedZones,
                                              String attachmentTypeGUID,
                                              String attachmentTypeName,
                                              InstanceProperties relationshipProperties,
                                              String methodName)
                                       throws InvalidParameterException,
                                              PropertyServerException,
                                              UserNotAuthorizedException
        Deleted the existing relationship between the starting element and another element then create a new relationship between the starting element and the new attaching element. If successful this updates the LatestChange in each one's anchor entity (if they have one). Both elements must be visible to the user to allow the relinking.
        Parameters:
        userId - userId of user making request
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        startAtEnd1 - is the starting element at end 1 of the relationship
        newAttachingGUID - unique id of the entity for the element that is being attached
        newAttachingGUIDParameterName - name of the parameter supplying the newAttachingGUID
        newAttachingElementTypeName - type name of the attaching element's entity
        suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
        attachmentTypeGUID - unique identifier of type of the relationship to create
        attachmentTypeName - unique name of type of the relationship to create
        relationshipProperties - properties to add to the relationship or null if no properties to add
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid; or the relationship to change is not obvious
        PropertyServerException - there is a problem adding the relationship to the repositories
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • unlinkElementFromElement

        public void unlinkElementFromElement​(String userId,
                                             boolean onlyCreatorPermitted,
                                             String externalSourceGUID,
                                             String externalSourceName,
                                             String startingGUID,
                                             String startingGUIDParameterName,
                                             String startingElementTypeName,
                                             String attachingGUID,
                                             String attachingGUIDParameterName,
                                             String attachingElementTypeGUID,
                                             String attachingElementTypeName,
                                             String attachmentTypeGUID,
                                             String attachmentTypeName,
                                             String methodName)
                                      throws InvalidParameterException,
                                             PropertyServerException,
                                             UserNotAuthorizedException
        Removes a relationship between two elements.
        Parameters:
        userId - userId of user making request
        onlyCreatorPermitted - operation only permitted if the userId was the same one that created the relationship
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        attachingGUID - unique id of the entity for the element that is being attached
        attachingGUIDParameterName - name of the parameter supplying the attachingGUID
        attachingElementTypeGUID - type identifier of the attaching element's entity
        attachingElementTypeName - type name of the attaching element's entity
        attachmentTypeGUID - unique identifier of type of the relationship to create
        attachmentTypeName - unique name of type of the relationship to create
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating relationship in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • unlinkElementFromElement

        public void unlinkElementFromElement​(String userId,
                                             boolean onlyCreatorPermitted,
                                             String externalSourceGUID,
                                             String externalSourceName,
                                             String startingGUID,
                                             String startingGUIDParameterName,
                                             String startingElementTypeName,
                                             String attachedGUID,
                                             String attachedGUIDParameterName,
                                             String attachedElementTypeGUID,
                                             String attachedElementTypeName,
                                             List<String> suppliedSupportedZones,
                                             String attachmentTypeGUID,
                                             String attachmentTypeName,
                                             String methodName)
                                      throws InvalidParameterException,
                                             PropertyServerException,
                                             UserNotAuthorizedException
        Removes a relationship between two specified elements. If the attaching element is anchored to the same anchor as the starting element, it is unlinked from all other elements and deleted. This can cause a cascading effect if the anchored elements are organized in a hierarchy such as a schema or a comment conversation.
        Parameters:
        userId - userId of user making request
        onlyCreatorPermitted - operation only permitted if the userId was the same one that created the relationship
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        attachedGUID - unique id of the entity for the element that is being detached
        attachedGUIDParameterName - name of the parameter supplying the attachedGUID
        attachedElementTypeGUID - type GUID of the attaching element's entity
        attachedElementTypeName - type name of the attaching element's entity
        suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
        attachmentTypeGUID - unique identifier of type of the relationship to remove
        attachmentTypeName - unique name of type of the relationship to remove
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating relationship in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • unlinkElementFromElement

        public void unlinkElementFromElement​(String userId,
                                             boolean onlyCreatorPermitted,
                                             String externalSourceGUID,
                                             String externalSourceName,
                                             String startingGUID,
                                             String startingGUIDParameterName,
                                             String startingElementTypeName,
                                             String attachedGUID,
                                             String attachedGUIDParameterName,
                                             String attachedElementTypeGUID,
                                             String attachedElementTypeName,
                                             String attachmentTypeName,
                                             Relationship relationship,
                                             String methodName)
                                      throws InvalidParameterException,
                                             PropertyServerException,
                                             UserNotAuthorizedException
        Removes a relationship between two specified elements. If the attaching element is anchored to the same anchor as the starting element, it is unlinked from all other elements and deleted. This can cause a cascading effect if the anchored elements are organized in a hierarchy such as a schema or a comment conversation.
        Parameters:
        userId - userId of user making request
        onlyCreatorPermitted - operation only permitted if the userId was the same one that created the relationship
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        attachedGUID - unique id of the entity for the element that is being detached
        attachedGUIDParameterName - name of the parameter supplying the attachedGUID
        attachedElementTypeGUID - type GUID of the attaching element's entity
        attachedElementTypeName - type name of the attaching element's entity
        attachmentTypeName - unique name of type of the relationship to remove
        relationship - specific relationship to remove
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating relationship in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • unlinkElementFromElement

        public void unlinkElementFromElement​(String userId,
                                             boolean onlyCreatorPermitted,
                                             String externalSourceGUID,
                                             String externalSourceName,
                                             String startingGUID,
                                             String startingGUIDParameterName,
                                             String startingElementTypeName,
                                             String attachedGUID,
                                             String attachedGUIDParameterName,
                                             String attachedElementTypeGUID,
                                             String attachedElementTypeName,
                                             List<String> suppliedSupportedZones,
                                             String attachmentTypeName,
                                             Relationship relationship,
                                             String methodName)
                                      throws InvalidParameterException,
                                             PropertyServerException,
                                             UserNotAuthorizedException
        Removes a relationship between two specified elements. If the attaching element is anchored to the same anchor as the starting element, it is unlinked from all other elements and deleted. This can cause a cascading effect if the anchored elements are organized in a hierarchy such as a schema or a comment conversation.
        Parameters:
        userId - userId of user making request
        onlyCreatorPermitted - operation only permitted if the userId was the same one that created the relationship
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        attachedGUID - unique id of the entity for the element that is being detached
        attachedGUIDParameterName - name of the parameter supplying the attachedGUID
        attachedElementTypeGUID - type GUID of the attaching element's entity
        attachedElementTypeName - type name of the attaching element's entity
        suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
        attachmentTypeName - unique name of type of the relationship to remove
        relationship - specific relationship to remove
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating relationship in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • unlinkAllElements

        public void unlinkAllElements​(String userId,
                                      boolean onlyCreatorPermitted,
                                      String externalSourceGUID,
                                      String externalSourceName,
                                      String startingGUID,
                                      String startingGUIDParameterName,
                                      String startingElementTypeName,
                                      String attachmentTypeGUID,
                                      String attachmentTypeName,
                                      String methodName)
                               throws InvalidParameterException,
                                      PropertyServerException,
                                      UserNotAuthorizedException
        Calls unlinkElementFromElement for all relationships of a certain type emanating from the requested element.
        Parameters:
        userId - userId of user making request
        onlyCreatorPermitted - operation only permitted if the userId was the same one that created the relationship
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        attachmentTypeGUID - unique identifier of type of the relationship to create
        attachmentTypeName - unique name of type of the relationship to create
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating the relationships in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • unlinkAllElements

        public void unlinkAllElements​(String userId,
                                      boolean onlyCreatorPermitted,
                                      String externalSourceGUID,
                                      String externalSourceName,
                                      String startingGUID,
                                      String startingGUIDParameterName,
                                      String startingElementTypeName,
                                      List<String> suppliedSupportedZones,
                                      String attachmentTypeGUID,
                                      String attachmentTypeName,
                                      String methodName)
                               throws InvalidParameterException,
                                      PropertyServerException,
                                      UserNotAuthorizedException
        Calls unlinkElementFromElement for all relationships of a certain type emanating from the requested element.
        Parameters:
        userId - userId of user making request
        onlyCreatorPermitted - operation only permitted if the userId was the same one that created the relationship
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
        attachmentTypeGUID - unique identifier of type of the relationship to create
        attachmentTypeName - unique name of type of the relationship to create
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating the relationships in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • unlinkConnectedElement

        public String unlinkConnectedElement​(String userId,
                                             boolean onlyCreatorPermitted,
                                             String externalSourceGUID,
                                             String externalSourceName,
                                             String startingGUID,
                                             String startingGUIDParameterName,
                                             String startingElementTypeName,
                                             String attachmentTypeGUID,
                                             String attachmentTypeName,
                                             String detachedElementTypeName,
                                             String methodName)
                                      throws InvalidParameterException,
                                             PropertyServerException,
                                             UserNotAuthorizedException
        Removes the relationship of a specific type attached to an entity. If the connected entity is anchored to the starting entity it is deleted (and linked dependent elements). There should be only one relationship. If there are more, an error is thrown.
        Parameters:
        userId - userId of user making request
        onlyCreatorPermitted - operation only permitted if the userId was the same one that created the relationship
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        attachmentTypeGUID - unique identifier of type of the relationship to create
        attachmentTypeName - unique name of type of the relationship to create
        detachedElementTypeName - name of type of element that will be detached
        methodName - calling method
        Returns:
        unique identifier of the entity that has been detached
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating the relationship in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • unlinkConnectedElement

        public String unlinkConnectedElement​(String userId,
                                             boolean onlyCreatorPermitted,
                                             String externalSourceGUID,
                                             String externalSourceName,
                                             String startingGUID,
                                             String startingGUIDParameterName,
                                             String startingElementTypeName,
                                             List<String> suppliedSupportedZones,
                                             String attachmentTypeGUID,
                                             String attachmentTypeName,
                                             String detachedElementTypeName,
                                             String methodName)
                                      throws InvalidParameterException,
                                             PropertyServerException,
                                             UserNotAuthorizedException
        Removes the relationship of a specific type attached to an entity. If the connected entity is anchored to the starting entity it is deleted (and linked dependent elements). There should be only one relationship. If there are more, an error is thrown.
        Parameters:
        userId - userId of user making request
        onlyCreatorPermitted - operation only permitted if the userId was the same one that created the relationship
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        startingGUID - unique id for the starting element's entity
        startingGUIDParameterName - name of the parameter supplying the startingGUID
        startingElementTypeName - type name of the starting element's entity
        suppliedSupportedZones - list of zones that any asset must be a member of at least one to be visible
        attachmentTypeGUID - unique identifier of type of the relationship to create
        attachmentTypeName - unique name of type of the relationship to create
        detachedElementTypeName - name of type of element that will be detached
        methodName - calling method
        Returns:
        unique identifier of the entity that has been detached
        Throws:
        InvalidParameterException - one of the parameters is null or invalid.
        PropertyServerException - there is a problem updating the relationship in the repositories.
        UserNotAuthorizedException - the requesting user is not authorized to issue this request.
      • verifyExternalSourceIdentity

        public void verifyExternalSourceIdentity​(String userId,
                                                 String externalSourceGUID,
                                                 String externalSourceName,
                                                 String methodName)
                                          throws InvalidParameterException,
                                                 UserNotAuthorizedException,
                                                 PropertyServerException
        Verify that the integrator identities are either null or refer to a valid software server capability. These values will be used to set up the
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        methodName - calling method
        Throws:
        InvalidParameterException - the integrator GUID or name does not match what is in the metadata repository
        PropertyServerException - problem accessing repositories
        UserNotAuthorizedException - security access problem