public StreamViewId view(String view) { return new StreamViewId(namespace, stream, view); }
@DELETE @Path("/streams/{stream}/views/{view}") public void delete(HttpRequest request, HttpResponder responder, @PathParam("namespace") String namespace, @PathParam("stream") String stream, @PathParam("view") String view) throws Exception { StreamViewId viewId = new StreamViewId(namespace, stream, view); admin.deleteView(viewId); responder.sendStatus(HttpResponseStatus.OK); }
private StreamViewId deserializeViewId(JsonObject id) { StreamId streamId = deserializeStreamId(id.getAsJsonObject("stream")); String view = id.get("id").getAsString(); return new StreamViewId(streamId.getNamespace(), streamId.getStream(), view); } }
@GET @Path("/streams/{stream}/views/{view}") public void get(HttpRequest request, HttpResponder responder, @PathParam("namespace") String namespace, @PathParam("stream") String stream, @PathParam("view") String view) throws Exception { StreamViewId viewId = new StreamViewId(namespace, stream, view); ViewDetail detail = new ViewDetail(viewId.getEntityName(), admin.getView(viewId)); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(detail, ViewDetail.class)); } }
private StreamViewId deserializeViewId(JsonObject id) { StreamId streamId = deserializeStreamId(id); String view = id.get("view").getAsString(); return new StreamViewId(streamId.getNamespace(), streamId.getStream(), view); }
@Override public StreamViewId toEntityId() { return new StreamViewId(stream.getNamespaceId(), stream.getId(), id); }
@SuppressWarnings("unused") public static StreamViewId fromIdParts(Iterable<String> idString) { Iterator<String> iterator = idString.iterator(); return new StreamViewId( next(iterator, "namespace"), next(iterator, "stream"), nextAndEnd(iterator, "view")); }
@PUT @Path("/streams/{stream}/views/{view}") @AuditPolicy(AuditDetail.REQUEST_BODY) public void createOrUpdate(FullHttpRequest request, HttpResponder responder, @PathParam("namespace") String namespace, @PathParam("stream") String stream, @PathParam("view") String view) throws Exception { StreamViewId viewId; try { viewId = new StreamViewId(namespace, stream, view); } catch (IllegalArgumentException e) { throw new BadRequestException(e); } try (Reader reader = new InputStreamReader(new ByteBufInputStream(request.content()), StandardCharsets.UTF_8)) { ViewSpecification spec = GSON.fromJson(reader, ViewSpecification.class); if (spec == null) { throw new BadRequestException("Missing ViewSpecification in request body"); } boolean created = admin.createOrUpdateView(viewId, spec); responder.sendStatus(created ? HttpResponseStatus.CREATED : HttpResponseStatus.OK); } catch (JsonSyntaxException e) { responder.sendString(HttpResponseStatus.BAD_REQUEST, "Couldn't decode body as view config JSON"); } catch (IOException e) { LOG.warn("Error closing InputStreamReader", e); } }
String streamId = keySplitter.getString(); String viewId = keySplitter.getString(); return new StreamViewId(namespaceId, streamId, viewId); } else if (type.equals(TYPE_MAP.get(ScheduleId.class))) { String namespaceId = keySplitter.getString();