com.google.api.services.pubsub.model.Subscription

Here are the examples of the java api class com.google.api.services.pubsub.model.Subscription taken from open source projects.

1. PubsubJsonClient#listSubscriptions()

Project: incubator-beam
File: PubsubJsonClient.java
@Override
public List<SubscriptionPath> listSubscriptions(ProjectPath project, TopicPath topic) throws IOException {
    ListSubscriptionsResponse response = pubsub.projects().subscriptions().list(project.getPath()).execute();
    if (response.getSubscriptions() == null || response.getSubscriptions().isEmpty()) {
        return ImmutableList.of();
    }
    List<SubscriptionPath> subscriptions = new ArrayList<>(response.getSubscriptions().size());
    for (Subscription subscription : response.getSubscriptions()) {
        if (subscription.getTopic().equals(topic.getPath())) {
            subscriptions.add(subscriptionPathFromPath(subscription.getName()));
        }
    }
    return subscriptions;
}

2. PubsubJsonClient#createSubscription()

Project: incubator-beam
File: PubsubJsonClient.java
@Override
public void createSubscription(TopicPath topic, SubscriptionPath subscription, int ackDeadlineSeconds) throws IOException {
    Subscription request = new Subscription().setTopic(topic.getPath()).setAckDeadlineSeconds(ackDeadlineSeconds);
    pubsub.projects().subscriptions().create(subscription.getPath(), request).execute();
// ignore Subscription result.
}

3. PubsubJsonClient#listSubscriptions()

Project: DataflowJavaSDK
File: PubsubJsonClient.java
@Override
public List<SubscriptionPath> listSubscriptions(ProjectPath project, TopicPath topic) throws IOException {
    ListSubscriptionsResponse response = pubsub.projects().subscriptions().list(project.getPath()).execute();
    if (response.getSubscriptions() == null || response.getSubscriptions().isEmpty()) {
        return ImmutableList.of();
    }
    List<SubscriptionPath> subscriptions = new ArrayList<>(response.getSubscriptions().size());
    for (Subscription subscription : response.getSubscriptions()) {
        if (subscription.getTopic().equals(topic.getPath())) {
            subscriptions.add(subscriptionPathFromPath(subscription.getName()));
        }
    }
    return subscriptions;
}

4. PubsubJsonClient#createSubscription()

Project: DataflowJavaSDK
File: PubsubJsonClient.java
@Override
public void createSubscription(TopicPath topic, SubscriptionPath subscription, int ackDeadlineSeconds) throws IOException {
    Subscription request = new Subscription().setTopic(topic.getPath()).setAckDeadlineSeconds(ackDeadlineSeconds);
    pubsub.projects().subscriptions().create(subscription.getPath(), request).execute();
// ignore Subscription result.
}

5. PubsubJsonClient#ackDeadlineSeconds()

Project: incubator-beam
File: PubsubJsonClient.java
@Override
public int ackDeadlineSeconds(SubscriptionPath subscription) throws IOException {
    Subscription response = pubsub.projects().subscriptions().get(subscription.getPath()).execute();
    return response.getAckDeadlineSeconds();
}

6. PubsubJsonClient#ackDeadlineSeconds()

Project: DataflowJavaSDK
File: PubsubJsonClient.java
@Override
public int ackDeadlineSeconds(SubscriptionPath subscription) throws IOException {
    Subscription response = pubsub.projects().subscriptions().get(subscription.getPath()).execute();
    return response.getAckDeadlineSeconds();
}

7. PushSubscriber#ensureSubscriptionExists()

Project: play-work
File: PushSubscriber.java
/**
   * Verifies that the subscription with the name defined in settings file actually exists and 
   * points to a correct topic defined in the same settings file. If the subscription doesn't
   * exist, it will be created.
   */
private static void ensureSubscriptionExists(Pubsub client) throws IOException {
    // First we check if the subscription with this name actually exists.
    Subscription subscription = null;
    String topicName = Settings.getSettings().getTopicName();
    String subName = Settings.getSettings().getSubscriptionName();
    LOG.info("Will be using topic name: " + topicName + ", subscription name: " + subName);
    try {
        LOG.info("Trying to get subscription named " + subName);
        subscription = client.projects().subscriptions().get(subName).execute();
        Preconditions.checkArgument(subscription.getTopic().equals(topicName), "Subscription %s already exists but points to a topic %s and not %s." + "Please specify a different subscription name or delete this subscription", subscription.getName(), subscription.getTopic(), topicName);
        LOG.info("Will be re-using existing subscription: " + subscription.toPrettyString());
    } catch (HttpResponseException e) {
        if (e.getStatusCode() == HttpStatusCodes.STATUS_CODE_NOT_FOUND) {
            LOG.info("Subscription doesn't exist, will try to create " + subName);
            subscription = client.projects().subscriptions().create(subName, new Subscription().setTopic(topicName).setAckDeadlineSeconds(600).setPushConfig(new PushConfig().setPushEndpoint(Settings.getSettings().getPushEndpoint()))).execute();
            LOG.info("Created: " + subscription.toPrettyString());
        }
    }
}