Class OpenMetadataClientBase
java.lang.Object
org.odpi.openmetadata.frameworks.governanceaction.client.OpenMetadataClient
org.odpi.openmetadata.frameworkservices.gaf.client.OpenMetadataClientBase
- All Implemented Interfaces:
ExternalIdentifiersInterface
,MetadataElementInterface
,MultiLanguageInterface
,OpenMetadataTypesInterface
,StewardshipRequestInterface
,ValidMetadataValuesInterface
- Direct Known Subclasses:
OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreClient
,OpenMetadataStoreHandler
OpenMetadataClientBase provides an interface to the open metadata store. This is part of the Governance Action Framework (GAF)
and provides a comprehensive interface for working with all types of metadata, subject to the user's (and this OMAS's) security permissions.
The interface supports search, maintenance of metadata elements, classifications and relationships plus the ability to raise incident reports
and todos along with the ability to work with metadata valid values and translations.
-
Field Summary
Fields inherited from class org.odpi.openmetadata.frameworks.governanceaction.client.OpenMetadataClient
serverName, serverPlatformURLRoot, serviceURLMarker
-
Constructor Summary
ConstructorDescriptionOpenMetadataClientBase
(String serviceURLMarker, String serverName, String serverPlatformURLRoot, int maxPageSize) Create a new client with no authentication embedded in the HTTP request.OpenMetadataClientBase
(String serviceURLMarker, String serverName, String serverPlatformURLRoot, String serverUserId, String serverPassword, int maxPageSize) Create a new client that passes userId and password in each HTTP request.OpenMetadataClientBase
(String serviceURLMarker, String serverName, String serverPlatformURLRoot, GAFRESTClient restClient, int maxPageSize) Create a new client that passes userId and password in each HTTP request. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addExternalIdentifier
(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties) Add a new external identifier to an existing open metadata element.void
archiveMetadataElementInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, ArchiveProperties archiveProperties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Archive a specific metadata element.void
archiveMetadataElementInStore
(String userId, String metadataElementGUID, ArchiveProperties archiveProperties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Archive a specific metadata element.void
classifyMetadataElementInStore
(String userId, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, ElementProperties properties, Date effectiveTime) Add a new classification to the metadata element.void
classifyMetadataElementInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, ElementProperties properties, Date effectiveTime) Add a new classification to the metadata element.void
clearTranslation
(String userId, String elementGUID, String language, String locale) Remove the translation for a particular language/locale for a metadata element.void
clearValidMetadataMapName
(String userId, String typeName, String propertyName, String preferredValue) Remove a valid map name value for a property.void
clearValidMetadataMapValue
(String userId, String typeName, String propertyName, String mapName, String preferredValue) Remove a valid map name value for a property.void
clearValidMetadataValue
(String userId, String typeName, String propertyName, String preferredValue) Remove a valid value for a property.void
confirmSynchronization
(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier) Confirm that the values of a particular metadata element have been synchronized.createIncidentReport
(String userId, String qualifiedName, int domainIdentifier, String background, List<IncidentImpactedElement> impactedResources, List<IncidentDependency> previousIncidents, Map<String, Integer> incidentClassifiers, Map<String, String> additionalProperties, String originatorGUID) Create an incident report to capture the situation detected by the caller.createMetadataElementFromTemplate
(String userId, String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create a new metadata element in the metadata store.createMetadataElementFromTemplate
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create a new metadata element in the metadata store using the template identified by the templateGUID.createMetadataElementInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementTypeName, ElementStatus initialStatus, Date effectiveFrom, Date effectiveTo, ElementProperties properties) Create a new metadata element in the metadata store.createMetadataElementInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementTypeName, ElementStatus initialStatus, Map<String, ElementProperties> initialClassifications, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, ElementProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create a new metadata element in the metadata store.createMetadataElementInStore
(String userId, String metadataElementTypeName, ElementStatus initialStatus, Date effectiveFrom, Date effectiveTo, ElementProperties properties) Create a new metadata element in the metadata store.createMetadataElementInStore
(String userId, String metadataElementTypeName, ElementStatus initialStatus, Map<String, ElementProperties> initialClassifications, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, ElementProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create a new metadata element in the metadata store.createRelatedElementsInStore
(String userId, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, ElementProperties properties, Date effectiveTime) Create a relationship between two metadata elements.createRelatedElementsInStore
(String userId, String externalSourceGUID, String externalSourceName, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, ElementProperties properties, Date effectiveTime) Create a relationship between two metadata elements.void
declassifyMetadataElementInStore
(String userId, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Remove the named classification from a specific metadata element.void
declassifyMetadataElementInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Remove the named classification from a specific metadata element.void
deleteMetadataElementInStore
(String userId, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Delete a specific metadata element.void
deleteMetadataElementInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Delete a specific metadata element.void
deleteRelatedElementsInStore
(String userId, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Delete a relationship between two metadata elements.void
deleteRelatedElementsInStore
(String userId, String externalSourceGUID, String externalSourceName, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Delete a relationship between two metadata elements.findAttributeTypeDefsByCategory
(String userId, OpenMetadataAttributeTypeDefCategory category) Returns all the AttributeTypeDefs for a specific category.findMetadataElements
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, SearchProperties searchProperties, List<ElementStatus> limitResultsByStatus, Date asOfTime, SearchClassifications matchClassifications, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Return a list of metadata elements that match the supplied criteria.findMetadataElementsByClassificationPropertyValue
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, String classificationPropertyName, String classificationPropertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.findMetadataElementsByClassificationPropertyValue
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, List<String> classificationPropertyNames, String classificationPropertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve metadata elements with the requested classification containing any of the supplied list of property names exactly matching the supplied value.findMetadataElementsByPropertyValue
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String propertyName, String propertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.findMetadataElementsByPropertyValue
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, List<String> propertyNames, String propertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve metadata elements with any of the supplied list of property names set (exactly) to the supplied value.findMetadataElementsWithString
(String userId, String searchString, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve the metadata elements that contain the requested string.findMetadataElementsWithString
(String userId, String searchString, String typeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve the metadata elements of the requested type that contain the requested string.findRelationshipsBetweenMetadataElements
(String userId, String relationshipTypeName, SearchProperties searchProperties, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Return a list of relationships that match the requested conditions.findTypeDefsByCategory
(String userId, OpenMetadataTypeDefCategory category) Returns all the TypeDefs for a specific category.findTypesByExternalId
(String userId, String standard, String organization, String identifier) Return the types that are linked to the elements from the specified standard.getAllTypes
(String userId) Returns the list of different types of metadata organized into two groups.getAttributeTypeDefByGUID
(String userId, String guid) Return the AttributeTypeDef identified by the GUID.getAttributeTypeDefByName
(String userId, String name) Return the AttributeTypeDef identified by the unique name.getConsistentMetadataValues
(String userId, String typeName, String propertyName, String mapName, String preferredValue, int startFrom, int pageSize) Retrieve all the consistent valid values for the requested property.getDeletedElementByUniqueName
(String userId, String uniqueName, String uniquePropertyName) Retrieve the metadata element using its unique name (typically the qualified name) and the DELETED status.protected EffectiveTimeQueryRequestBody
getEffectiveTimeQueryRequestBody
(String externalScopeGUID, String externalScopeName, Date effectiveTime) Return the asset manager identifiers packaged in an appropriate request body.getElementsForExternalIdentifier
(String userId, String externalScopeGUID, String externalScopeName, String externalIdentifier, int startFrom, int pageSize) Return the list of headers for open metadata elements that are associated with a particular external identifier.int
Get the maximum paging size.getMetadataCorrelationHeaders
(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName) Assemble the correlation headers attached to the supplied element guid.getMetadataElementByGUID
(String userId, String elementGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Retrieve the metadata element using its unique identifier.getMetadataElementByUniqueName
(String userId, String uniqueName, String uniquePropertyName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Retrieve the metadata element using its unique name (typically the qualified name).getMetadataElementFromTemplate
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create a new metadata element in the metadata store using the template identified by the templateGUID.getMetadataElementGUIDByUniqueName
(String userId, String uniqueName, String uniquePropertyName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Retrieve the unique identifier of a metadata element using its unique name (typically the qualified name).getMetadataElementHistory
(String userId, String elementGUID, Date fromTime, Date toTime, boolean oldestFirst, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Return each of the versions of a metadata element.getMetadataElementRelationships
(String userId, String metadataElementAtEnd1GUID, String metadataElementAtEnd2GUID, String relationshipTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve the relationships linking to the supplied elements.getMetadataElementsByClassification
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.getMetadataElementsByClassificationPropertyValue
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, String classificationPropertyName, int classificationPropertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.getMetadataElementsByClassificationPropertyValue
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, String classificationPropertyName, String classificationPropertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.getMetadataElementsByClassificationPropertyValue
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, List<String> classificationPropertyNames, String classificationPropertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve metadata elements with the requested classification containing any of the supplied list of property names exactly matching the supplied value.getMetadataElementsByPropertyValue
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String propertyName, String propertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.getMetadataElementsByPropertyValue
(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, List<String> propertyNames, String propertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.getRelatedMetadataElement
(String userId, String elementGUID, int startingAtEnd, String relationshipTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Retrieve the metadata element connected to the supplied element for a relationship type that only allows one relationship to be attached.getRelatedMetadataElements
(String userId, String elementGUID, int startingAtEnd, String relationshipTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) Retrieve the metadata elements connected to the supplied element.getRelationshipByGUID
(String userId, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Retrieve the relationship using its unique identifier.getSpecification
(String userId, String elementGUID) Retrieve the reference data for this element.getSubTypes
(String userId, String typeName) Returns all the TypeDefs for a specific subtype.getTranslation
(String userId, String elementGUID, String language, String locale) Retrieve the translation for the matching language/locale.getTranslations
(String userId, String elementGUID, int startFrom, int pageSize) Retrieve all translations associated with a metadata element.getTypeDefByGUID
(String userId, String guid) Return the TypeDef identified by the GUID.getTypeDefByName
(String userId, String name) Return the TypeDef identified by the unique name.getValidMetadataMapName
(String userId, String typeName, String propertyName, String preferredValue) Retrieve details of a specific valid name for a map property.getValidMetadataMapValue
(String userId, String typeName, String propertyName, String mapName, String preferredValue) Retrieve details of a specific valid value for a map name.getValidMetadataValue
(String userId, String typeName, String propertyName, String preferredValue) Retrieve details of a specific valid value for a property.getValidMetadataValues
(String userId, String typeName, String propertyName, int startFrom, int pageSize) Retrieve all the valid values for the requested property.getVendorProperties
(String userId, String openMetadataElementGUID, String openMetadataElementTypeName) Return the vendor properties associated with an element.initiateGovernanceActionProcess
(String userId, String processQualifiedName, List<String> requestSourceGUIDs, List<NewActionTarget> actionTargets, Date startTime, Map<String, String> requestParameters, String originatorServiceName, String originatorEngineName) Using the named governance action process as a template, initiate a chain of engine actions.openToDo
(String userId, String qualifiedName, String title, String instructions, String category, int priority, Date dueDate, Map<String, String> additionalProperties, String assignToGUID, String sponsorGUID, String originatorGUID, List<NewActionTarget> actionTargets) Create a "To Do" request for someone to work on.void
reclassifyMetadataElementInStore
(String userId, String metadataElementGUID, String classificationName, boolean replaceProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) Update the properties of a classification that is currently attached to a specific metadata element.void
reclassifyMetadataElementInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, boolean replaceProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) Update the properties of a classification that is currently attached to a specific metadata element.void
removeExternalIdentifier
(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier) Remove an external identifier from an existing open metadata element.void
setConsistentMetadataValues
(String userId, String typeName1, String propertyName1, String mapName1, String preferredValue1, String typeName2, String propertyName2, String mapName2, String preferredValue2) Set up consistent metadata values relationship between the two property values.void
setMaxPageSize
(int maxPageSize) Set the max page size.void
setTranslation
(String userId, String elementGUID, TranslationDetail translationDetail) Create or update the translation for a particular language/locale for a metadata element.void
setUpValidMetadataMapName
(String userId, String typeName, String propertyName, ValidMetadataValue validMetadataValue) Create or update the valid value for a name that can be stored in a particular open metadata property name.void
setUpValidMetadataMapValue
(String userId, String typeName, String propertyName, String mapName, ValidMetadataValue validMetadataValue) Create or update the valid value for a name that can be stored in a particular open metadata property name.void
setUpValidMetadataValue
(String userId, String typeName, String propertyName, ValidMetadataValue validMetadataValue) Create or update the valid value for a particular open metadata property name.void
updateClassificationEffectivityInStore
(String userId, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) Update the effectivity dates of a specific classification attached to a metadata element.void
updateClassificationEffectivityInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) Update the effectivity dates of a specific classification attached to a metadata element.void
updateExternalIdentifier
(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties) Update the description of a specific external identifier.void
updateMetadataElementEffectivityInStore
(String userId, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) Update the status of specific metadata element.void
updateMetadataElementEffectivityInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) Update the status of specific metadata element.void
updateMetadataElementInStore
(String userId, String metadataElementGUID, boolean replaceAllProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) Update the properties of a specific metadata element.void
updateMetadataElementInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, boolean replaceProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) Update the properties of a specific metadata element.void
updateMetadataElementStatusInStore
(String userId, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, ElementStatus newElementStatus, Date effectiveTime) Update the status of specific metadata element.void
updateMetadataElementStatusInStore
(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, ElementStatus newElementStatus, Date effectiveTime) Update the status of specific metadata element.void
updateRelatedElementsEffectivityInStore
(String userId, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) Update the effectivity dates of a specific relationship between metadata elements.void
updateRelatedElementsEffectivityInStore
(String userId, String externalSourceGUID, String externalSourceName, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) Update the effectivity dates of a specific relationship between metadata elements.void
updateRelatedElementsInStore
(String userId, String relationshipGUID, boolean replaceProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) Update the properties associated with a relationship.void
updateRelatedElementsInStore
(String userId, String externalSourceGUID, String externalSourceName, String relationshipGUID, boolean replaceProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) Update the properties associated with a relationship.void
validateExternalIdentifier
(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String elementExternalIdentifier) Check that the supplied external identifier matches the element GUID.boolean
validateMetadataMapName
(String userId, String typeName, String propertyName, String actualValue) Validate whether the name found in an open metadata map property is valid.boolean
validateMetadataMapValue
(String userId, String typeName, String propertyName, String mapName, String actualValue) Validate whether the name found in an open metadata map property is valid.boolean
validateMetadataValue
(String userId, String typeName, String propertyName, String actualValue) Validate whether the value found in an open metadata property is valid.Methods inherited from class org.odpi.openmetadata.frameworks.governanceaction.client.OpenMetadataClient
getServerName, toString
-
Field Details
-
invalidParameterHandler
-
-
Constructor Details
-
OpenMetadataClientBase
public OpenMetadataClientBase(String serviceURLMarker, String serverName, String serverPlatformURLRoot, int maxPageSize) throws InvalidParameterException Create a new client with no authentication embedded in the HTTP request.- Parameters:
serviceURLMarker
- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)serverName
- name of the server to connect toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesmaxPageSize
- maximum value allowed for page size- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
OpenMetadataClientBase
public OpenMetadataClientBase(String serviceURLMarker, String serverName, String serverPlatformURLRoot, String serverUserId, String serverPassword, 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:
serviceURLMarker
- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)serverName
- name of the server to connect toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesserverUserId
- caller's userId embedded in all HTTP requestsserverPassword
- caller's password embedded in all HTTP requestsmaxPageSize
- maximum value allowed for page size- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
OpenMetadataClientBase
public OpenMetadataClientBase(String serviceURLMarker, String serverName, String serverPlatformURLRoot, GAFRESTClient restClient, 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:
serviceURLMarker
- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)serverName
- name of the server to connect toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesrestClient
- pre-initialized REST clientmaxPageSize
- pre-initialized parameter limit- Throws:
InvalidParameterException
- there is a problem with the information about the remote OMAS
-
-
Method Details
-
setMaxPageSize
public void setMaxPageSize(int maxPageSize) Set the max page size.- Parameters:
maxPageSize
- pre-initialized parameter limit
-
getMaxPagingSize
public int getMaxPagingSize()Get the maximum paging size.- Specified by:
getMaxPagingSize
in classOpenMetadataClient
- Returns:
- maxPagingSize new value
-
getAllTypes
public OpenMetadataTypeDefGallery getAllTypes(String userId) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns the list of different types of metadata organized into two groups. The first are the attribute type definitions (AttributeTypeDefs). These provide types for properties in full type definitions. Full type definitions (TypeDefs) describe types for entities, relationships and classifications.- Specified by:
getAllTypes
in interfaceOpenMetadataTypesInterface
- Specified by:
getAllTypes
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.- Returns:
- TypeDefGallery List of different categories of type definitions.
- Throws:
InvalidParameterException
- the userId is nullPropertyServerException
- there is a problem communicating with the metadata repository.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
findTypeDefsByCategory
public List<OpenMetadataTypeDef> findTypeDefsByCategory(String userId, OpenMetadataTypeDefCategory category) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns all the TypeDefs for a specific category.- Specified by:
findTypeDefsByCategory
in interfaceOpenMetadataTypesInterface
- Specified by:
findTypeDefsByCategory
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.category
- enum value for the category of TypeDef to return.- Returns:
- TypeDefs list.
- Throws:
InvalidParameterException
- the TypeDefCategory is null.PropertyServerException
- there is a problem communicating with the metadata repository.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
findAttributeTypeDefsByCategory
public List<OpenMetadataAttributeTypeDef> findAttributeTypeDefsByCategory(String userId, OpenMetadataAttributeTypeDefCategory category) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns all the AttributeTypeDefs for a specific category.- Specified by:
findAttributeTypeDefsByCategory
in interfaceOpenMetadataTypesInterface
- Specified by:
findAttributeTypeDefsByCategory
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.category
- enum value for the category of an AttributeTypeDef to return.- Returns:
- AttributeTypeDefs list.
- Throws:
InvalidParameterException
- the TypeDefCategory is null.PropertyServerException
- there is a problem communicating with the metadata repository.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
findTypesByExternalId
public List<OpenMetadataTypeDef> findTypesByExternalId(String userId, String standard, String organization, String identifier) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the types that are linked to the elements from the specified standard.- Specified by:
findTypesByExternalId
in interfaceOpenMetadataTypesInterface
- Specified by:
findTypesByExternalId
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.standard
- name of the standard null means any.organization
- name of the organization null means any.identifier
- identifier of the element in the standard null means any.- Returns:
- TypeDefs list each entry in the list contains a TypeDef. This is a structure describing the TypeDef's category and properties.
- Throws:
InvalidParameterException
- all attributes of the external id are null.PropertyServerException
- there is a problem communicating with the metadata repository.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getSubTypes
public List<OpenMetadataTypeDef> getSubTypes(String userId, String typeName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns all the TypeDefs for a specific subtype. If a null result is returned it means the type has no subtypes. *- Specified by:
getSubTypes
in interfaceOpenMetadataTypesInterface
- Specified by:
getSubTypes
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.typeName
- name of the standard null means any.- Returns:
- TypeDefs list each entry in the list contains a TypeDef. This is a structure describing the TypeDef's category and properties. If null is returned as the TypeDef list it means the type has no known subtypes
- Throws:
InvalidParameterException
- all attributes of the external id are null.PropertyServerException
- there is a problem communicating with the metadata repository.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getTypeDefByGUID
public OpenMetadataTypeDef getTypeDefByGUID(String userId, String guid) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the TypeDef identified by the GUID.- Specified by:
getTypeDefByGUID
in interfaceOpenMetadataTypesInterface
- Specified by:
getTypeDefByGUID
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique id of the TypeDef- Returns:
- TypeDef structure describing its category and properties.
- Throws:
InvalidParameterException
- the guid is null.PropertyServerException
- there is a problem communicating with the metadata repository where the metadata collection is stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getAttributeTypeDefByGUID
public OpenMetadataAttributeTypeDef getAttributeTypeDefByGUID(String userId, String guid) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the AttributeTypeDef identified by the GUID.- Specified by:
getAttributeTypeDefByGUID
in interfaceOpenMetadataTypesInterface
- Specified by:
getAttributeTypeDefByGUID
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique id of the TypeDef- Returns:
- TypeDef structure describing its category and properties.
- Throws:
InvalidParameterException
- the guid is null.PropertyServerException
- there is a problem communicating with the metadata repository where the metadata collection is stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getTypeDefByName
public OpenMetadataTypeDef getTypeDefByName(String userId, String name) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the TypeDef identified by the unique name.- Specified by:
getTypeDefByName
in interfaceOpenMetadataTypesInterface
- Specified by:
getTypeDefByName
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.name
- String name of the TypeDef.- Returns:
- TypeDef structure describing its category and properties.
- Throws:
InvalidParameterException
- the name is null.PropertyServerException
- there is a problem communicating with the metadata repository where the metadata collection is stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getAttributeTypeDefByName
public OpenMetadataAttributeTypeDef getAttributeTypeDefByName(String userId, String name) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the AttributeTypeDef identified by the unique name.- Specified by:
getAttributeTypeDefByName
in interfaceOpenMetadataTypesInterface
- Specified by:
getAttributeTypeDefByName
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.name
- String name of the TypeDef.- Returns:
- TypeDef structure describing its category and properties.
- Throws:
InvalidParameterException
- the name is null.PropertyServerException
- there is a problem communicating with the metadata repository where the metadata collection is stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getMetadataElementByGUID
public OpenMetadataElement getMetadataElementByGUID(String userId, String elementGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element using its unique identifier.- Specified by:
getMetadataElementByGUID
in interfaceMetadataElementInterface
- Specified by:
getMetadataElementByGUID
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdelementGUID
- unique identifier for the metadata elementforLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.- Returns:
- metadata element properties
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementByUniqueName
public OpenMetadataElement getMetadataElementByUniqueName(String userId, String uniqueName, String uniquePropertyName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element using its unique name (typically the qualified name).- Specified by:
getMetadataElementByUniqueName
in interfaceMetadataElementInterface
- Specified by:
getMetadataElementByUniqueName
in classOpenMetadataClient
- Parameters:
userId
- caller's userIduniqueName
- unique name for the metadata elementuniquePropertyName
- name of property name to test in the open metadata element - if null "qualifiedName" is usedforLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.- Returns:
- metadata element properties or null if not found
- Throws:
InvalidParameterException
- the unique identifier is null.UserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getDeletedElementByUniqueName
public OpenMetadataElement getDeletedElementByUniqueName(String userId, String uniqueName, String uniquePropertyName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element using its unique name (typically the qualified name) and the DELETED status. This method assumes all effective dates, and forLineage and forDuplicateProcessing are false, to cast the widest net.- Specified by:
getDeletedElementByUniqueName
in interfaceMetadataElementInterface
- Specified by:
getDeletedElementByUniqueName
in classOpenMetadataClient
- Parameters:
userId
- caller's userIduniqueName
- unique name for the metadata elementuniquePropertyName
- name of property name to test in the open metadata element - if null "qualifiedName" is used- Returns:
- metadata element properties or null if not found
- Throws:
InvalidParameterException
- the unique identifier is null.UserNotAuthorizedException
- the governance action service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementGUIDByUniqueName
public String getMetadataElementGUIDByUniqueName(String userId, String uniqueName, String uniquePropertyName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the unique identifier of a metadata element using its unique name (typically the qualified name).- Specified by:
getMetadataElementGUIDByUniqueName
in interfaceMetadataElementInterface
- Specified by:
getMetadataElementGUIDByUniqueName
in classOpenMetadataClient
- Parameters:
userId
- caller's userIduniqueName
- unique name for the metadata elementuniquePropertyName
- name of property name to test in the open metadata element - if null "qualifiedName" is usedforLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.- Returns:
- metadata element unique identifier (guid)
- Throws:
InvalidParameterException
- the unique name is null or not known.UserNotAuthorizedException
- the caller's userId is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElementsWithString
public List<OpenMetadataElement> findMetadataElementsWithString(String userId, String searchString, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata elements that contain the requested string.- Specified by:
findMetadataElementsWithString
in interfaceMetadataElementInterface
- Specified by:
findMetadataElementsWithString
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdsearchString
- name to retrieveforLineage
- the retrieved elements are for lineage processing so include archived elementsforDuplicateProcessing
- the retrieved elements are 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.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of matching metadata elements (or null if no elements match the name)
- Throws:
InvalidParameterException
- the qualified name is nullUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElementsWithString
public List<OpenMetadataElement> findMetadataElementsWithString(String userId, String searchString, String typeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata elements of the requested type that contain the requested string.- Specified by:
findMetadataElementsWithString
in interfaceMetadataElementInterface
- Specified by:
findMetadataElementsWithString
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdsearchString
- name to retrievetypeName
- name of the type to limit the results to (maybe null to mean all types)forLineage
- the retrieved elements are for lineage processing so include archived elementsforDuplicateProcessing
- the retrieved elements are 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.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of matching metadata elements (or null if no elements match the name)
- Throws:
InvalidParameterException
- the qualified name is nullUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getRelatedMetadataElements
public List<RelatedMetadataElement> getRelatedMetadataElements(String userId, String elementGUID, int startingAtEnd, String relationshipTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata elements connected to the supplied element.- Specified by:
getRelatedMetadataElements
in interfaceMetadataElementInterface
- Specified by:
getRelatedMetadataElements
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdelementGUID
- unique identifier for the starting metadata elementstartingAtEnd
- indicates which end to retrieve from (0 is "either end"; 1 is end1; 2 is end 2)relationshipTypeName
- type name of relationships to follow (or null for all)forLineage
- the retrieved element is for lineage processing so include archived elementsforDuplicateProcessing
- the retrieved elements are 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.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of related elements
- Throws:
InvalidParameterException
- the unique identifier is null or not known; the relationship type is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getRelatedMetadataElement
public RelatedMetadataElement getRelatedMetadataElement(String userId, String elementGUID, int startingAtEnd, String relationshipTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element connected to the supplied element for a relationship type that only allows one relationship to be attached.- Specified by:
getRelatedMetadataElement
in interfaceMetadataElementInterface
- Specified by:
getRelatedMetadataElement
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdelementGUID
- unique identifier for the starting metadata elementstartingAtEnd
- indicates which end to retrieve from (0 is "either end"; 1 is end1; 2 is end 2)relationshipTypeName
- type name of relationships to follow (or null for all)forLineage
- the retrieved element is for lineage processing so include archived elementsforDuplicateProcessing
- the retrieved elements are 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:
- list of related elements
- Throws:
InvalidParameterException
- the unique identifier is null or not known; the relationship type is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store or multiple relationships have been returned
-
getMetadataElementHistory
public List<OpenMetadataElement> getMetadataElementHistory(String userId, String elementGUID, Date fromTime, Date toTime, boolean oldestFirst, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return each of the versions of a metadata element.- Specified by:
getMetadataElementHistory
in interfaceMetadataElementInterface
- Specified by:
getMetadataElementHistory
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdelementGUID
- unique identifier for the metadata elementfromTime
- the earliest point in time from which to retrieve historical versions of the entity (inclusive)toTime
- the latest point in time from which to retrieve historical versions of the entity (exclusive)oldestFirst
- defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operation.PropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementRelationships
public List<OpenMetadataRelationship> getMetadataElementRelationships(String userId, String metadataElementAtEnd1GUID, String metadataElementAtEnd2GUID, String relationshipTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the relationships linking to the supplied elements.- Specified by:
getMetadataElementRelationships
in interfaceMetadataElementInterface
- Specified by:
getMetadataElementRelationships
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementAtEnd1GUID
- unique identifier of the metadata element at end 1 of the relationshipmetadataElementAtEnd2GUID
- unique identifier of the metadata element at end 2 of the relationshiprelationshipTypeName
- type name of relationships to follow (or null for all)forLineage
- the retrieved element is for lineage processing so include archived elementsforDuplicateProcessing
- the retrieved elements are 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.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of related elements
- Throws:
InvalidParameterException
- the unique identifier is null or not known; the relationship type is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementsByClassificationPropertyValue
public List<OpenMetadataElement> getMetadataElementsByClassificationPropertyValue(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, String classificationPropertyName, String classificationPropertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.classificationName
- name of the classificationclassificationPropertyName
- property name to match againstclassificationPropertyValue
- value to match againstlimitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementsByClassificationPropertyValue
public List<OpenMetadataElement> getMetadataElementsByClassificationPropertyValue(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, String classificationPropertyName, int classificationPropertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.classificationName
- name of the classificationclassificationPropertyName
- property name to match againstclassificationPropertyValue
- value to match againstlimitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElementsByClassificationPropertyValue
public List<OpenMetadataElement> findMetadataElementsByClassificationPropertyValue(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, String classificationPropertyName, String classificationPropertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.classificationName
- name of the classificationclassificationPropertyName
- property name to match againstclassificationPropertyValue
- value to match againstlimitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementsByClassificationPropertyValue
public List<OpenMetadataElement> getMetadataElementsByClassificationPropertyValue(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, List<String> classificationPropertyNames, String classificationPropertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve metadata elements with the requested classification containing any of the supplied list of property names exactly matching the supplied value.- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.classificationName
- name of the classificationclassificationPropertyNames
- property name to match againstclassificationPropertyValue
- value to match againstlimitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElementsByClassificationPropertyValue
public List<OpenMetadataElement> findMetadataElementsByClassificationPropertyValue(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, List<String> classificationPropertyNames, String classificationPropertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve metadata elements with the requested classification containing any of the supplied list of property names exactly matching the supplied value.- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.classificationName
- name of the classificationclassificationPropertyNames
- property name to match againstclassificationPropertyValue
- value to match againstlimitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementsByClassification
public List<OpenMetadataElement> getMetadataElementsByClassification(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String classificationName, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.classificationName
- name of the classificationlimitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementsByPropertyValue
public List<OpenMetadataElement> getMetadataElementsByPropertyValue(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String propertyName, String propertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.propertyName
- property name to match againstpropertyValue
- value to match againstlimitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElementsByPropertyValue
public List<OpenMetadataElement> findMetadataElementsByPropertyValue(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, String propertyName, String propertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.propertyName
- property name to match againstpropertyValue
- value to match againstlimitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementsByPropertyValue
public List<OpenMetadataElement> getMetadataElementsByPropertyValue(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, List<String> propertyNames, String propertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve metadata elements with any of the supplied list of property names similar to the supplied value.- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.propertyNames
- list of property names to match againstpropertyValue
- value to match againstlimitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElementsByPropertyValue
public List<OpenMetadataElement> findMetadataElementsByPropertyValue(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, List<String> propertyNames, String propertyValue, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve metadata elements with any of the supplied list of property names set (exactly) to the supplied value.- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.propertyNames
- list of property names to match againstpropertyValue
- value to match againstlimitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElements
public List<OpenMetadataElement> findMetadataElements(String userId, String metadataElementTypeName, List<String> metadataElementSubtypeNames, SearchProperties searchProperties, List<ElementStatus> limitResultsByStatus, Date asOfTime, SearchClassifications matchClassifications, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return a list of metadata elements that match the supplied criteria. The results can be returned over many pages.- Specified by:
findMetadataElements
in interfaceMetadataElementInterface
- Specified by:
findMetadataElements
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeNames
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.searchProperties
- Optional list of entity property conditions to match.limitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (eg ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.matchClassifications
- Optional list of classifications to match.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findRelationshipsBetweenMetadataElements
public List<OpenMetadataRelationship> findRelationshipsBetweenMetadataElements(String userId, String relationshipTypeName, SearchProperties searchProperties, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return a list of relationships that match the requested conditions. The results can be received as a series of pages.- Specified by:
findRelationshipsBetweenMetadataElements
in interfaceMetadataElementInterface
- Specified by:
findRelationshipsBetweenMetadataElements
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipTypeName
- relationship's type. Null means all types (but may be slow so not recommended).limitResultsByStatus
- By default, relationships in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (for example ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.searchProperties
- Optional list of relationship property conditions to match.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.forLineage
- 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.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of relationships. Null means no matching relationships.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getRelationshipByGUID
public OpenMetadataRelationship getRelationshipByGUID(String userId, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the relationship using its unique identifier.- Specified by:
getRelationshipByGUID
in interfaceMetadataElementInterface
- Specified by:
getRelationshipByGUID
in classOpenMetadataClient
- Parameters:
relationshipGUID
- unique identifier for the relationshipforLineage
- the retrieved element is 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 the element if it is effective at this time. Null means anytime. Use "new Date()" for now.userId
- caller's userId- Returns:
- relationship properties
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
createMetadataElementInStore
public String createMetadataElementInStore(String userId, String metadataElementTypeName, ElementStatus initialStatus, Date effectiveFrom, Date effectiveTo, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new metadata element in the metadata store. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. This version of the method allows access to advanced features such as multiple states and effectivity dates.- Specified by:
createMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
createMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type name of the new metadata elementinitialStatus
- initial status of the metadata elementeffectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- properties of the new metadata element- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementInStore
public String createMetadataElementInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementTypeName, ElementStatus initialStatus, Date effectiveFrom, Date effectiveTo, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new metadata element in the metadata store. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. This version of the method allows access to advanced features such as multiple states and effectivity dates.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementTypeName
- type name of the new metadata elementinitialStatus
- initial status of the metadata elementeffectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- properties of the new metadata element- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementInStore
public String createMetadataElementInStore(String userId, String metadataElementTypeName, ElementStatus initialStatus, Map<String, ElementProperties> initialClassifications, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, ElementProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a new metadata element in the metadata store. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. This version of the method allows access to advanced features such as multiple states and effectivity dates.- Specified by:
createMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
createMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type name of the new metadata elementinitialStatus
- initial status of the metadata elementinitialClassifications
- map of classification names to classification properties to include in the entity creation requestanchorGUID
- 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.effectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- properties of the new metadata elementparentGUID
- 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 relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementInStore
public String createMetadataElementInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementTypeName, ElementStatus initialStatus, Map<String, ElementProperties> initialClassifications, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, ElementProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a new metadata element in the metadata store. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. This version of the method allows access to advanced features such as multiple states and effectivity dates.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementTypeName
- type name of the new metadata elementinitialStatus
- initial status of the metadata elementinitialClassifications
- map of classification names to classification properties to include in the entity creation requestanchorGUID
- 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.effectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- properties of the new metadata elementparentGUID
- 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 relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementFromTemplate
public String createMetadataElementFromTemplate(String userId, String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a new metadata element in the metadata store. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. This version of the method allows access to advanced features such as multiple states and effectivity dates.- Specified by:
createMetadataElementFromTemplate
in interfaceMetadataElementInterface
- Specified by:
createMetadataElementFromTemplate
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementTypeName
- type name of the new metadata 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.effectiveFrom
- 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 relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementFromTemplate
public String createMetadataElementFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a new metadata element in the metadata store using the template identified by the templateGUID. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. The template and any similar anchored objects are copied in this process.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementTypeName
- type name of the new metadata 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.effectiveFrom
- 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 relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
getMetadataElementFromTemplate
public String getMetadataElementFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a new metadata element in the metadata store using the template identified by the templateGUID. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. The template and any similar anchored objects are copied in this process.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementTypeName
- type name of the new metadata 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.effectiveFrom
- 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 relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementInStore
public void updateMetadataElementInStore(String userId, String metadataElementGUID, boolean replaceAllProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties of a specific metadata element. The properties must match the type definition associated with the metadata element when it was created. However, it is possible to update a few properties, or replace all them by the value used in the replaceProperties flag.- Specified by:
updateMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
updateMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updatereplaceAllProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateproperties
- new properties for the metadata elementeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- either the unique identifier or the properties are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementInStore
public void updateMetadataElementInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, boolean replaceProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties of a specific metadata element. The properties must match the type definition associated with the metadata element when it was created. However, it is possible to update a few properties, or replace all them by the value used in the replaceProperties flag.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateproperties
- new properties for the metadata elementeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- either the unique identifier or the properties are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementStatusInStore
public void updateMetadataElementStatusInStore(String userId, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, ElementStatus newElementStatus, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the status of specific metadata element. The new status must match a status value that is defined for the element's type assigned when it was created. The effectivity dates control the visibility of the element through specific APIs.- Specified by:
updateMetadataElementStatusInStore
in interfaceMetadataElementInterface
- Specified by:
updateMetadataElementStatusInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicatenewElementStatus
- new status value - or null to leave as iseffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementStatusInStore
public void updateMetadataElementStatusInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, ElementStatus newElementStatus, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the status of specific metadata element. The new status must match a status value that is defined for the element's type assigned when it was created. The effectivity dates control the visibility of the element through specific APIs.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicatenewElementStatus
- new status value - or null to leave as iseffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementEffectivityInStore
public void updateMetadataElementEffectivityInStore(String userId, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the status of specific metadata element. The new status must match a status value that is defined for the element's type assigned when it was created. The effectivity dates control the visibility of the element through specific APIs.- Specified by:
updateMetadataElementEffectivityInStore
in interfaceMetadataElementInterface
- Specified by:
updateMetadataElementEffectivityInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementEffectivityInStore
public void updateMetadataElementEffectivityInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the status of specific metadata element. The new status must match a status value that is defined for the element's type assigned when it was created. The effectivity dates control the visibility of the element through specific APIs.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
deleteMetadataElementInStore
public void deleteMetadataElementInStore(String userId, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a specific metadata element.- Specified by:
deleteMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
deleteMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateforLineage
- 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
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
deleteMetadataElementInStore
public void deleteMetadataElementInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a specific metadata element.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateforLineage
- 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
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
archiveMetadataElementInStore
public void archiveMetadataElementInStore(String userId, String metadataElementGUID, ArchiveProperties archiveProperties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Archive a specific metadata element.- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updatearchiveProperties
- description of the archiving processforLineage
- the request is to support lineage retrieval this means entities with the Memento classification can be returnedforDuplicateProcessing
- the request 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
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
archiveMetadataElementInStore
public void archiveMetadataElementInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, ArchiveProperties archiveProperties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Archive a specific metadata element.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updatearchiveProperties
- description of the archiving processforLineage
- the request is to support lineage retrieval this means entities with the Memento classification can be returnedforDuplicateProcessing
- the request 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
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
classifyMetadataElementInStore
public void classifyMetadataElementInStore(String userId, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, ElementProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Add a new classification to the metadata element. Note that only one classification with the same name can be attached to a metadata element.- Specified by:
classifyMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
classifyMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- name of the classification to add (if the classification is already present then use reclassify)forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveFrom
- the date when this classification is active - null for active noweffectiveTo
- the date when this classification becomes inactive - null for active until deletedproperties
- properties to store in the new classification. These must conform to the valid properties associated with the classification nameeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- the unique identifier or classification name is null or invalid in some way; properties do not match the valid properties associated with the classification's type definitionUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
classifyMetadataElementInStore
public void classifyMetadataElementInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, ElementProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Add a new classification to the metadata element. Note that only one classification with the same name can be attached to a metadata element.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- name of the classification to add (if the classification is already present then use reclassify)forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveFrom
- the date when this classification is active - null for active noweffectiveTo
- the date when this classification becomes inactive - null for active until deletedproperties
- properties to store in the new classification. These must conform to the valid properties associated with the classification nameeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- the unique identifier or classification name is null or invalid in some way; properties do not match the valid properties associated with the classification's type definitionUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
reclassifyMetadataElementInStore
public void reclassifyMetadataElementInStore(String userId, String metadataElementGUID, String classificationName, boolean replaceProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties of a classification that is currently attached to a specific metadata element.- Specified by:
reclassifyMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
reclassifyMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateproperties
- new properties for the classificationeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- the unique identifier or classification name is null or invalid in some way; properties do not match the valid properties associated with the classification's type definitionUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
reclassifyMetadataElementInStore
public void reclassifyMetadataElementInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, boolean replaceProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties of a classification that is currently attached to a specific metadata element.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateproperties
- new properties for the classificationeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- the unique identifier or classification name is null or invalid in some way; properties do not match the valid properties associated with the classification's type definitionUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateClassificationEffectivityInStore
public void updateClassificationEffectivityInStore(String userId, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the effectivity dates of a specific classification attached to a metadata element. The effectivity dates control the visibility of the classification through specific APIs.- Specified by:
updateClassificationEffectivityInStore
in interfaceMetadataElementInterface
- Specified by:
updateClassificationEffectivityInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to updateforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateClassificationEffectivityInStore
public void updateClassificationEffectivityInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the effectivity dates of a specific classification attached to a metadata element. The effectivity dates control the visibility of the classification through specific APIs.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to updateforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
declassifyMetadataElementInStore
public void declassifyMetadataElementInStore(String userId, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the named classification from a specific metadata element.- Specified by:
declassifyMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
declassifyMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to removeforLineage
- 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
- the unique identifier or classification name is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
declassifyMetadataElementInStore
public void declassifyMetadataElementInStore(String userId, String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the named classification from a specific metadata element.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to removeforLineage
- 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
- the unique identifier or classification name is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createRelatedElementsInStore
public String createRelatedElementsInStore(String userId, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, ElementProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a relationship between two metadata elements. It is important to put the right element at each end of the relationship according to the type definition since this will affect how the relationship is interpreted.- Specified by:
createRelatedElementsInStore
in interfaceMetadataElementInterface
- Specified by:
createRelatedElementsInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipTypeName
- name of the type of relationship to create. This will determine the types of metadata elements that can be related and the properties that can be associated with this relationship.metadataElement1GUID
- unique identifier of the metadata element at end 1 of the relationshipmetadataElement2GUID
- unique identifier of the metadata element at end 2 of the relationshipforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- the properties of the relationshipeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Returns:
- unique identifier of the new relationship
- Throws:
InvalidParameterException
- the unique identifier's of the metadata elements are null or invalid in some way; the properties are not valid for this type of relationshipUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createRelatedElementsInStore
public String createRelatedElementsInStore(String userId, String externalSourceGUID, String externalSourceName, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, ElementProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a relationship between two metadata elements. It is important to put the right element at each end of the relationship according to the type definition since this will affect how the relationship is interpreted.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionrelationshipTypeName
- name of the type of relationship to create. This will determine the types of metadata elements that can be related and the properties that can be associated with this relationship.metadataElement1GUID
- unique identifier of the metadata element at end 1 of the relationshipmetadataElement2GUID
- unique identifier of the metadata element at end 2 of the relationshipforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- the properties of the relationshipeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Returns:
- unique identifier of the new relationship
- Throws:
InvalidParameterException
- the unique identifier's of the metadata elements are null or invalid in some way; the properties are not valid for this type of relationshipUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateRelatedElementsInStore
public void updateRelatedElementsInStore(String userId, String relationshipGUID, boolean replaceProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties associated with a relationship.- Specified by:
updateRelatedElementsInStore
in interfaceMetadataElementInterface
- Specified by:
updateRelatedElementsInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipGUID
- unique identifier of the relationship to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateproperties
- new properties for the relationshipeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- the unique identifier of the relationship is null or invalid in some way; the properties are not valid for this type of relationshipUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateRelatedElementsInStore
public void updateRelatedElementsInStore(String userId, String externalSourceGUID, String externalSourceName, String relationshipGUID, boolean replaceProperties, boolean forLineage, boolean forDuplicateProcessing, ElementProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties associated with a relationship.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionrelationshipGUID
- unique identifier of the relationship to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.forLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateproperties
- new properties for the relationshipeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- the unique identifier of the relationship is null or invalid in some way; the properties are not valid for this type of relationshipUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateRelatedElementsEffectivityInStore
public void updateRelatedElementsEffectivityInStore(String userId, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the effectivity dates of a specific relationship between metadata elements. The effectivity dates control the visibility of the classification through specific APIs.- Specified by:
updateRelatedElementsEffectivityInStore
in interfaceMetadataElementInterface
- Specified by:
updateRelatedElementsEffectivityInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipGUID
- unique identifier of the relationship to updateforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateRelatedElementsEffectivityInStore
public void updateRelatedElementsEffectivityInStore(String userId, String externalSourceGUID, String externalSourceName, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveFrom, Date effectiveTo, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the effectivity dates of a specific relationship between metadata elements. The effectivity dates control the visibility of the classification through specific APIs.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionrelationshipGUID
- unique identifier of the relationship to updateforLineage
- the query is to support lineage retrievalforDuplicateProcessing
- the query is for duplicate processing and so must not deduplicateeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedeffectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
deleteRelatedElementsInStore
public void deleteRelatedElementsInStore(String userId, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a relationship between two metadata elements.- Specified by:
deleteRelatedElementsInStore
in interfaceMetadataElementInterface
- Specified by:
deleteRelatedElementsInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipGUID
- unique identifier of the relationship to deleteforLineage
- 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
- the unique identifier of the relationship is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
deleteRelatedElementsInStore
public void deleteRelatedElementsInStore(String userId, String externalSourceGUID, String externalSourceName, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a relationship between two metadata elements.- Parameters:
userId
- caller's userIdexternalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionrelationshipGUID
- unique identifier of the relationship to deleteforLineage
- 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
- the unique identifier of the relationship is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
initiateGovernanceActionProcess
public String initiateGovernanceActionProcess(String userId, String processQualifiedName, List<String> requestSourceGUIDs, List<NewActionTarget> actionTargets, Date startTime, Map<String, String> requestParameters, String originatorServiceName, String originatorEngineName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionUsing the named governance action process as a template, initiate a chain of engine actions.- Specified by:
initiateGovernanceActionProcess
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdprocessQualifiedName
- unique name of the governance action process to userequestSourceGUIDs
- request source elements for the resulting governance serviceactionTargets
- list of action target names to GUIDs for the resulting governance servicestartTime
- future start time or null for "as soon as possible".requestParameters
- request properties to be passed to the first governance serviceoriginatorServiceName
- unique name of the requesting governance service (if initiated by a governance engine).originatorEngineName
- optional unique name of the governance engine (if initiated by a governance engine).- Returns:
- unique identifier of the governance action process instance
- Throws:
InvalidParameterException
- null or unrecognized qualified name of the processUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createIncidentReport
public String createIncidentReport(String userId, String qualifiedName, int domainIdentifier, String background, List<IncidentImpactedElement> impactedResources, List<IncidentDependency> previousIncidents, Map<String, Integer> incidentClassifiers, Map<String, throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionString> additionalProperties, String originatorGUID) Create an incident report to capture the situation detected by the caller. This incident report will be processed by other governance activities.- Specified by:
createIncidentReport
in interfaceStewardshipRequestInterface
- Specified by:
createIncidentReport
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdqualifiedName
- unique identifier to give this new incident reportdomainIdentifier
- governance domain associated with this action (0=ALL)background
- description of the situationimpactedResources
- details of the resources impacted by this situationpreviousIncidents
- links to previous incident reports covering this situationincidentClassifiers
- initial classifiers for the incident reportadditionalProperties
- additional arbitrary properties for the incident reportsoriginatorGUID
- the unique identifier of the person or process that created the incident- Returns:
- unique identifier of the resulting incident report
- Throws:
InvalidParameterException
- null or non-unique qualified name for the incident reportUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
openToDo
public String openToDo(String userId, String qualifiedName, String title, String instructions, String category, int priority, Date dueDate, Map<String, String> additionalProperties, String assignToGUID, String sponsorGUID, String originatorGUID, List<NewActionTarget> actionTargets) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a "To Do" request for someone to work on.- Parameters:
userId
- caller's userIdqualifiedName
- unique name for the to do. (Could be the engine name and a guid?)title
- short meaningful phrase for the person receiving the requestinstructions
- further details on what to docategory
- a category of to dos (for example, "data error", "access request")priority
- priority value (based on organization's scale)dueDate
- date/time this needs to be completedadditionalProperties
- additional arbitrary properties for the incident reportsassignToGUID
- unique identifier of the Actor element for the recipientsponsorGUID
- unique identifier of the element that describes the rule, project that this is on behalf oforiginatorGUID
- unique identifier of the source of the to doactionTargets
- the list of elements that should be acted upon- Returns:
- unique identifier of new to do element
- Throws:
InvalidParameterException
- either todoQualifiedName or assignedTo are null or not recognizedUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem connecting to (or inside) the metadata store
-
setTranslation
public void setTranslation(String userId, String elementGUID, TranslationDetail translationDetail) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create or update the translation for a particular language/locale for a metadata element.- Parameters:
userId
- caller's userIdelementGUID
- unique identifier of the element that this translation is related totranslationDetail
- properties of the translation- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
clearTranslation
public void clearTranslation(String userId, String elementGUID, String language, String locale) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the translation for a particular language/locale for a metadata element.- Parameters:
userId
- caller's userIdelementGUID
- unique identifier of the element that this translation is related tolanguage
- language requestedlocale
- optional locale to qualify which translation if there are multiple translations for the language.- Throws:
InvalidParameterException
- the language is null or not known or not unique (add locale)UserNotAuthorizedException
- the service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getTranslation
public TranslationDetail getTranslation(String userId, String elementGUID, String language, String locale) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the translation for the matching language/locale.- Parameters:
userId
- caller's userIdelementGUID
- unique identifier of the element that this translation is related tolanguage
- language requestedlocale
- optional locale to qualify which translation if there are multiple translations for the language.- Returns:
- the properties of the translation or null if there is none
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getTranslations
public List<TranslationDetail> getTranslations(String userId, String elementGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve all translations associated with a metadata element.- Parameters:
userId
- caller's userIdelementGUID
- unique identifier of the element that this translation is related tostartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return- Returns:
- list of translation properties or null if there are none
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
setUpValidMetadataValue
public void setUpValidMetadataValue(String userId, String typeName, String propertyName, ValidMetadataValue validMetadataValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create or update the valid value for a particular open metadata property name. If the typeName is null, this valid value applies to properties of this name from all types. The valid value is stored in the preferredValue property. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesvalidMetadataValue
- preferred value to use in the open metadata types plus additional descriptive values.- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
setUpValidMetadataMapName
public void setUpValidMetadataMapName(String userId, String typeName, String propertyName, ValidMetadataValue validMetadataValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create or update the valid value for a name that can be stored in a particular open metadata property name. This property is of type map from name to string. The valid value is stored in the preferredValue property of validMetadataValue. If the typeName is null, this valid value applies to properties of this name from any open metadata type. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesvalidMetadataValue
- preferred value to use in the open metadata types plus additional descriptive values.- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
setUpValidMetadataMapValue
public void setUpValidMetadataMapValue(String userId, String typeName, String propertyName, String mapName, ValidMetadataValue validMetadataValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create or update the valid value for a name that can be stored in a particular open metadata property name. This property is of type map from name to string. The valid value is stored in the preferredValue property of validMetadataValue. If the typeName is null, this valid value applies to properties of this name from any open metadata type. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesmapName
- name in the map that this valid value applies. If null then the value can be used for any name in the map.validMetadataValue
- preferred value to use in the open metadata types plus additional descriptive values.- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
clearValidMetadataValue
public void clearValidMetadataValue(String userId, String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a valid value for a property.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliespreferredValue
- specific valid value to remove- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
clearValidMetadataMapName
public void clearValidMetadataMapName(String userId, String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a valid map name value for a property. The match is done on preferred name.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliespreferredValue
- specific valid value to remove- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
clearValidMetadataMapValue
public void clearValidMetadataMapValue(String userId, String typeName, String propertyName, String mapName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a valid map name value for a property. The match is done on preferred name.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesmapName
- name in the map that this valid value applies. If null then the value can be used for any name in the map.preferredValue
- specific valid value to remove- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
validateMetadataValue
public boolean validateMetadataValue(String userId, String typeName, String propertyName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Validate whether the value found in an open metadata property is valid.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesactualValue
- value stored in the property - if this is null, true is only returned if null is set up as a valid value.- Returns:
- boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value).
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
validateMetadataMapName
public boolean validateMetadataMapName(String userId, String typeName, String propertyName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Validate whether the name found in an open metadata map property is valid.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesactualValue
- value stored in the property - if this is null, true is only returned if null is set up as a valid value.- Returns:
- boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value).
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
validateMetadataMapValue
public boolean validateMetadataMapValue(String userId, String typeName, String propertyName, String mapName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Validate whether the name found in an open metadata map property is valid.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesmapName
- name in the map that this valid value applies. If null then the value can be used for any name in the map.actualValue
- value stored in the property - if this is null, true is only returned if null is set up as a valid value.- Returns:
- boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value).
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getValidMetadataValue
public ValidMetadataValue getValidMetadataValue(String userId, String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve details of a specific valid value for a property.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliespreferredValue
- valid value to match- Returns:
- specific valid value definition or none if there is no definition stored
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getValidMetadataMapName
public ValidMetadataValue getValidMetadataMapName(String userId, String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve details of a specific valid name for a map property.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliespreferredValue
- valid value to match- Returns:
- specific valid value definition or none if there is no definition stored
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getValidMetadataMapValue
public ValidMetadataValue getValidMetadataMapValue(String userId, String typeName, String propertyName, String mapName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve details of a specific valid value for a map name.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesmapName
- name in the map that this valid value applies. If null then the value can be used for any name in the map.preferredValue
- valid value to match- Returns:
- specific valid value definition or none if there is no definition stored
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getValidMetadataValues
public List<ValidMetadataValueDetail> getValidMetadataValues(String userId, String typeName, String propertyName, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve all the valid values for the requested property.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesstartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of valid values defined for the property
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getConsistentMetadataValues
public List<ValidMetadataValue> getConsistentMetadataValues(String userId, String typeName, String propertyName, String mapName, String preferredValue, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve all the consistent valid values for the requested property.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesmapName
- optional name of map key that this valid value appliespreferredValue
- the value to match againststartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of valid values defined for the property
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
setConsistentMetadataValues
public void setConsistentMetadataValues(String userId, String typeName1, String propertyName1, String mapName1, String preferredValue1, String typeName2, String propertyName2, String mapName2, String preferredValue2) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Set up consistent metadata values relationship between the two property values.- Parameters:
userId
- caller's userIdtypeName1
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName1
- name of property that this valid value appliesmapName1
- optional name of map key that this valid value appliespreferredValue1
- the value to match againsttypeName2
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName2
- name of property that this valid value appliesmapName2
- optional name of map key that this valid value appliespreferredValue2
- the value to match against- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getSpecification
public Map<String,List<Map<String, getSpecificationString>>> (String userId, String elementGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Retrieve the reference data for this element.- Parameters:
userId
- calling userelementGUID
- element to query- Returns:
- map of reference data
- Throws:
InvalidParameterException
- bad parameterPropertyServerException
- repository errorUserNotAuthorizedException
- authorization issue
-
addExternalIdentifier
public void addExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Add a new external identifier to an existing open metadata element.- Specified by:
addExternalIdentifier
in interfaceExternalIdentifiersInterface
- Specified by:
addExternalIdentifier
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- unique identifier (GUID) of the element in the open metadata ecosystemopenMetadataElementTypeName
- type name for the open metadata elementexternalIdentifierProperties
- optional properties used to define an external identifier- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
updateExternalIdentifier
public void updateExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the description of a specific external identifier.- Specified by:
updateExternalIdentifier
in interfaceExternalIdentifiersInterface
- Specified by:
updateExternalIdentifier
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- unique identifier (GUID) of the element in the open metadata ecosystemopenMetadataElementTypeName
- type name for the open metadata elementexternalIdentifierProperties
- optional properties used to define an external identifier- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
removeExternalIdentifier
public void removeExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove an external identifier from an existing open metadata element. The open metadata element is not affected.- Specified by:
removeExternalIdentifier
in interfaceExternalIdentifiersInterface
- Specified by:
removeExternalIdentifier
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- unique identifier (GUID) of the element in the open metadata ecosystemopenMetadataElementTypeName
- type name for the open metadata elementexternalIdentifier
- unique identifier of this element in the third party asset manager- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
confirmSynchronization
public void confirmSynchronization(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Confirm that the values of a particular metadata element have been synchronized. This is important from an audit point of view, and to allow bidirectional updates of metadata using optimistic locking.- Specified by:
confirmSynchronization
in interfaceExternalIdentifiersInterface
- Specified by:
confirmSynchronization
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- unique identifier (GUID) of this element in open metadataopenMetadataElementTypeName
- type name for the open metadata elementexternalIdentifier
- unique identifier of this element in the external asset manager- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
getElementsForExternalIdentifier
public List<ElementHeader> getElementsForExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String externalIdentifier, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return the list of headers for open metadata elements that are associated with a particular external identifier.- Specified by:
getElementsForExternalIdentifier
in interfaceExternalIdentifiersInterface
- Specified by:
getElementsForExternalIdentifier
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the callerexternalIdentifier
- unique identifier of this element in the external asset managerstartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of element headers
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
validateExternalIdentifier
public void validateExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String elementExternalIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Check that the supplied external identifier matches the element GUID.- Specified by:
validateExternalIdentifier
in interfaceExternalIdentifiersInterface
- Specified by:
validateExternalIdentifier
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- element guid used for the lookupopenMetadataElementTypeName
- type name for the open metadata elementelementExternalIdentifier
- external identifier value- Throws:
InvalidParameterException
- one of the parameters is invalid.UserNotAuthorizedException
- the user is not authorized to make this request.PropertyServerException
- the repository is not available or not working properly.
-
getMetadataCorrelationHeaders
public List<MetadataCorrelationHeader> getMetadataCorrelationHeaders(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Assemble the correlation headers attached to the supplied element guid. This includes the external identifiers plus information on the scope and usage.- Specified by:
getMetadataCorrelationHeaders
in interfaceExternalIdentifiersInterface
- Specified by:
getMetadataCorrelationHeaders
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- unique identifier (GUID) of this element in open metadataopenMetadataElementTypeName
- type name for the open metadata element- Returns:
- list of correlation headers (note if asset manager identifiers are present, only the matching correlation header is returned)
- Throws:
InvalidParameterException
- one of the parameters is invalid.UserNotAuthorizedException
- the user is not authorized to make this request.PropertyServerException
- the repository is not available or not working properly.
-
getVendorProperties
public Map<String,Map<String, getVendorPropertiesString>> (String userId, String openMetadataElementGUID, String openMetadataElementTypeName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return the vendor properties associated with an element. The inner map holds the specific properties for each vendor. The outer maps the vendor identifier to the properties.- Specified by:
getVendorProperties
in interfaceExternalIdentifiersInterface
- Specified by:
getVendorProperties
in classOpenMetadataClient
- Parameters:
userId
- calling useropenMetadataElementGUID
- unique identifier (GUID) of this element in open metadataopenMetadataElementTypeName
- type name for the open metadata element- Returns:
- map of vendor properties
- Throws:
InvalidParameterException
- one of the parameters is invalid.UserNotAuthorizedException
- the user is not authorized to make this request.PropertyServerException
- the repository is not available or not working properly.
-
getEffectiveTimeQueryRequestBody
protected EffectiveTimeQueryRequestBody getEffectiveTimeQueryRequestBody(String externalScopeGUID, String externalScopeName, Date effectiveTime) Return the asset manager identifiers packaged in an appropriate request body.- Parameters:
externalScopeGUID
- unique identifier for the asset managerexternalScopeName
- unique name for the asset managereffectiveTime
- the time that the retrieved elements must be effective for- Returns:
- request body
-