protected Subscription getOrCreateSubscription()

in src/main/java/com/googlesource/gerrit/plugins/pubsub/SubscriberProvider.java [67:81]


  protected Subscription getOrCreateSubscription(String topicId) throws IOException {
    try (SubscriptionAdminClient subscriptionAdminClient =
        SubscriptionAdminClient.create(createSubscriptionAdminSettings())) {
      String subscriptionName =
          String.format("%s-%s", pubSubProperties.getSubscriptionId(), topicId);
      ProjectSubscriptionName projectSubscriptionName =
          ProjectSubscriptionName.of(pubSubProperties.getGCloudProject(), subscriptionName);

      return getSubscription(subscriptionAdminClient, projectSubscriptionName)
          .orElseGet(
              () ->
                  subscriptionAdminClient.createSubscription(
                      createSubscriptionRequest(projectSubscriptionName, topicId)));
    }
  }