Example usage for com.amazonaws.services.sns.model UnsubscribeRequest UnsubscribeRequest

List of usage examples for com.amazonaws.services.sns.model UnsubscribeRequest UnsubscribeRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.sns.model UnsubscribeRequest UnsubscribeRequest.

Prototype

public UnsubscribeRequest(String subscriptionArn) 

Source Link

Document

Constructs a new UnsubscribeRequest object.

Usage

From source file:awslabs.lab31.StudentCode.java

License:Open Source License

/**
 * Delete all subscriptions to the specified SNS topic. Hint: Call getSubscriptions() on the client object to get
 * all of the subscriptions and loop through them calling the client object's unsubscribe() method with details of
 * each subscription./*w w w  . j  a v  a  2  s. c  o  m*/
 * 
 * @param snsClient The SNS client object.
 * @param topicArn The SNS topic to remove the subscriptions from.
 */
@Override
public void deleteSubscriptions(AmazonSNSClient snsClient, String topicArn) {
    ListSubscriptionsByTopicRequest request = new ListSubscriptionsByTopicRequest(topicArn);
    ListSubscriptionsByTopicResult result = snsClient.listSubscriptionsByTopic(request);

    for (Subscription s : result.getSubscriptions()) {
        UnsubscribeRequest unsubscribeRequest = new UnsubscribeRequest(s.getSubscriptionArn());
        snsClient.unsubscribe(unsubscribeRequest);
    }
}

From source file:com.comcast.cns.controller.CNSSubscriptionPageServlet.java

License:Apache License

@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    if (redirectUnauthenticatedUser(request, response)) {
        return;//  w w w  .j a  va  2s .c  o  m
    }

    CMBControllerServlet.valueAccumulator.initializeAllCounters();
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    Map<?, ?> parameters = request.getParameterMap();

    String userId = request.getParameter("userId");
    String topicArn = request.getParameter("topicArn");
    String endPoint = request.getParameter("endPoint");
    String protocol = request.getParameter("protocol");
    String arn = request.getParameter("arn");
    String nextToken = request.getParameter("nextToken");

    connect(request);

    if (parameters.containsKey("Subscribe")) {

        try {

            SubscribeRequest subscribeRequest = new SubscribeRequest(topicArn, protocol.toLowerCase(),
                    endPoint);
            sns.subscribe(subscribeRequest);

        } catch (Exception ex) {
            logger.error("event=subscribe", ex);
            throw new ServletException(ex);
        }

    } else if (parameters.containsKey("Unsubscribe")) {

        try {
            UnsubscribeRequest unsubscribeRequest = new UnsubscribeRequest(arn);
            sns.unsubscribe(unsubscribeRequest);
        } catch (Exception ex) {
            logger.error("event=unsubscribe arn=" + arn, ex);
            throw new ServletException(ex);
        }
    }

    List<Subscription> subscriptions = new ArrayList<Subscription>();
    ListSubscriptionsByTopicResult listSubscriptionsByTopicResult = null;

    try {

        listSubscriptionsByTopicResult = sns
                .listSubscriptionsByTopic(new ListSubscriptionsByTopicRequest(topicArn, nextToken));
        subscriptions = listSubscriptionsByTopicResult.getSubscriptions();

    } catch (Exception ex) {
        logger.error("event=listAllSubscriptionsByTopic topic_arn=" + topicArn, ex);
        throw new ServletException(ex);
    }

    ICNSTopicPersistence topicHandler = PersistenceFactory.getTopicPersistence();
    CNSTopic topic = null;

    try {
        topic = topicHandler.getTopic(topicArn);
    } catch (Exception ex) {
        logger.error("event=getTopic topic_arn=" + topicArn, ex);
        throw new ServletException(ex);
    }

    out.println("<html>");
    out.println("<script type='text/javascript' language='javascript'>");
    out.println("function changeEndpointHint(protocol){ ");
    out.println(" if (protocol == 'HTTP' || protocol == 'HTTPS') { ");
    out.println(" document.getElementById('endPoint').placeholder = 'e.g. http://company.com'; }");
    out.println(" else if (protocol == 'EMAIL' || protocol == 'EMAIL_JSON') { ");
    out.println(" document.getElementById('endPoint').placeholder = 'e.g. user@domain.com'; }");
    out.println(" else if (protocol == 'CQS' || protocol == 'SQS') { ");
    out.println(
            " document.getElementById('endPoint').placeholder = 'e.g. arn:aws:cqs:ccp:555555555555:my-queue'; } ");
    out.println(
            " else if (protocol == 'redis') { document.getElementById('endPoint').placeholder = 'e.g. redis://server:port/channelname'; }");
    out.println("}");
    out.println("</script>");

    header(request, out, "Subscriptions for Topic " + ((topic != null) ? topic.getName() : ""));

    out.println("<body>");

    out.println("<h2>Subscriptions for Topic " + ((topic != null) ? topic.getName() : "") + "</h2>");

    if (user != null) {
        out.println("<table><tr><td><b>User Name:</b></td><td>" + user.getUserName() + "</td></tr>");
        out.println("<tr><td><b>User ID:</b></td><td>" + user.getUserId() + "</td></tr>");
        out.println("<tr><td><b>Access Key:</b></td><td>" + user.getAccessKey() + "</td></tr>");
        out.println("<tr><td><b>Access Secret:</b></td><td>" + user.getAccessSecret() + "</td></tr>");
        out.println("<tr><td><b>Topic Name:</b></td><td>" + topic.getName() + "</td></tr>");
        out.println("<tr><td><b>Topic Display Name:</b></td><td>" + topic.getDisplayName() + "</td></tr>");
        out.println("<tr><td><b>Topic Arn:</b></td><td>" + topic.getArn() + "</td></tr>");
        out.println("<tr><td><b>Num Subscriptions:</b></td><td>" + subscriptions.size() + "</td></tr></table>");
    }

    out.println("<p><table><tr><td><b>Protocol</b></td><td><b>End Point</b></td><td>&nbsp;</td></tr>");
    out.println("<form action=\"/webui/cnsuser/subscription/?userId=" + userId + "&topicArn=" + topicArn
            + "\" method=POST>");
    out.println(
            "<tr><td><select name='protocol' onchange='changeEndpointHint(this.value)'><option value='HTTP'>HTTP</option><option value='HTTPS'>HTTPS</option><option value='EMAIL'>EMAIL</option><option value='EMAIL_JSON'>EMAIL_JSON</option><option value='CQS'>CQS</option><option value='SQS'>SQS</option><option value='redis'>REDIS</option></select></td>");
    out.println(
            "<td><input type='text' name='endPoint' id = 'endPoint' size='65' placeholder='e.g. http://company.com'><input type='hidden' name='userId' value='"
                    + userId
                    + "'></td><td><input type='submit' value='Subscribe' name='Subscribe' /></td></tr>");
    out.println("</form></table>");

    out.println("<p><hr width='100%' align='left' />");
    out.println("<p><table class = 'alternatecolortable' border='1'>");
    out.println("<tr><th>Row</th>");
    out.println("<th>Arn</th>");
    out.println("<th>Protocol</th>");
    out.println("<th>End Point</th>");
    out.println("<th>Subscription Attributes</th>");
    out.println("<th>Raw Message Delivery</th>");
    out.println("<th>&nbsp;</th></tr>");

    for (int i = 0; subscriptions != null && i < subscriptions.size(); i++) {

        Subscription s = subscriptions.get(i);
        out.println("<tr>");
        out.println("<form action=\"/webui/cnsuser/subscription/?userId=" + user.getUserId() + "&arn="
                + s.getSubscriptionArn() + "&topicArn=" + topicArn + "\" method=POST>");
        out.println("<td>" + i + "</td>");
        out.println("<td>" + s.getSubscriptionArn() + "<input type='hidden' name='arn' value="
                + s.getSubscriptionArn() + "></td>");
        out.println("<td>" + s.getProtocol() + "</td>");
        if (s.getProtocol().toLowerCase().equals("cqs") && isAdmin(request)) {
            out.println("<td><a href='/webui/cqsuser?userId=" + Util.getUserIdForQueueArn(s.getEndpoint())
                    + "'>" + s.getEndpoint() + "</a></td>");
        } else {
            out.println("<td>" + s.getEndpoint() + "</td>");
        }

        if (s.getProtocol().toString().equals("http")
                && !s.getSubscriptionArn().equals("PendingConfirmation")) {
            out.println(
                    "<td><a href='#' onclick=\"window.open('/webui/cnsuser/subscription/editdeliverypolicy?subscriptionArn="
                            + s.getSubscriptionArn() + "&userId=" + userId
                            + "', 'EditDeliveryPolicy', 'height=630,width=580,toolbar=no')\">View/Edit Delivery Policy</a></td>");
        } else {
            out.println("<td>&nbsp;</td>");
        }

        if ((s.getProtocol().toString().equals("https") || s.getProtocol().toString().equals("http")
                || s.getProtocol().toString().equals("cqs") || s.getProtocol().toString().equals("sqs"))
                && !s.getSubscriptionArn().equals("PendingConfirmation")) {
            String url = "/webui/cnsuser/subscription/rawmessagedeliverypolicy/?subscriptionArn="
                    + s.getSubscriptionArn() + "&userId=" + userId;
            out.println("<td><a href='#' onclick=\"window.open('" + url
                    + "', 'RawMessageDelivery', 'height=200,width=580,toolbar=no')\">Raw Message Delivery</a></td>");
        } else {
            out.println("<td>&nbsp;</td>");
        }

        if (s.getSubscriptionArn().equals("PendingConfirmation")) {
            out.println("<td>&nbsp;</td>");
        } else {
            out.println("<td><input type='submit' value='Unsubscribe' name='Unsubscribe'/></td>");
        }

        out.println("</form></tr>");
    }

    out.println("</table></p>");

    if (listSubscriptionsByTopicResult != null && listSubscriptionsByTopicResult.getNextToken() != null) {
        out.println("<p><a href='/webui/cnsuser/subscription/?userId=" + userId + "&topicArn=" + topicArn
                + "&nextToken=" + response.encodeURL(listSubscriptionsByTopicResult.getNextToken())
                + "'>next&nbsp;&gt;</a></p>");
    }

    out.println("<h5 style='text-align:center;'><a href='/webui'>ADMIN HOME</a>");
    out.println(
            "<a href='/webui/cnsuser?userId=" + userId + "&topicArn=" + topicArn + "'>BACK TO TOPIC</a></h5>");
    out.println("</body></html>");

    CMBControllerServlet.valueAccumulator.deleteAllCounters();
}

From source file:com.leverno.ysbos.archive.example.AmazonGlacierDownloadInventoryWithSQSPolling.java

License:Open Source License

private static void cleanUp() {
    snsClient.unsubscribe(new UnsubscribeRequest(snsSubscriptionARN));
    snsClient.deleteTopic(new DeleteTopicRequest(snsTopicARN));
    sqsClient.deleteQueue(new DeleteQueueRequest(sqsQueueURL));
}

From source file:com.pocketdealhunter.HotDealsMessagesUtil.java

License:Open Source License

public void removeSubscriber(String subscriptionArn) {
    try {//www.j  a  v a 2  s  .com
        UnsubscribeRequest unsubscribeRequest = new UnsubscribeRequest(subscriptionArn);
        this.snsClient.unsubscribe(unsubscribeRequest);
    } catch (Exception exception) {
        System.out.println("Exception  = " + exception);
    }
}

From source file:net.smartcosmos.plugin.service.aws.notification.AwsNotificationService.java

License:Apache License

@Override
public void unsubscribe(INotificationEndpoint notificationEndpoint) {
    Preconditions.checkArgument((notificationEndpoint != null), "Notification endpoint must not be null");

    AmazonSNS sns = new AmazonSNSClient(credentials);
    Region usEast1 = Region.getRegion(Regions.US_EAST_1);
    sns.setRegion(usEast1);/*from  ww w  .ja  v  a2s  . c  o  m*/

    try {

        UnsubscribeRequest request = new UnsubscribeRequest(notificationEndpoint.getSubscriptionArn());
        sns.unsubscribe(request);

        //
        // Event
        //
        INotificationResultObject<IAccount> nro = new NotificationResultObject<>(EntityReferenceType.Account,
                notificationEndpoint.getAccount(), "");
        IEventService eventService = context.getServiceFactory()
                .getEventService(notificationEndpoint.getAccount());
        eventService.recordEvent(EventType.NotificationUnsubscribe, notificationEndpoint.getAccount(), null,
                nro);
    } finally {
        sns.shutdown();
    }
}

From source file:org.transitime.maintenance.AwsGlacierInventoryRetriever.java

License:Open Source License

/**
 * To be called when done with this object. Cleans up notifications for when
 * jobs complete./* ww  w . j ava 2  s. c  o  m*/
 */
private void cleanUp() {
    snsClient.unsubscribe(new UnsubscribeRequest(snsSubscriptionARN));
    snsClient.deleteTopic(new DeleteTopicRequest(snsTopicARN));
    sqsClient.deleteQueue(new DeleteQueueRequest(sqsQueueURL));
}