use of org.apache.pulsar.common.naming.TopicName in project incubator-pulsar by apache.
the class PersistentTopicsImpl method getInternalInfoAsync.
@Override
public CompletableFuture<JsonObject> getInternalInfoAsync(String topic) {
TopicName tn = validateTopic(topic);
WebTarget path = topicPath(tn, "internal-info");
final CompletableFuture<JsonObject> future = new CompletableFuture<>();
asyncGetRequest(path, new InvocationCallback<String>() {
@Override
public void completed(String response) {
JsonObject json = new Gson().fromJson(response, JsonObject.class);
future.complete(json);
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
use of org.apache.pulsar.common.naming.TopicName in project incubator-pulsar by apache.
the class PersistentTopicsImpl method grantPermission.
@Override
public void grantPermission(String topic, String role, Set<AuthAction> actions) throws PulsarAdminException {
try {
TopicName tn = TopicName.get(topic);
WebTarget path = topicPath(tn, "permissions", role);
request(path).post(Entity.entity(actions, MediaType.APPLICATION_JSON), ErrorData.class);
} catch (Exception e) {
throw getApiException(e);
}
}
use of org.apache.pulsar.common.naming.TopicName in project incubator-pulsar by apache.
the class PersistentTopicsImpl method skipMessagesAsync.
@Override
public CompletableFuture<Void> skipMessagesAsync(String topic, String subName, long numMessages) {
TopicName tn = validateTopic(topic);
String encodedSubName = Codec.encode(subName);
WebTarget path = topicPath(tn, "subscription", encodedSubName, "skip", String.valueOf(numMessages));
return asyncPostRequest(path, Entity.entity("", MediaType.APPLICATION_JSON));
}
use of org.apache.pulsar.common.naming.TopicName in project incubator-pulsar by apache.
the class PersistentTopicsImpl method createSubscription.
@Override
public void createSubscription(String topic, String subscriptionName, MessageId messageId) throws PulsarAdminException {
try {
TopicName tn = validateTopic(topic);
String encodedSubName = Codec.encode(subscriptionName);
WebTarget path = topicPath(tn, "subscription", encodedSubName);
request(path).put(Entity.entity(messageId, MediaType.APPLICATION_JSON), ErrorData.class);
} catch (Exception e) {
throw getApiException(e);
}
}
use of org.apache.pulsar.common.naming.TopicName in project incubator-pulsar by apache.
the class PersistentTopicsImpl method getPermissions.
@Override
public Map<String, Set<AuthAction>> getPermissions(String topic) throws PulsarAdminException {
try {
TopicName tn = TopicName.get(topic);
WebTarget path = topicPath(tn, "permissions");
return request(path).get(new GenericType<Map<String, Set<AuthAction>>>() {
});
} catch (Exception e) {
throw getApiException(e);
}
}
Aggregations