java.lang.Object
org.odpi.openmetadata.userinterface.uichassis.springboot.api.lineage.OpenLineageController

@RestController @RequestMapping("/api/lineage") public class OpenLineageController extends Object
This controller serves all requests for retrieving lineage details, both vertical and horizontal
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    elementHierarchy(org.odpi.openmetadata.governanceservers.openlineage.requests.ElementHierarchyRequest elementHierarchyRequest)
    Returns a subraph representing the hierarchy of a certain node, based on the request
    endToEndLineage(String guid, boolean includeProcesses)
     
    org.odpi.openmetadata.governanceservers.openlineage.model.LineageVertex
     
    getNodes(String type, String searchValue, int limit)
    Gets nodes names of certain type with display name containing a certain value.
    Gets available entities types from lineage repository.
    void
    initBinder(org.springframework.web.bind.WebDataBinder webdataBinder)
    This method is registering a custom converter for View and Scope enums in order to be able to use in url the text of the enum and not the actual name
    List<org.odpi.openmetadata.governanceservers.openlineage.model.LineageVertex>
    search(org.odpi.openmetadata.governanceservers.openlineage.requests.LineageSearchRequest searchRequest)
     
    ultimateDestination(String guid, boolean includeProcesses)
     
    ultimateSourceGraph(String guid, boolean includeProcesses)
     
    verticalLineage(String guid, boolean includeProcesses)
     

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • OpenLineageController

      public OpenLineageController()
  • Method Details

    • ultimateSourceGraph

      @GetMapping("/entities/{guid}/ultimate-source") public Graph ultimateSourceGraph(@PathVariable("guid") String guid, @RequestParam boolean includeProcesses) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException, org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException
      Parameters:
      guid - unique identifier of the asset
      includeProcesses - if true Process nodes will be included
      Returns:
      graph of nodes and edges describing the ultimate sources of the asset
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - from the underlying service
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - from the underlying service
      org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException - from the underlying service
    • endToEndLineage

      @GetMapping({"/entities/{guid}/end-to-end","/entities/{guid}/end2end"}) @ResponseBody public Graph endToEndLineage(@PathVariable("guid") String guid, @RequestParam boolean includeProcesses) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException, org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException
      Parameters:
      guid - unique identifier of the asset
      includeProcesses - if true Process nodes will be included
      Returns:
      graph of nodes and edges describing the end to end flow
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - from the underlying service
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - from the underlying service
      org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException - from the underlying service TODO: Remove api request mapping /entities/{guid}/end2end in major release (i.e. v4.x.x)
    • ultimateDestination

      @GetMapping("/entities/{guid}/ultimate-destination") public Graph ultimateDestination(@PathVariable("guid") String guid, @RequestParam boolean includeProcesses) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException, org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException
      Parameters:
      guid - unique identifier of the asset
      includeProcesses - if true Process nodes will be included
      Returns:
      graph of nodes and edges describing the ultimate destination of the asset
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - from the underlying service
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - from the underlying service
      org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException - from the underlying service
    • verticalLineage

      @GetMapping("/entities/{guid}/vertical-lineage") public Graph verticalLineage(@PathVariable("guid") String guid, @RequestParam boolean includeProcesses) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException, org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException
      Parameters:
      guid - unique identifier of the glossary term
      includeProcesses - if true Process nodes will be included
      Returns:
      graph of nodes and edges describing the assets linked to the glossary term
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - from the underlying service
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - from the underlying service
      org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException - from the underlying service
    • getEntityDetails

      @GetMapping("entities/{guid}/details") public org.odpi.openmetadata.governanceservers.openlineage.model.LineageVertex getEntityDetails(@PathVariable("guid") String guid) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException, org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException
      Parameters:
      guid - of the Entity to be retrieved
      Returns:
      the entity details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - from the underlying service
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - from the underlying service
      org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException - from the underlying service
    • getTypes

      @GetMapping("types") public List<String> getTypes()
      Gets available entities types from lineage repository.
      Returns:
      the available entities types
    • getNodes

      @GetMapping("nodes") public List<String> getNodes(@RequestParam("type") String type, @RequestParam("name") String searchValue, @RequestParam("limit") int limit)
      Gets nodes names of certain type with display name containing a certain value.
      Parameters:
      type - the type of the nodes name to search for
      searchValue - the string to be contained in the qualified name of the node - case insensitive
      limit - the maximum number of node names to retrieve
      Returns:
      the list of node names
    • search

      @PostMapping("entities/search") public List<org.odpi.openmetadata.governanceservers.openlineage.model.LineageVertex> search(@RequestBody org.odpi.openmetadata.governanceservers.openlineage.requests.LineageSearchRequest searchRequest) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException, org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException, org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException
      Parameters:
      searchRequest - filtering details for the search
      Returns:
      the entity details
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - from the underlying service
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - from the underlying service
      org.odpi.openmetadata.governanceservers.openlineage.ffdc.OpenLineageException - from the underlying service
    • elementHierarchy

      @PostMapping("elements/hierarchy") public Graph elementHierarchy(@RequestBody org.odpi.openmetadata.governanceservers.openlineage.requests.ElementHierarchyRequest elementHierarchyRequest)
      Returns a subraph representing the hierarchy of a certain node, based on the request
      Parameters:
      elementHierarchyRequest - contains the guid of the queried node and the hierarchyType of the display name of the nodes
      Returns:
      a subgraph containing all relevant paths,
    • initBinder

      @InitBinder public void initBinder(org.springframework.web.bind.WebDataBinder webdataBinder)
      This method is registering a custom converter for View and Scope enums in order to be able to use in url the text of the enum and not the actual name
      Parameters:
      webdataBinder - DataBinder for data binding from web request parameters to JavaBean objects