use of org.apache.rya.streams.api.RyaStreamsClient in project incubator-rya by apache.
the class RyaStreamsCommands method deleteQuery.
@CliCommand(value = STREAM_QUERIES_DELETE_CMD, help = "Delete a SPARQL query from the Rya Streams subsystem.")
public String deleteQuery(@CliOption(key = { "queryId" }, mandatory = true, help = "The ID of the query to remove.") final String queryId) {
final RyaStreamsClient streamsClient = state.getShellState().getRyaStreamsCommands().get();
final UUID id = UUID.fromString(queryId);
try {
streamsClient.getDeleteQuery().delete(id);
} catch (final RyaStreamsException e) {
throw new RuntimeException("Could not delete the query from the Rya Streams subsystem.", e);
}
return "The query has been deleted.";
}
use of org.apache.rya.streams.api.RyaStreamsClient in project incubator-rya by apache.
the class KafkaRyaStreamsClientFactory method make.
/**
* Initialize a {@link RyaStreamsClient} that will interact with an instance of Rya Streams
* that is backed by Kafka.
*
* @param ryaInstance - The name of the Rya Instance the client is connected to. (not null)
* @param kafkaHostname - The hostname of the Kafka Broker.
* @param kafkaPort - The port of the Kafka Broker.
* @return The initialized commands.
*/
public static RyaStreamsClient make(final String ryaInstance, final String kafkaHostname, final int kafkaPort) {
requireNonNull(ryaInstance);
requireNonNull(kafkaHostname);
// Setup Query Repository used by the Kafka Rya Streams subsystem.
final Producer<?, QueryChange> queryProducer = makeProducer(kafkaHostname, kafkaPort, StringSerializer.class, QueryChangeSerializer.class);
final Consumer<?, QueryChange> queryConsumer = fromStartConsumer(kafkaHostname, kafkaPort, StringDeserializer.class, QueryChangeDeserializer.class);
final String changeLogTopic = KafkaTopics.queryChangeLogTopic(ryaInstance);
final QueryChangeLog changeLog = new KafkaQueryChangeLog(queryProducer, queryConsumer, changeLogTopic);
final QueryRepository queryRepo = new InMemoryQueryRepository(changeLog, SCHEDULER);
// Create the Rya Streams client that is backed by a Kafka Query Change Log.
return new RyaStreamsClient(new DefaultAddQuery(queryRepo), new DefaultGetQuery(queryRepo), new DefaultDeleteQuery(queryRepo), new KafkaGetQueryResultStream<>(kafkaHostname, "" + kafkaPort, VisibilityStatementDeserializer.class), new KafkaGetQueryResultStream<>(kafkaHostname, "" + kafkaPort, VisibilityBindingSetDeserializer.class), new DefaultListQueries(queryRepo), new DefaultStartQuery(queryRepo), new DefaultStopQuery(queryRepo)) {
/**
* Close the QueryRepository used by the returned client.
*/
@Override
public void close() {
try {
queryRepo.stopAndWait();
} catch (final Exception e) {
log.warn("Couldn't close a QueryRepository.", e);
}
}
};
}
Aggregations