Class DataDesignManager
java.lang.Object
org.odpi.openmetadata.accessservices.designmodel.client.DataDesignManager
- All Implemented Interfaces:
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 Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDataDesignManager
(String serverName, String serverPlatformURLRoot, int maxPageSize) Create a new client with no authentication embedded in the HTTP request.DataDesignManager
(String serverName, String serverPlatformURLRoot, int maxPageSize, AuditLog auditLog) Create a new client with no authentication embedded in the HTTP request.DataDesignManager
(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize) Create a new client that passes userId and password in each HTTP request.DataDesignManager
(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize, AuditLog auditLog) Create a new client that passes userId and password in each HTTP request. -
Method Summary
Modifier and TypeMethodDescriptioncreateDataClass
(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) Create a new data class.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) Create a new metadata element to represent a data class using an existing element as a template.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) Create a new data field.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) Create a new metadata element to represent a data field using an existing element as a template.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) Create a new data structure.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) Create a new metadata element to represent a data structure using an existing element as a template.void
deleteDataClass
(String userId, String externalSourceGUID, String externalSourceName, String dataClassGUID, boolean cascadedDelete, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Delete a data class.void
deleteDataField
(String userId, String externalSourceGUID, String externalSourceName, String dataFieldGUID, boolean cascadedDelete, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Delete a data field.void
deleteDataStructure
(String userId, String externalSourceGUID, String externalSourceName, String dataStructureGUID, boolean cascadedDelete, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Delete a data structure.void
detachCertificationTypeToDataStructure
(String userId, String externalSourceGUID, String externalSourceName, String certificationTypeGUID, String dataStructureGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Detach a data structure from a certification type.void
detachDataClassDefinition
(String userId, String externalSourceGUID, String externalSourceName, String dataDefinitionGUID, String dataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Detach a data definition from a data class.void
detachMemberDataField
(String userId, String externalSourceGUID, String externalSourceName, String parentDataStructureGUID, String nestedDataFieldGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Detach a data field from a data structure.void
detachNestedDataClass
(String userId, String externalSourceGUID, String externalSourceName, String parentDataClassGUID, String childDataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Detach two nested data classes from one another.void
detachNestedDataFields
(String userId, String externalSourceGUID, String externalSourceName, String parentDataFieldGUID, String nestedDataFieldGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Detach two data fields from one another.void
detachSemanticDefinition
(String userId, String externalSourceGUID, String externalSourceName, String dataDefinitionGUID, String glossaryTermGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Detach a data definition from a glossary term.void
detachSpecialistDataClass
(String userId, String externalSourceGUID, String externalSourceName, String parentDataClassGUID, String childDataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Detach two data classes from one another.findDataClasses
(String userId, String searchString, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Retrieve the list of data classes metadata elements that contain the search string.findDataFields
(String userId, String searchString, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Retrieve the list of data fields metadata elements that contain the search string.findDataStructures
(String userId, String searchString, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Retrieve the list of data structures metadata elements that contain the search string.getDataClassByGUID
(String userId, String dataClassGUID, Date asOfTime, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Return the properties of a specific data class.getDataClassesByName
(String userId, String name, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Returns the list of data classes with a particular name.getDataFieldByGUID
(String userId, String dataFieldGUID, Date asOfTime, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Return the properties of a specific data field.getDataFieldsByName
(String userId, String name, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Returns the list of data fields with a particular name.getDataStructureByGUID
(String userId, String dataStructureGUID, Date asOfTime, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Return the properties of a specific data structure.getDataStructuresByName
(String userId, String name, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Returns the list of data structures with a particular name.void
linkCertificationTypeToDataStructure
(String userId, String externalSourceGUID, String externalSourceName, String certificationTypeGUID, String dataStructureGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) 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.void
linkDataClassDefinition
(String userId, String externalSourceGUID, String externalSourceName, String dataDefinitionGUID, String dataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) 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.void
linkMemberDataField
(String userId, String externalSourceGUID, String externalSourceName, String parentDataStructureGUID, String memberDataFieldGUID, MemberDataFieldProperties relationshipProperties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Attach a data field to a data structure.void
linkNestedDataClass
(String userId, String externalSourceGUID, String externalSourceName, String parentDataClassGUID, String childDataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Connect two data classes to show that one is used by the other when it is validating (typically a complex data item).void
linkNestedDataFields
(String userId, String externalSourceGUID, String externalSourceName, String parentDataFieldGUID, String nestedDataFieldGUID, MemberDataFieldProperties relationshipProperties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Connect two data field as parent and child.void
linkSemanticDefinition
(String userId, String externalSourceGUID, String externalSourceName, String dataDefinitionGUID, String glossaryTermGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) 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.void
linkSpecialistDataClass
(String userId, String externalSourceGUID, String externalSourceName, String parentDataClassGUID, String childDataClassGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Connect two data classes to show that one provides a more specialist evaluation.void
updateDataClass
(String userId, String externalSourceGUID, String externalSourceName, String dataClassGUID, boolean replaceAllProperties, DataClassProperties properties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Update the properties of a data class.void
updateDataField
(String userId, String externalSourceGUID, String externalSourceName, String dataFieldGUID, boolean replaceAllProperties, DataFieldProperties properties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Update the properties of a data field.void
updateDataStructure
(String userId, String externalSourceGUID, String externalSourceName, String dataStructureGUID, boolean replaceAllProperties, DataStructureProperties properties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Update the properties of a data structure.
-
Field Details
-
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 toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesmaxPageSize
- maximum number of results supported by this serverauditLog
- 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 toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesmaxPageSize
- 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 toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesuserId
- caller's userId embedded in all HTTP requestspassword
- caller's userId embedded in all HTTP requestsmaxPageSize
- maximum number of results supported by this serverauditLog
- 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 toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesuserId
- caller's userId embedded in all HTTP requestspassword
- caller's userId embedded in all HTTP requestsmaxPageSize
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementanchorGUID
- 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 searchingproperties
- properties for the new element.parentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationshipforLineage
- the retrieved elements are for lineage processing so include archived elementsforDuplicateProcessing
- 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, PropertyServerExceptionCreate 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 interfaceDataDesignInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementanchorGUID
- 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 searchingeffectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedtemplateGUID
- 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 valuesplaceholderProperties
- 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 entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationshipforLineage
- the retrieved elements are for lineage processing so include archived elementsforDuplicateProcessing
- 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 invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementdataStructureGUID
- 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 retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestexternalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementparentDataStructureGUID
- unique identifier of the parentmemberDataFieldGUID
- unique identifier of the data fieldrelationshipProperties
- description of the relationship.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementparentDataStructureGUID
- unique identifier of the parent data field.nestedDataFieldGUID
- unique identifier of the nested data field.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementdataStructureGUID
- unique identifier of the elementcascadedDelete
- can the data structure be deleted if it has data fields linked to it?forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestname
- name of the element to return - match is full text match in qualifiedName or namelimitResultsByStatus
- control the status of the elements to retrieve - default is everything but DeletedasOfTime
- repository time to usesequencingOrder
- order to retrieve resultssequencingProperty
- property to use for sequencing orderstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestdataStructureGUID
- unique identifier of the required elementasOfTime
- repository time to useforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- calling usersearchString
- string to find in the propertieslimitResultsByStatus
- control the status of the elements to retrieve - default is everything but DeletedasOfTime
- repository time to usesequencingOrder
- order to retrieve resultssequencingProperty
- property to use for sequencing orderstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementanchorGUID
- 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 searchingproperties
- properties for the new element.parentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationshipforLineage
- the retrieved elements are for lineage processing so include archived elementsforDuplicateProcessing
- 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, PropertyServerExceptionCreate 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 interfaceDataDesignInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementanchorGUID
- 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 searchingeffectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedtemplateGUID
- 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 valuesplaceholderProperties
- 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 entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationshipforLineage
- the retrieved elements are for lineage processing so include archived elementsforDuplicateProcessing
- 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 invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementdataFieldGUID
- 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 retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestexternalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementparentDataFieldGUID
- unique identifier of the parent data fieldnestedDataFieldGUID
- unique identifier of the child data fieldrelationshipProperties
- description of the relationship.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementparentDataFieldGUID
- unique identifier of the parent data field.nestedDataFieldGUID
- unique identifier of the child data field.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementdataFieldGUID
- unique identifier of the elementcascadedDelete
- should the data field delete nested data fields?forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestname
- name of the element to return - match is full text match in qualifiedName or namelimitResultsByStatus
- control the status of the elements to retrieve - default is everything but DeletedasOfTime
- repository time to usesequencingOrder
- order to retrieve resultssequencingProperty
- property to use for sequencing orderstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestdataFieldGUID
- unique identifier of the required elementasOfTime
- repository time to useforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- calling usersearchString
- string to find in the propertieslimitResultsByStatus
- control the status of the elements to retrieve - default is everything but DeletedasOfTime
- repository time to usesequencingOrder
- order to retrieve resultssequencingProperty
- property to use for sequencing orderstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementanchorGUID
- 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 searchingproperties
- properties for the new element.parentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationshipforLineage
- the retrieved elements are for lineage processing so include archived elementsforDuplicateProcessing
- 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, PropertyServerExceptionCreate 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 interfaceDataDesignInterface
- Parameters:
userId
- calling userexternalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementanchorGUID
- 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 searchingeffectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedtemplateGUID
- 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 valuesplaceholderProperties
- 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 entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationshipforLineage
- the retrieved elements are for lineage processing so include archived elementsforDuplicateProcessing
- 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 invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementdataClassGUID
- 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 retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestexternalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementparentDataClassGUID
- unique identifier of the parent data classchildDataClassGUID
- unique identifier of the chile data classforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementparentDataClassGUID
- unique identifier of the parent data class.childDataClassGUID
- unique identifier of the child data class.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestexternalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementparentDataClassGUID
- unique identifier of the more generic data classchildDataClassGUID
- unique identifier of the more specialized data classforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementparentDataClassGUID
- unique identifier of the more generic data classchildDataClassGUID
- unique identifier of the more specializedforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementdataClassGUID
- unique identifier of the elementcascadedDelete
- can the data class be deleted if other data classes are attached?forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestname
- name of the element to return - match is full text match in qualifiedName or namelimitResultsByStatus
- control the status of the elements to retrieve - default is everything but DeletedasOfTime
- repository time to usesequencingOrder
- order to retrieve resultssequencingProperty
- property to use for sequencing orderstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestdataClassGUID
- unique identifier of the required elementasOfTime
- repository time to useforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- calling usersearchString
- string to find in the propertieslimitResultsByStatus
- control the status of the elements to retrieve - default is everything but DeletedasOfTime
- repository time to usesequencingOrder
- order to retrieve resultssequencingProperty
- property to use for sequencing orderstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestexternalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementdataDefinitionGUID
- unique identifier of the data design element (eg data field) that uses the data classdataClassGUID
- unique identifier of the data classforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementdataDefinitionGUID
- unique identifier of the data design element (eg data field) that uses the data classdataClassGUID
- unique identifier of the data classforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestexternalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementdataDefinitionGUID
- unique identifier of the data design element (eg data field) that uses the data classglossaryTermGUID
- unique identifier of the glossary termforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementdataDefinitionGUID
- unique identifier of the data design element (eg data field) that uses the data classglossaryTermGUID
- unique identifier of the glossary termforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making requestexternalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementcertificationTypeGUID
- unique identifier of the certification typedataStructureGUID
- unique identifier of the data structureforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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 interfaceDataDesignInterface
- Parameters:
userId
- userId of user making request.externalSourceGUID
- unique identifier of the software capability that owns this elementexternalSourceName
- unique name of the software capability that owns this elementcertificationTypeGUID
- unique identifier of the certification typedataStructureGUID
- unique identifier of the data structureforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveTime
- 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.
-