@Override public String apply(StreamViewId input) { return input.getEntityName(); } });
@Override public Map<String, String> getSystemPropertiesToAdd() { ImmutableMap.Builder<String, String> properties = ImmutableMap.builder(); properties.put(ENTITY_NAME_KEY, viewId.getEntityName()); if (!existing) { properties.put(CREATION_TIME_KEY, String.valueOf(System.currentTimeMillis())); } return properties.build(); }
@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)); } }
@Override public ViewDetail get(StreamViewId viewId) throws NotFoundException { Lock lock = viewsLock.readLock(); lock.lock(); try { if (!views.containsRow(viewId)) { throw new NotFoundException(viewId); } return new ViewDetail(viewId.getEntityName(), views.get(viewId, viewId.getParent())); } finally { lock.unlock(); } } }
private MDSKey getKey(StreamViewId id) { return new MDSKey.Builder() .add(TYPE_STREAM_VIEW, id.getNamespace(), id.getStream(), id.getEntityName()) .build(); }
@Override public void perform(Arguments arguments, PrintStream output) throws Exception { StreamId streamId = cliConfig.getCurrentNamespace().stream(arguments.get(ArgumentName.STREAM.toString())); StreamViewId view = streamId.view(arguments.get(ArgumentName.VIEW.toString())); client.delete(view); output.printf("Successfully deleted stream-view '%s'\n", view.getEntityName()); }
@Override public ViewDetail get(final StreamViewId viewId) throws NotFoundException { return Transactionals.execute(transactional, context -> { StreamViewEntry viewEntry = getViewDataset(context).get(getKey(viewId), StreamViewEntry.class); if (viewEntry == null) { throw new NotFoundException(viewId); } return new ViewDetail(viewId.getEntityName(), viewEntry.getSpec()); }, NotFoundException.class); }
@Override public void perform(Arguments arguments, PrintStream output) throws Exception { StreamId streamId = cliConfig.getCurrentNamespace().stream(arguments.get(ArgumentName.STREAM.toString())); StreamViewId viewId = streamId.view(arguments.get(ArgumentName.VIEW.toString())); String formatName = arguments.get(ArgumentName.FORMAT.toString()); Schema schema = getSchema(arguments); Map<String, String> settings = Collections.emptyMap(); if (arguments.hasArgument(ArgumentName.SETTINGS.toString())) { settings = ArgumentParser.parseMap(arguments.get(ArgumentName.SETTINGS.toString()), ArgumentName.SETTINGS.toString()); } FormatSpecification formatSpecification = new FormatSpecification(formatName, schema, settings); ViewSpecification viewSpecification = new ViewSpecification(formatSpecification); boolean created = client.createOrUpdate(viewId, viewSpecification); if (created) { output.printf("Successfully created stream-view '%s'\n", viewId.getEntityName()); } else { output.printf("Successfully updated stream-view '%s'\n", viewId.getEntityName()); } }