java.lang.Object
org.odpi.openmetadata.accessservices.designmodel.client.DataDesignManager
All Implemented Interfaces:
DataDesignInterface

public class DataDesignManager extends Object implements DataDesignInterface
Data design manager describes how to maintain and query data classes, data fields and data structures. They are organized into specialized collections called data dictionaries and data specs (supported with the collection manager).
  • Field Details

    • serviceName

      protected final String serviceName
  • Constructor Details

    • DataDesignManager

      public DataDesignManager(String serverName, String serverPlatformURLRoot, int maxPageSize, AuditLog auditLog) throws InvalidParameterException
      Create a new client with no authentication embedded in the HTTP request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      maxPageSize - maximum number of results supported by this server
      auditLog - logging destination
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • DataDesignManager

      public DataDesignManager(String serverName, String serverPlatformURLRoot, int maxPageSize) throws InvalidParameterException
      Create a new client with no authentication embedded in the HTTP request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      maxPageSize - maximum number of results supported by this server
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • DataDesignManager

      public DataDesignManager(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize, AuditLog auditLog) throws InvalidParameterException
      Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      userId - caller's userId embedded in all HTTP requests
      password - caller's userId embedded in all HTTP requests
      maxPageSize - maximum number of results supported by this server
      auditLog - logging destination
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • DataDesignManager

      public DataDesignManager(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize) throws InvalidParameterException
      Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      userId - caller's userId embedded in all HTTP requests
      password - caller's userId embedded in all HTTP requests
      maxPageSize - maximum number of results supported by this server
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
  • Method Details

    • createDataStructure

      public String createDataStructure(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, boolean isOwnAnchor, String anchorScopeGUID, DataStructureProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Create a new data structure.
      Specified by:
      createDataStructure in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      anchorGUID - unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.
      isOwnAnchor - boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.
      anchorScopeGUID - unique identifier of any anchor scope to use for searching
      properties - properties for the new element.
      parentGUID - unique identifier of optional parent entity
      parentRelationshipTypeName - type of relationship to connect the new element to the parent
      parentRelationshipProperties - properties to include in parent relationship
      parentAtEnd1 - which end should the parent GUID go in the relationship
      forLineage - the retrieved elements are for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      effectiveTime - only return an element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      Returns:
      unique identifier of the newly created element
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • createDataStructureFromTemplate

      public String createDataStructureFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, boolean isOwnAnchor, String anchorScopeGUID, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String,String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a data structure using an existing element as a template. The template defines additional classifications and relationships that should be added to the new data structure.
      Specified by:
      createDataStructureFromTemplate in interface DataDesignInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      anchorGUID - unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.
      isOwnAnchor - boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.
      anchorScopeGUID - unique identifier of any anchor scope to use for searching
      effectiveFrom - the date when this element is active - null for active on creation
      effectiveTo - the date when this element becomes inactive - null for active until deleted
      templateGUID - the unique identifier of the existing asset to copy (this will copy all the attachments such as nested content, schema connection etc)
      replacementProperties - properties of the new metadata element. These override the template values
      placeholderProperties - property name-to-property value map to replace any placeholder values in the template element - and their anchored elements, which are also copied as part of this operation.
      parentGUID - unique identifier of optional parent entity
      parentRelationshipTypeName - type of relationship to connect the new element to the parent
      parentRelationshipProperties - properties to include in parent relationship
      parentAtEnd1 - which end should the parent GUID go in the relationship
      forLineage - the retrieved elements are for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      effectiveTime - only return an element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      Returns:
      unique identifier of the new metadata element
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • updateDataStructure

      public void updateDataStructure(String userId, String externalSourceGUID, String externalSourceName, String dataStructureGUID, boolean replaceAllProperties, DataStructureProperties properties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Update the properties of a data structure.
      Specified by:
      updateDataStructure in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      dataStructureGUID - unique identifier of the data structure (returned from create)
      replaceAllProperties - flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.
      properties - properties for the element.
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • linkMemberDataField

      public void linkMemberDataField(String userId, String externalSourceGUID, String externalSourceName, String parentDataStructureGUID, String memberDataFieldGUID, MemberDataFieldProperties relationshipProperties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Attach a data field to a data structure.
      Specified by:
      linkMemberDataField in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      parentDataStructureGUID - unique identifier of the parent
      memberDataFieldGUID - unique identifier of the data field
      relationshipProperties - description of the relationship.
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • detachMemberDataField

      public void detachMemberDataField(String userId, String externalSourceGUID, String externalSourceName, String parentDataStructureGUID, String nestedDataFieldGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Detach a data field from a data structure.
      Specified by:
      detachMemberDataField in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      parentDataStructureGUID - unique identifier of the parent data field.
      nestedDataFieldGUID - unique identifier of the nested data field.
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • deleteDataStructure

      public void deleteDataStructure(String userId, String externalSourceGUID, String externalSourceName, String dataStructureGUID, boolean cascadedDelete, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Delete a data structure.
      Specified by:
      deleteDataStructure in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      dataStructureGUID - unique identifier of the element
      cascadedDelete - can the data structure be deleted if it has data fields linked to it?
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getDataStructuresByName

      public List<DataStructureElement> getDataStructuresByName(String userId, String name, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns the list of data structures with a particular name.
      Specified by:
      getDataStructuresByName in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      name - name of the element to return - match is full text match in qualifiedName or name
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      a list of elements
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getDataStructureByGUID

      public DataStructureElement getDataStructureByGUID(String userId, String dataStructureGUID, Date asOfTime, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the properties of a specific data structure.
      Specified by:
      getDataStructureByGUID in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      dataStructureGUID - unique identifier of the required element
      asOfTime - repository time to use
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      retrieved properties
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findDataStructures

      public List<DataStructureElement> findDataStructures(String userId, String searchString, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of data structures metadata elements that contain the search string. The search string is treated as a regular expression.
      Specified by:
      findDataStructures in interface DataDesignInterface
      Parameters:
      userId - calling user
      searchString - string to find in the properties
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • createDataField

      public String createDataField(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, boolean isOwnAnchor, String anchorScopeGUID, DataFieldProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Create a new data field.
      Specified by:
      createDataField in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      anchorGUID - unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.
      isOwnAnchor - boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.
      anchorScopeGUID - unique identifier of any anchor scope to use for searching
      properties - properties for the new element.
      parentGUID - unique identifier of optional parent entity
      parentRelationshipTypeName - type of relationship to connect the new element to the parent
      parentRelationshipProperties - properties to include in parent relationship
      parentAtEnd1 - which end should the parent GUID go in the relationship
      forLineage - the retrieved elements are for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      effectiveTime - only return an element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      Returns:
      unique identifier of the newly created element
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • createDataFieldFromTemplate

      public String createDataFieldFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, boolean isOwnAnchor, String anchorScopeGUID, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String,String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a data field using an existing element as a template. The template defines additional classifications and relationships that should be added to the new data field.
      Specified by:
      createDataFieldFromTemplate in interface DataDesignInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      anchorGUID - unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.
      isOwnAnchor - boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.
      anchorScopeGUID - unique identifier of any anchor scope to use for searching
      effectiveFrom - the date when this element is active - null for active on creation
      effectiveTo - the date when this element becomes inactive - null for active until deleted
      templateGUID - the unique identifier of the existing asset to copy (this will copy all the attachments such as nested content, schema connection etc)
      replacementProperties - properties of the new metadata element. These override the template values
      placeholderProperties - property name-to-property value map to replace any placeholder values in the template element - and their anchored elements, which are also copied as part of this operation.
      parentGUID - unique identifier of optional parent entity
      parentRelationshipTypeName - type of relationship to connect the new element to the parent
      parentRelationshipProperties - properties to include in parent relationship
      parentAtEnd1 - which end should the parent GUID go in the relationship
      forLineage - the retrieved elements are for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      effectiveTime - only return an element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      Returns:
      unique identifier of the new metadata element
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • updateDataField

      public void updateDataField(String userId, String externalSourceGUID, String externalSourceName, String dataFieldGUID, boolean replaceAllProperties, DataFieldProperties properties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Update the properties of a data field.
      Specified by:
      updateDataField in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      dataFieldGUID - unique identifier of the data field (returned from create)
      replaceAllProperties - flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.
      properties - properties for the element.
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • linkNestedDataFields

      public void linkNestedDataFields(String userId, String externalSourceGUID, String externalSourceName, String parentDataFieldGUID, String nestedDataFieldGUID, MemberDataFieldProperties relationshipProperties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Connect two data field as parent and child.
      Specified by:
      linkNestedDataFields in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      parentDataFieldGUID - unique identifier of the parent data field
      nestedDataFieldGUID - unique identifier of the child data field
      relationshipProperties - description of the relationship.
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • detachNestedDataFields

      public void detachNestedDataFields(String userId, String externalSourceGUID, String externalSourceName, String parentDataFieldGUID, String nestedDataFieldGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Detach two data fields from one another.
      Specified by:
      detachNestedDataFields in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      parentDataFieldGUID - unique identifier of the parent data field.
      nestedDataFieldGUID - unique identifier of the child data field.
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • deleteDataField

      public void deleteDataField(String userId, String externalSourceGUID, String externalSourceName, String dataFieldGUID, boolean cascadedDelete, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Delete a data field.
      Specified by:
      deleteDataField in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      dataFieldGUID - unique identifier of the element
      cascadedDelete - should the data field delete nested data fields?
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getDataFieldsByName

      public List<DataFieldElement> getDataFieldsByName(String userId, String name, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns the list of data fields with a particular name.
      Specified by:
      getDataFieldsByName in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      name - name of the element to return - match is full text match in qualifiedName or name
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      a list of elements
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getDataFieldByGUID

      public DataFieldElement getDataFieldByGUID(String userId, String dataFieldGUID, Date asOfTime, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the properties of a specific data field.
      Specified by:
      getDataFieldByGUID in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      dataFieldGUID - unique identifier of the required element
      asOfTime - repository time to use
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      retrieved properties
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findDataFields

      public List<DataFieldElement> findDataFields(String userId, String searchString, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of data fields metadata elements that contain the search string. The search string is treated as a regular expression.
      Specified by:
      findDataFields in interface DataDesignInterface
      Parameters:
      userId - calling user
      searchString - string to find in the properties
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • createDataClass

      public String createDataClass(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, boolean isOwnAnchor, String anchorScopeGUID, DataClassProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Create a new data class.
      Specified by:
      createDataClass in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      anchorGUID - unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.
      isOwnAnchor - boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.
      anchorScopeGUID - unique identifier of any anchor scope to use for searching
      properties - properties for the new element.
      parentGUID - unique identifier of optional parent entity
      parentRelationshipTypeName - type of relationship to connect the new element to the parent
      parentRelationshipProperties - properties to include in parent relationship
      parentAtEnd1 - which end should the parent GUID go in the relationship
      forLineage - the retrieved elements are for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      effectiveTime - only return an element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      Returns:
      unique identifier of the newly created element
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • createDataClassFromTemplate

      public String createDataClassFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, boolean isOwnAnchor, String anchorScopeGUID, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String,String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a data class using an existing element as a template. The template defines additional classifications and relationships that should be added to the new data class.
      Specified by:
      createDataClassFromTemplate in interface DataDesignInterface
      Parameters:
      userId - calling user
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      anchorGUID - unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.
      isOwnAnchor - boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.
      anchorScopeGUID - unique identifier of any anchor scope to use for searching
      effectiveFrom - the date when this element is active - null for active on creation
      effectiveTo - the date when this element becomes inactive - null for active until deleted
      templateGUID - the unique identifier of the existing asset to copy (this will copy all the attachments such as nested content, schema connection etc)
      replacementProperties - properties of the new metadata element. These override the template values
      placeholderProperties - property name-to-property value map to replace any placeholder values in the template element - and their anchored elements, which are also copied as part of this operation.
      parentGUID - unique identifier of optional parent entity
      parentRelationshipTypeName - type of relationship to connect the new element to the parent
      parentRelationshipProperties - properties to include in parent relationship
      parentAtEnd1 - which end should the parent GUID go in the relationship
      forLineage - the retrieved elements are for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      effectiveTime - only return an element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      Returns:
      unique identifier of the new metadata element
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • updateDataClass

      public void updateDataClass(String userId, String externalSourceGUID, String externalSourceName, String dataClassGUID, boolean replaceAllProperties, DataClassProperties properties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Update the properties of a data class.
      Specified by:
      updateDataClass in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      dataClassGUID - unique identifier of the data class (returned from create)
      replaceAllProperties - flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.
      properties - properties for the element.
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • linkNestedDataClass

      public void linkNestedDataClass(String userId, String externalSourceGUID, String externalSourceName, String parentDataClassGUID, String childDataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Connect two data classes to show that one is used by the other when it is validating (typically a complex data item).
      Specified by:
      linkNestedDataClass in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      parentDataClassGUID - unique identifier of the parent data class
      childDataClassGUID - unique identifier of the chile data class
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • detachNestedDataClass

      public void detachNestedDataClass(String userId, String externalSourceGUID, String externalSourceName, String parentDataClassGUID, String childDataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Detach two nested data classes from one another.
      Specified by:
      detachNestedDataClass in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      parentDataClassGUID - unique identifier of the parent data class.
      childDataClassGUID - unique identifier of the child data class.
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • linkSpecialistDataClass

      public void linkSpecialistDataClass(String userId, String externalSourceGUID, String externalSourceName, String parentDataClassGUID, String childDataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Connect two data classes to show that one provides a more specialist evaluation.
      Specified by:
      linkSpecialistDataClass in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      parentDataClassGUID - unique identifier of the more generic data class
      childDataClassGUID - unique identifier of the more specialized data class
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • detachSpecialistDataClass

      public void detachSpecialistDataClass(String userId, String externalSourceGUID, String externalSourceName, String parentDataClassGUID, String childDataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Detach two data classes from one another.
      Specified by:
      detachSpecialistDataClass in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      parentDataClassGUID - unique identifier of the more generic data class
      childDataClassGUID - unique identifier of the more specialized
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • deleteDataClass

      public void deleteDataClass(String userId, String externalSourceGUID, String externalSourceName, String dataClassGUID, boolean cascadedDelete, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Delete a data class.
      Specified by:
      deleteDataClass in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      dataClassGUID - unique identifier of the element
      cascadedDelete - can the data class be deleted if other data classes are attached?
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getDataClassesByName

      public List<DataClassElement> getDataClassesByName(String userId, String name, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Returns the list of data classes with a particular name.
      Specified by:
      getDataClassesByName in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      name - name of the element to return - match is full text match in qualifiedName or name
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      a list of elements
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getDataClassByGUID

      public DataClassElement getDataClassByGUID(String userId, String dataClassGUID, Date asOfTime, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the properties of a specific data class.
      Specified by:
      getDataClassByGUID in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      dataClassGUID - unique identifier of the required element
      asOfTime - repository time to use
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      retrieved properties
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findDataClasses

      public List<DataClassElement> findDataClasses(String userId, String searchString, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of data classes metadata elements that contain the search string. The search string is treated as a regular expression.
      Specified by:
      findDataClasses in interface DataDesignInterface
      Parameters:
      userId - calling user
      searchString - string to find in the properties
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • linkDataClassDefinition

      public void linkDataClassDefinition(String userId, String externalSourceGUID, String externalSourceName, String dataDefinitionGUID, String dataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Connect an element that is part of a data design to a data class to show that the data class should be used as the specification for the data values when interpreting the data definition.
      Specified by:
      linkDataClassDefinition in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      dataDefinitionGUID - unique identifier of the data design element (eg data field) that uses the data class
      dataClassGUID - unique identifier of the data class
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • detachDataClassDefinition

      public void detachDataClassDefinition(String userId, String externalSourceGUID, String externalSourceName, String dataDefinitionGUID, String dataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Detach a data definition from a data class.
      Specified by:
      detachDataClassDefinition in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      dataDefinitionGUID - unique identifier of the data design element (eg data field) that uses the data class
      dataClassGUID - unique identifier of the data class
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • linkSemanticDefinition

      public void linkSemanticDefinition(String userId, String externalSourceGUID, String externalSourceName, String dataDefinitionGUID, String glossaryTermGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Connect an element that is part of a data design to a glossary term to show that the term should be used as the semantic definition for the data values when interpreting the data definition.
      Specified by:
      linkSemanticDefinition in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      dataDefinitionGUID - unique identifier of the data design element (eg data field) that uses the data class
      glossaryTermGUID - unique identifier of the glossary term
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • detachSemanticDefinition

      public void detachSemanticDefinition(String userId, String externalSourceGUID, String externalSourceName, String dataDefinitionGUID, String glossaryTermGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Detach a data definition from a glossary term.
      Specified by:
      detachSemanticDefinition in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      dataDefinitionGUID - unique identifier of the data design element (eg data field) that uses the data class
      glossaryTermGUID - unique identifier of the glossary term
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • linkCertificationTypeToDataStructure

      public void linkCertificationTypeToDataStructure(String userId, String externalSourceGUID, String externalSourceName, String certificationTypeGUID, String dataStructureGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Connect a certification type to a data structure to guide the survey action service (that checks the data quality of a data resource as part of certifying it with the supplied certification type) to the definition of the data structure to use as a specification of how the data should be both structured and (if data classes are attached to the associated data fields using the DataClassDefinition relationship) contain the valid values.
      Specified by:
      linkCertificationTypeToDataStructure in interface DataDesignInterface
      Parameters:
      userId - userId of user making request
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      certificationTypeGUID - unique identifier of the certification type
      dataStructureGUID - unique identifier of the data structure
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • detachCertificationTypeToDataStructure

      public void detachCertificationTypeToDataStructure(String userId, String externalSourceGUID, String externalSourceName, String certificationTypeGUID, String dataStructureGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Detach a data structure from a certification type.
      Specified by:
      detachCertificationTypeToDataStructure in interface DataDesignInterface
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - unique identifier of the software capability that owns this element
      externalSourceName - unique name of the software capability that owns this element
      certificationTypeGUID - unique identifier of the certification type
      dataStructureGUID - unique identifier of the data structure
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem retrieving information from the property server(s).
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.