Class OpenLineageController
java.lang.Object
org.odpi.openmetadata.userinterface.uichassis.springboot.api.lineage.OpenLineageController
This controller serves all requests for retrieving lineage details, both vertical and horizontal
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionelementHierarchy
(ElementHierarchyRequest elementHierarchyRequest) Returns a subraph representing the hierarchy of a certain node, based on the requestendToEndLineage
(String guid, boolean includeProcesses) getEntityDetails
(String guid) Gets nodes names of certain type with display name containing a certain value.getTypes()
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 namesearch
(LineageSearchRequest searchRequest) ultimateDestination
(String guid, boolean includeProcesses) ultimateSourceGraph
(String guid, boolean includeProcesses) verticalLineage
(String guid, boolean includeProcesses)
-
Constructor Details
-
OpenLineageController
public OpenLineageController()
-
-
Method Details
-
ultimateSourceGraph
@GetMapping("/entities/{guid}/ultimate-source") public Graph ultimateSourceGraph(@PathVariable("guid") String guid, @RequestParam boolean includeProcesses) throws InvalidParameterException, PropertyServerException, LineageWarehouseException - Parameters:
guid
- unique identifier of the assetincludeProcesses
- if true Process nodes will be included- Returns:
- graph of nodes and edges describing the ultimate sources of the asset
- Throws:
InvalidParameterException
- from the underlying servicePropertyServerException
- from the underlying serviceLineageWarehouseException
- 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 InvalidParameterException, PropertyServerException, LineageWarehouseException - Parameters:
guid
- unique identifier of the assetincludeProcesses
- if true Process nodes will be included- Returns:
- graph of nodes and edges describing the end to end flow
- Throws:
InvalidParameterException
- from the underlying servicePropertyServerException
- from the underlying serviceLineageWarehouseException
- 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 InvalidParameterException, PropertyServerException, LineageWarehouseException - Parameters:
guid
- unique identifier of the assetincludeProcesses
- if true Process nodes will be included- Returns:
- graph of nodes and edges describing the ultimate destination of the asset
- Throws:
InvalidParameterException
- from the underlying servicePropertyServerException
- from the underlying serviceLineageWarehouseException
- from the underlying service
-
verticalLineage
@GetMapping("/entities/{guid}/vertical-lineage") public Graph verticalLineage(@PathVariable("guid") String guid, @RequestParam boolean includeProcesses) throws InvalidParameterException, PropertyServerException, LineageWarehouseException - Parameters:
guid
- unique identifier of the glossary termincludeProcesses
- if true Process nodes will be included- Returns:
- graph of nodes and edges describing the assets linked to the glossary term
- Throws:
InvalidParameterException
- from the underlying servicePropertyServerException
- from the underlying serviceLineageWarehouseException
- from the underlying service
-
getEntityDetails
@GetMapping("entities/{guid}/details") public LineageVertex getEntityDetails(@PathVariable("guid") String guid) throws InvalidParameterException, PropertyServerException, LineageWarehouseException - Parameters:
guid
- of the Entity to be retrieved- Returns:
- the entity details
- Throws:
InvalidParameterException
- from the underlying servicePropertyServerException
- from the underlying serviceLineageWarehouseException
- from the underlying service
-
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 forsearchValue
- the string to be contained in the qualified name of the node - case insensitivelimit
- the maximum number of node names to retrieve- Returns:
- the list of node names
-
search
@PostMapping("entities/search") public List<LineageVertex> search(@RequestBody LineageSearchRequest searchRequest) throws InvalidParameterException, PropertyServerException, LineageWarehouseException - Parameters:
searchRequest
- filtering details for the search- Returns:
- the entity details
- Throws:
InvalidParameterException
- from the underlying servicePropertyServerException
- from the underlying serviceLineageWarehouseException
- from the underlying service
-
elementHierarchy
@PostMapping("elements/hierarchy") public Graph elementHierarchy(@RequestBody 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
-