@GET @Path("/namespaces/{namespace-id}/streams/{stream-id}/lineage") public void streamLineage(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("stream-id") String stream, @QueryParam("start") String startStr, @QueryParam("end") String endStr, @QueryParam("levels") @DefaultValue("10") int levels, @QueryParam("collapse") List<String> collapse, @QueryParam("rollup") String rollup) throws Exception { checkLevels(levels); TimeRange range = parseRange(startStr, endStr); StreamId streamId = new StreamId(namespaceId, stream); Lineage lineage = lineageAdmin.computeLineage(streamId, range.getStart(), range.getEnd(), levels, rollup); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(LineageSerializer.toLineageRecord( TimeUnit.MILLISECONDS.toSeconds(range.getStart()), TimeUnit.MILLISECONDS.toSeconds(range.getEnd()), lineage, getCollapseTypes(collapse)), LineageRecord.class)); }
@GET @Path("/namespaces/{namespace-id}/datasets/{dataset-id}/lineage") public void datasetLineage(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("dataset-id") String datasetId, @QueryParam("start") String startStr, @QueryParam("end") String endStr, @QueryParam("levels") @DefaultValue("10") int levels, @QueryParam("collapse") List<String> collapse, @QueryParam("rollup") String rollup) throws Exception { checkLevels(levels); TimeRange range = parseRange(startStr, endStr); DatasetId datasetInstance = new DatasetId(namespaceId, datasetId); Lineage lineage = lineageAdmin.computeLineage(datasetInstance, range.getStart(), range.getEnd(), levels, rollup); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(LineageSerializer.toLineageRecord( TimeUnit.MILLISECONDS.toSeconds(range.getStart()), TimeUnit.MILLISECONDS.toSeconds(range.getEnd()), lineage, getCollapseTypes(collapse)), LineageRecord.class)); }
@GET @Path("/namespaces/{namespace-id}/datasets/{dataset-id}/lineage") public void datasetLineage(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("dataset-id") String datasetId, @QueryParam("start") String startStr, @QueryParam("end") String endStr, @QueryParam("levels") @DefaultValue("10") int levels, @QueryParam("collapse") List<String> collapse, @QueryParam("rollup") String rollup) throws Exception { checkLevels(levels); TimeRange range = parseRange(startStr, endStr); DatasetId datasetInstance = new DatasetId(namespaceId, datasetId); Lineage lineage = lineageAdmin.computeLineage(datasetInstance, range.getStart(), range.getEnd(), levels, rollup); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(LineageSerializer.toLineageRecord( TimeUnit.MILLISECONDS.toSeconds(range.getStart()), TimeUnit.MILLISECONDS.toSeconds(range.getEnd()), lineage, getCollapseTypes(collapse)), LineageRecord.class)); }