Example usage for com.amazonaws.services.sns AmazonSNSClient listSubscriptions

List of usage examples for com.amazonaws.services.sns AmazonSNSClient listSubscriptions

Introduction

In this page you can find the example usage for com.amazonaws.services.sns AmazonSNSClient listSubscriptions.

Prototype

@Override
    public ListSubscriptionsResult listSubscriptions() 

Source Link

Usage

From source file:shnakkydoodle.notifying.provider.aws.AwsProvider.java

License:Open Source License

/**
 * Retrieve a specific subsctipion id//from w  ww. j  a  va  2s. co  m
 * 
 * @param topicName
 * @param protocol
 * @param endpoint
 * @return
 */
private String retrieveSubscriptionId(String topicName, String protocol, String endpoint) {

    // find the topic
    NotificationTopic notificationTopic = this.retrieveNotificationTopic(topicName);
    if (notificationTopic == null) {
        return null;
    }

    AmazonSNSClient snsClient = getSNSClient();
    for (Subscription subscription : snsClient.listSubscriptions().getSubscriptions()) {
        if (subscription.getTopicArn().equals(notificationTopic.getTopicId())) {
            if (subscription.getProtocol().equals(protocol) && subscription.getEndpoint().equals(endpoint)) {
                return subscription.getSubscriptionArn();
            }
        }
    }

    return null;
}

From source file:shnakkydoodle.notifying.provider.aws.AwsProvider.java

License:Open Source License

/**
 * Retrieve the notifcation subscriptions for a topic
 * /*from w w w  .  j  a  va2  s . co  m*/
 * @param topicName
 */
@Override
public ArrayList<NotificationSubscription> retrieveNotificationSubscriptions(String topicName) {
    ArrayList<NotificationSubscription> data = new ArrayList<NotificationSubscription>();

    // find the topic
    NotificationTopic notificationTopic = this.retrieveNotificationTopic(topicName);
    if (notificationTopic == null) {
        return data;
    }

    AmazonSNSClient snsClient = getSNSClient();
    for (Subscription subscription : snsClient.listSubscriptions().getSubscriptions()) {
        if (subscription.getTopicArn().equals(notificationTopic.getTopicId())) {
            NotificationSubscription instance = new NotificationSubscription();
            instance.setNotificationTopic(notificationTopic);
            instance.setProtocol(subscription.getProtocol());
            instance.setEndPoint(subscription.getEndpoint());
            data.add(instance);
        }
    }
    return data;
}