@Path("/datasources") @POST public OpResult addDataSource(Kafka2TupleMetadata dataSource) { return dao.addDataSource(dataSource); }
@Path("/publishments") @POST public OpResult addPublishment(Publishment publishment) { return dao.addPublishment(publishment); }
@Path("/topologies") @POST public OpResult addTopology(Topology t) { return dao.addTopology(t); }
@Path("/policies") @GET public List<PolicyDefinition> listPolicies(@QueryParam("siteId") String siteId) { if (siteId != null) { return dao.getPoliciesBySiteId(siteId); } else { return dao.listPolicies(); } }
@Path("/streams/create") @POST public OpResult createStream(StreamDefinitionWrapper stream) { Preconditions.checkNotNull(stream.getStreamDefinition(),"Stream definition is null"); Preconditions.checkNotNull(stream.getStreamSource(),"Stream source is null"); stream.validateAndEnsureDefault(); OpResult createStreamResult = dao.createStream(stream.getStreamDefinition()); OpResult createDataSourceResult = dao.addDataSource(stream.getStreamSource()); // TODO: Check kafka topic exist or not. if (createStreamResult.code == OpResult.SUCCESS && createDataSourceResult.code == OpResult.SUCCESS) { return OpResult.success("Successfully create stream " + stream.getStreamDefinition().getStreamId() + ", and datasource " + stream.getStreamSource().getName()); } else { return OpResult.fail("Error: " + StringUtils.join(new String[]{createDataSourceResult.message, createDataSourceResult.message},",")); } }
public void doUninstall() { // we should remove alert data source and stream definition while we do uninstall if (metadata.getStreams() == null) { return; } // iterate each stream descriptor and create alert datasource for each for (StreamDesc streamDesc : metadata.getStreams()) { alertMetadataService.removeDataSource(streamDesc.getStreamId()); alertMetadataService.removeStream(streamDesc.getStreamId()); } }
listPublishment().forEach((pub) -> publishmentMap.put(pub.getName(),pub)); for (String publishmentId : publishmentIds) { if (publishmentMap.containsKey(publishmentId)) { publishment.getPolicyIds().add(policyId); OpResult opResult = addPublishment(publishment); if (opResult.code == OpResult.FAILURE) { LOG.error("Failed to add publisher {} to policy {}: {}", publishmentId, policyId, opResult.message); if (publishment.getPolicyIds() != null && publishment.getPolicyIds().contains(policyId)) { publishment.getPolicyIds().remove(policyId); OpResult opResult = addPublishment(publishment); if (opResult.code == OpResult.FAILURE) { LOG.error("Failed to delete policy {}, from publisher {}, {} ", policyId, publishmentId, opResult.message);
@Path("/topologies/{topologyName}") @DELETE public OpResult removeTopology(@PathParam("topologyName") String topologyName) { return dao.removeTopology(topologyName); }
@Path("/datasources/{datasourceId}") @DELETE public OpResult removeDataSource(@PathParam("datasourceId") String datasourceId) { return dao.removeDataSource(datasourceId); }
@Path("/streams/{streamId}") @DELETE public OpResult removeStream(@PathParam("streamId") String streamId) { return dao.removeStream(streamId); }
@Path("/publishments") @GET public List<Publishment> listPublishment() { return dao.listPublishment(); }
default PolicyDefinition getPolicyById(String policyId) { Preconditions.checkNotNull(policyId,"policyId"); return listPolicies().stream().filter(pc -> pc.getName().equals(policyId)).findAny().orElseGet(() -> { LOG.error("Policy (policyId " + policyId + ") not found"); throw new IllegalArgumentException("Policy (policyId " + policyId + ") not found"); }); }
@Path("/streams") @POST public OpResult createStream(StreamDefinition stream) { return dao.createStream(stream); }
@Path("/alerts") @POST public OpResult addAlertPublishEvent(AlertPublishEvent event) { return dao.addAlertPublishEvent(event); }
tuple2Stream.setStreamNameSelectorCls(JsonStringStreamNameSelector.class.getCanonicalName()); datasource.setCodec(tuple2Stream); alertMetadataService.addDataSource(datasource); alertMetadataService.createStream(streamDesc.getSchema());
@Path("/topologies") @DELETE public List<OpResult> removeTopologies(List<String> topologies) { List<OpResult> results = new LinkedList<>(); for (String t : topologies) { results.add(dao.removeTopology(t)); } return results; }
@Path("/datasources") @DELETE public List<OpResult> removeDataSources(List<String> datasourceIds) { List<OpResult> results = new LinkedList<>(); for (String ds : datasourceIds) { results.add(dao.removeDataSource(ds)); } return results; }
@Path("/streams") @DELETE public List<OpResult> removeStreams(List<String> streamIds) { List<OpResult> results = new LinkedList<>(); for (String streamId : streamIds) { results.add(dao.removeStream(streamId)); } return results; }
default List<Publishment> getPublishmentsByPolicyId(String policyId) { return listPublishment().stream().filter(ps -> ps.getPolicyIds() != null && ps.getPolicyIds().contains(policyId) ).collect(Collectors.toList()); }
default List<PolicyDefinition> getPoliciesBySiteId(String siteId) { Preconditions.checkNotNull(siteId,"siteId"); return listPolicies().stream().filter(pc -> pc.getSiteId().equals(siteId)).collect(Collectors.toList()); } }