java.lang.Object
org.odpi.openmetadata.governanceservers.lineagewarehouse.server.spring.LineageWarehouseResource

@RestController @RequestMapping("/servers/{serverName}/open-metadata/lineage-warehouse/users/{userId}") public class LineageWarehouseResource extends Object
The OpenLineageResource provides the server-side interface of the Lineage Warehouse Services governance server.
  • Constructor Details

    • LineageWarehouseResource

      public LineageWarehouseResource()
  • Method Details

    • lineage

      @PostMapping(path="/lineage/entities/{guid}", produces="application/json") public LineageResponse lineage(@PathVariable("serverName") String serverName, @PathVariable("userId") String userId, @PathVariable("guid") String guid, @RequestBody LineageQueryParameters params)
      Returns the graph that the user will initially see when querying lineage. In the future, this method will be extended to condense large paths to prevent cluttering of the users screen. The user will be able to extended the condensed path by querying a different method.
      Parameters:
      userId - calling user.
      serverName - name of the server instance to connect to.
      params - query parameters
      Returns:
      A subgraph containing all relevant paths, in graphSON format.
    • getEntityDetails

      @GetMapping(path="/lineage/entities/{guid}/details", produces="application/json") public LineageVertexResponse getEntityDetails(@PathVariable("serverName") String serverName, @PathVariable("userId") String userId, @PathVariable("guid") String guid)
      Gets details of a specific entity from the lineage repository.
      Parameters:
      serverName - the server name
      userId - the user id
      guid - the guid
      Returns:
      the entity details
    • getTypes

      @GetMapping(path="/lineage/types", produces="application/json") public LineageTypesResponse getTypes(@PathVariable("serverName") String serverName, @PathVariable("userId") String userId)
      Gets available entities types from lineage repository.
      Parameters:
      serverName - the server name
      userId - the user id
      Returns:
      the available entities types from lineage repository
    • getNodes

      @GetMapping(path="/lineage/nodes", produces="application/json") public LineageNodeNamesResponse getNodes(@PathVariable("serverName") String serverName, @PathVariable("userId") String userId, @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:
      serverName - the server name
      userId - the user id
      type - the type of the nodes name to search for
      searchValue - the string to be contained in the display name of the node - case-insensitive
      limit - the maximum number of node names to retrieve
      Returns:
      the node names that match criteria
    • getSearchResults

      @PostMapping(path="lineage/search", produces="application/json") public LineageSearchResponse getSearchResults(@PathVariable("serverName") String serverName, @PathVariable("userId") String userId, @RequestBody LineageSearchRequest lineageSearchRequest)
    • getElementHierarchy

      @PostMapping(path="elements/hierarchy", produces="application/json") public LineageResponse getElementHierarchy(@PathVariable("serverName") String serverName, @PathVariable("userId") String userId, @RequestBody ElementHierarchyRequest elementHierarchyRequest)
      Returns a subgraph representing the hierarchy of a certain node, based on the request
      Parameters:
      userId - calling user.
      serverName - name of the server instance to connect to.
      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, in graphSON format.