java.lang.Object
org.odpi.openmetadata.viewservices.metadataexplorer.server.spring.MetadataExplorerResource

@RestController @RequestMapping("/servers/{serverName}/api/open-metadata/{urlMarker}") public class MetadataExplorerResource extends Object
The MetadataExplorerResource provides part of the server-side implementation of the Metadata Explorer OMVS. =
  • Constructor Details

    • MetadataExplorerResource

      public MetadataExplorerResource()
      Default constructor
  • Method Details

    • getMetadataElementByGUID

      @PostMapping(path="/metadata-elements/{elementGUID}") public OpenMetadataElementResponse getMetadataElementByGUID(@PathVariable String serverName, @PathVariable String elementGUID, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestBody(required=false) AnyTimeRequestBody requestBody)
      Retrieve the metadata element using its unique identifier.
      Parameters:
      serverName - name of server instance to route request to
      elementGUID - unique identifier for the metadata element
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      requestBody - only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      Returns:
      metadata element properties or InvalidParameterException the unique identifier is null or not known. UserNotAuthorizedException the governance action service is not able to access the element PropertyServerException there is a problem accessing the metadata store
    • getMetadataElementByUniqueName

      @PostMapping(path="/metadata-elements/by-unique-name") public OpenMetadataElementResponse getMetadataElementByUniqueName(@PathVariable String serverName, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestBody NameRequestBody requestBody)
      Retrieve the metadata element using its unique name (typically the qualified name).
      Parameters:
      serverName - name of server instance to route request to
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      requestBody - unique name for the metadata element
      Returns:
      metadata element properties or InvalidParameterException the unique identifier is null or not known. UserNotAuthorizedException the governance action service is not able to access the element PropertyServerException there is a problem accessing the metadata store
    • getMetadataElementGUIDByUniqueName

      @PostMapping(path="/metadata-elements/guid-by-unique-name") public GUIDResponse getMetadataElementGUIDByUniqueName(@PathVariable String serverName, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestBody NameRequestBody requestBody)
      Retrieve the unique identifier of a metadata element using its unique name (typically the qualified name).
      Parameters:
      serverName - name of server instance to route request to
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      requestBody - unique name for the metadata element
      Returns:
      metadata element unique identifier (guid) or InvalidParameterException the unique identifier is null or not known or UserNotAuthorizedException the governance action service is not able to access the element or PropertyServerException there is a problem accessing the metadata store
    • getMetadataElementHistory

      @PostMapping(path="/metadata-elements/{elementGUID}/history") public OpenMetadataElementsResponse getMetadataElementHistory(@PathVariable String serverName, @PathVariable String elementGUID, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestParam(required=false,defaultValue="false") boolean oldestFirst, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestBody(required=false) HistoryRequestBody requestBody)
      Retrieve all the versions of an element.
      Parameters:
      serverName - name of the server to route the request to
      elementGUID - unique identifier of object to retrieve
      urlMarker - view service URL marker
      startFrom - the starting element number of the historical versions to return. This is used when retrieving versions beyond the first page of results. Zero means start from the first element.
      pageSize - the maximum number of result versions that can be returned on this request. Zero means unrestricted return results size.
      oldestFirst - defining how the results should be ordered.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      requestBody - the time window required
      Returns:
      list of beans or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem removing the properties from the repositories. UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • findMetadataElementsWithString

      @PostMapping(path="/metadata-elements/by-search-string") public OpenMetadataElementsResponse findMetadataElementsWithString(@PathVariable String serverName, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody SearchStringRequestBody requestBody)
      Retrieve the metadata elements that contain the requested string.
      Parameters:
      serverName - name of server instance to route request to
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - searchString to retrieve
      Returns:
      list of matching metadata elements (or null if no elements match the name) or InvalidParameterException the qualified name is null UserNotAuthorizedException the governance action service is not able to access the element PropertyServerException there is a problem accessing the metadata store
    • getAllRelatedMetadataElements

      @PostMapping(path="/related-elements/{elementGUID}/any-type") public RelatedMetadataElementListResponse getAllRelatedMetadataElements(@PathVariable String serverName, @PathVariable String elementGUID, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestParam(required=false,defaultValue="0") int startingAtEnd, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody(required=false) ResultsRequestBody requestBody)
      Retrieve the metadata elements connected to the supplied element.
      Parameters:
      serverName - name of server instance to route request to
      elementGUID - unique identifier for the starting metadata element
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      requestBody - only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      startingAtEnd - indicates which end to retrieve from (0 is "either end"; 1 is end1; 2 is end 2)
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of related elements InvalidParameterException the unique identifier is null or not known; the relationship type is invalid UserNotAuthorizedException the governance action service is not able to access the elements PropertyServerException there is a problem accessing the metadata store
    • getRelatedMetadataElements

      @PostMapping(path="/related-elements/{elementGUID}/type/{relationshipTypeName}") public RelatedMetadataElementListResponse getRelatedMetadataElements(@PathVariable String serverName, @PathVariable String elementGUID, @PathVariable String relationshipTypeName, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestParam(required=false,defaultValue="0") int startingAtEnd, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody(required=false) ResultsRequestBody requestBody)
      Retrieve the metadata elements connected to the supplied element via a specific relationship type.
      Parameters:
      serverName - name of server instance to route request to
      elementGUID - unique identifier for the starting metadata element
      relationshipTypeName - type name of relationships to follow (or null for all)
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      requestBody - only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      startingAtEnd - indicates which end to retrieve from (0 is "either end"; 1 is end1; 2 is end 2)
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of related elements InvalidParameterException the unique identifier is null or not known; the relationship type is invalid UserNotAuthorizedException the governance action service is not able to access the elements PropertyServerException there is a problem accessing the metadata store
    • getAllMetadataElementRelationships

      @PostMapping(path="/metadata-elements/{metadataElementAtEnd1GUID}/linked-by-any-type/to-elements/{metadataElementAtEnd2GUID}") public OpenMetadataRelationshipListResponse getAllMetadataElementRelationships(@PathVariable String serverName, @PathVariable String metadataElementAtEnd1GUID, @PathVariable String metadataElementAtEnd2GUID, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody(required=false) ResultsRequestBody requestBody)
      Retrieve the relationships linking the supplied elements.
      Parameters:
      serverName - name of server instance to route request to
      metadataElementAtEnd1GUID - unique identifier of the metadata element at end 1 of the relationship
      metadataElementAtEnd2GUID - unique identifier of the metadata element at end 2 of the relationship
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      requestBody - only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of related elements InvalidParameterException the unique identifier is null or not known; the relationship type is invalid UserNotAuthorizedException the governance action service is not able to access the elements PropertyServerException there is a problem accessing the metadata store
    • getAnchoredElementsGraph

      @PostMapping(path="/metadata-elements/{elementGUID}/with-anchored-elements") public OpenMetadataGraphResponse getAnchoredElementsGraph(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String elementGUID, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody(required=false) AnyTimeRequestBody requestBody)
      Return all the elements that are anchored to an element plus relationships between these elements and to other elements.
      Parameters:
      serverName - name of the server instances for this request
      urlMarker - the identifier of the view service (for example runtime-manager for the Runtime Manager OMVS)
      elementGUID - unique identifier for the element
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved elements are for duplicate processing so do not combine results from known duplicates.
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      requestBody - effective time and asOfTime
      Returns:
      graph of elements or InvalidParameterException - one of the parameters is null or invalid or PropertyServerException - there is a problem retrieving the connected asset properties from the property server or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getMetadataElementRelationships

      @PostMapping(path="/metadata-elements/{metadataElementAtEnd1GUID}/linked-by-type/{relationshipTypeName}/to-elements/{metadataElementAtEnd2GUID}") public OpenMetadataRelationshipListResponse getMetadataElementRelationships(@PathVariable String serverName, @PathVariable String metadataElementAtEnd1GUID, @PathVariable String relationshipTypeName, @PathVariable String metadataElementAtEnd2GUID, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody(required=false) ResultsRequestBody requestBody)
      Retrieve the relationships linking the supplied elements via a specific type of relationship.
      Parameters:
      serverName - name of server instance to route request to
      metadataElementAtEnd1GUID - unique identifier of the metadata element at end 1 of the relationship
      metadataElementAtEnd2GUID - unique identifier of the metadata element at end 2 of the relationship
      relationshipTypeName - type name of relationships to follow (or null for all)
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      requestBody - only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of related elements InvalidParameterException the unique identifier is null or not known; the relationship type is invalid UserNotAuthorizedException the governance action service is not able to access the elements PropertyServerException there is a problem accessing the metadata store
    • findMetadataElements

      @PostMapping(path="/metadata-elements/by-search-conditions") public OpenMetadataElementsResponse findMetadataElements(@PathVariable String serverName, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody(required=false) FindRequestBody requestBody)
      Return a list of metadata elements that match the supplied criteria. The results can be returned over many pages.
      Parameters:
      serverName - name of server instance to route request to
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - properties defining the search criteria
      Returns:
      a list of elements matching the supplied criteria; null means no matching elements in the metadata store. InvalidParameterException one of the search parameters are is invalid UserNotAuthorizedException the governance action service is not able to access the elements PropertyServerException there is a problem accessing the metadata store
    • findRelationshipsBetweenMetadataElements

      @PostMapping(path="/relationships/by-search-conditions") public OpenMetadataRelationshipListResponse findRelationshipsBetweenMetadataElements(@PathVariable String serverName, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestBody FindRelationshipRequestBody requestBody)
      Return a list of relationships that match the requested conditions. The results can be received as a series of pages.
      Parameters:
      serverName - name of server instance to route request to
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - properties defining the search criteria
      Returns:
      a list of relationships - null means no matching relationships - or InvalidParameterException one of the search parameters are is invalid UserNotAuthorizedException the governance action service is not able to access the elements PropertyServerException there is a problem accessing the metadata store
    • getRelationshipByGUID

      @PostMapping(path="/relationships/by-guid/{relationshipGUID}") public OpenMetadataRelationshipResponse getRelationshipByGUID(@PathVariable String serverName, @PathVariable String relationshipGUID, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestBody(required=false) AnyTimeRequestBody requestBody)
      Retrieve the relationship using its unique identifier.
      Parameters:
      serverName - name of server instance to route request to
      relationshipGUID - unique identifier for the metadata element
      urlMarker - view service URL marker
      forLineage - the retrieved element is for lineage processing so include archived elements
      forDuplicateProcessing - the retrieved element is for duplicate processing so do not combine results from known duplicates.
      requestBody - only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.
      Returns:
      metadata element properties or InvalidParameterException the unique identifier is null or not known. UserNotAuthorizedException the governance action service is not able to access the element PropertyServerException there is a problem accessing the metadata store
    • getRelationshipHistory

      @PostMapping(path="/relationships/{relationshipGUID}/history") public OpenMetadataRelationshipListResponse getRelationshipHistory(@PathVariable String serverName, @PathVariable String relationshipGUID, @PathVariable String urlMarker, @RequestParam(required=false,defaultValue="0") int startFrom, @RequestParam(required=false,defaultValue="0") int pageSize, @RequestParam(required=false,defaultValue="false") boolean oldestFirst, @RequestParam(required=false,defaultValue="false") boolean forLineage, @RequestParam(required=false,defaultValue="false") boolean forDuplicateProcessing, @RequestBody(required=false) HistoryRequestBody requestBody)
      Retrieve all the versions of a relationship.
      Parameters:
      serverName - name of the server to route the request to
      relationshipGUID - unique identifier of object to retrieve
      urlMarker - view service URL marker
      startFrom - the starting element number of the historical versions to return. This is used when retrieving versions beyond the first page of results. Zero means start from the first element.
      pageSize - the maximum number of result versions that can be returned on this request. Zero means unrestricted return results size.
      oldestFirst - defining how the results should be ordered.
      forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
      forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
      requestBody - the time window required
      Returns:
      list of beans or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem removing the properties from the repositories. UserNotAuthorizedException the requesting user is not authorized to issue this request.