@Override public StreamId getParent() { return new StreamId(namespace, stream); }
public StreamId stream(String stream) { return new StreamId(namespace, stream); }
public static StreamId getStreamId(JobConf conf) { String streamName = conf.get(Constants.Explore.STREAM_NAME); String streamNamespace = conf.get(Constants.Explore.STREAM_NAMESPACE); return new StreamId(streamNamespace, streamName); }
private StreamId validateAndGetStreamId(String namespace, String stream) throws BadRequestException { try { // Verify stream name return new StreamId(namespace, stream); } catch (IllegalArgumentException | NullPointerException e) { throw new BadRequestException(e); } } }
@Override public StreamId toEntityId() { return new StreamId(namespace.getId(), streamName); }
@GET @Path("/namespaces/{namespace-id}/streams/{stream-id}/programs") public void getStreamProgramUsage(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("stream-id") String streamId) { final StreamId id = new StreamId(namespaceId, streamId); Set<ProgramId> ids = registry.getPrograms(id); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(ids)); }
private StreamId deserializeStreamId(JsonObject id) { NamespaceId namespace = deserializeNamespace(id); String streamName = id.get("stream").getAsString(); return new StreamId(namespace.getNamespace(), streamName); }
private StreamId deserializeStreamId(JsonObject id) { NamespaceId namespace = deserializeNamespace(id); String streamName = id.get("streamName").getAsString(); return new StreamId(namespace.getNamespace(), streamName); }
@GET @Path("/streams/{stream}/views") public void list(HttpRequest request, HttpResponder responder, @PathParam("namespace") String namespace, @PathParam("stream") String stream) throws Exception { StreamId streamId = new StreamId(namespace, stream); Collection<String> list = Collections2.transform( admin.listViews(streamId), new Function<StreamViewId, String>() { @Override public String apply(StreamViewId input) { return input.getEntityName(); } }); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(list)); }
@SuppressWarnings("unused") public static StreamId fromIdParts(Iterable<String> idString) { Iterator<String> iterator = idString.iterator(); return new StreamId(next(iterator, "namespace"), nextAndEnd(iterator, "stream")); }
@Override public StreamId getElement(MDSKey.Splitter splitter) { return new StreamId(splitter.getString(), splitter.getString()); } }
public StreamId toStreamId() { return new StreamId(getFirstComponent(), getSecondComponent()); }
@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)); }
@POST @Path("streams/{stream}/tables/{table}/disable") public void disableStream(HttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespace, @PathParam("stream") String streamName, @PathParam("table") final String tableName) { final StreamId streamId = new StreamId(namespace, streamName); try { // throws io exception if there is no stream streamAdmin.getConfig(streamId); } catch (IOException e) { LOG.debug("Could not find stream {} to disable explore on.", streamName, e); responder.sendString(HttpResponseStatus.NOT_FOUND, "Could not find stream " + streamName); return; } try { QueryHandle handle = impersonator.doAs(new NamespaceId(namespace), new Callable<QueryHandle>() { @Override public QueryHandle call() throws Exception { return exploreTableManager.disableStream(tableName, streamId); } }); JsonObject json = new JsonObject(); json.addProperty("handle", handle.getHandle()); responder.sendJson(HttpResponseStatus.OK, json.toString()); } catch (Throwable t) { LOG.error("Got exception disabling exploration for stream {}", streamId, t); responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, t.getMessage()); } }
@POST @Path("streams/{stream}/tables/{table}/enable") @AuditPolicy(AuditDetail.REQUEST_BODY) public void enableStream(FullHttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespace, @PathParam("stream") String streamName, @PathParam("table") final String tableName) throws Exception { final StreamId streamId = new StreamId(namespace, streamName); try (Reader reader = new InputStreamReader(new ByteBufInputStream(request.content()))) { final FormatSpecification format = GSON.fromJson(reader, FormatSpecification.class); if (format == null) { throw new BadRequestException("Expected format in the body"); } QueryHandle handle = impersonator.doAs(streamId, new Callable<QueryHandle>() { @Override public QueryHandle call() throws Exception { return exploreTableManager.enableStream(tableName, streamId, format); } }); JsonObject json = new JsonObject(); json.addProperty("handle", handle.getHandle()); responder.sendJson(HttpResponseStatus.OK, json.toString()); } catch (UnsupportedTypeException e) { LOG.error("Exception while generating create statement for stream {}", streamName, e); responder.sendString(HttpResponseStatus.BAD_REQUEST, e.getMessage()); } }
long endTime = TimeMathParser.parseTime(end, TimeUnit.MILLISECONDS); StreamId streamId = new StreamId(namespaceId, stream); if (!verifyGetEventsRequest(streamId, startTime, endTime, limitEvents, responder)) { return;
String namespaceId = keySplitter.getString(); String instanceId = keySplitter.getString(); return new StreamId(namespaceId, instanceId); } else if (type.equals(TYPE_MAP.get(StreamViewId.class)) || type.equals("view")) { String namespaceId = keySplitter.getString();
StreamId streamId = new StreamId(streamNamespace, streamName); try (ContextManager.Context context = ContextManager.getContext(conf)) { Schema schema = null;
private NamespacedEntityId toEntityId(MDSKey.Splitter splitter, char marker) { switch (marker) { case DATASET_MARKER: return new DatasetId(splitter.getString(), splitter.getString()); case STREAM_MARKER: return new StreamId(splitter.getString(), splitter.getString()); case PROGRAM_MARKER: return new ProgramId(splitter.getString(), splitter.getString(), ProgramType.valueOfCategoryName(splitter.getString()), splitter.getString()); default: throw new IllegalStateException("Invalid row with marker " + marker); } }