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

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

Introduction

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

Prototype

public DeleteTopicRequest(String topicArn) 

Source Link

Document

Constructs a new DeleteTopicRequest object.

Usage

From source file:com.amazon.aws.demo.anonymous.sns.SimpleNotification.java

License:Open Source License

public static void deleteTopic(String name) {
    DeleteTopicRequest req = new DeleteTopicRequest(name);
    getInstance().deleteTopic(req);
}

From source file:com.amazon.aws.demo.anonymous.sns.SnsDeleteTopicList.java

License:Open Source License

protected void wireOnListClick() {
    getItemList().setOnItemClickListener(new OnItemClickListener() {
        @Override//from  w  w w . j a v  a 2s  .  co m
        public void onItemClick(AdapterView<?> list, View view, int position, long id) {
            clickedTopicArn = ((TextView) view).getText().toString();
            AlertDialog.Builder builder = new AlertDialog.Builder(SnsDeleteTopicList.this);
            builder.setMessage("Are you sure you want to delete: " + clickedTopicArn).setCancelable(false)
                    .setPositiveButton("Yes", new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            SimpleNotification.getInstance()
                                    .deleteTopic(new DeleteTopicRequest(clickedTopicArn));
                            startPopulateList();
                        }
                    }).setNegativeButton("No", new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });
            builder.show();
        }
    });
}

From source file:com.amazon.aws.samplecode.travellog.aws.TravelLogSNSManager.java

License:Open Source License

/**
 * Deletes a previously created topic associated with the entry. 
 * /*from  w ww.  j  a va2 s . com*/
 * @param entry the entry to be deleted
 */
public void deleteTopic(Entry entry) {
    DeleteTopicRequest request = new DeleteTopicRequest(entry.getSnsArn());
    snsClient.deleteTopic(request);
}

From source file:com.comcast.cmb.test.tools.CMBTutorial.java

License:Apache License

public static void main(String[] args) {

    try {/*from   w w w  .ja va  2  s  . co  m*/

        Util.initLog4jTest();

        //TODO: set user id and credentials for two distinct users

        // user "cqs_test_1"

        //BasicAWSCredentials user1Credentials = new BasicAWSCredentials("<access_key>", "<secret_key>");

        BasicAWSCredentials user1Credentials = new BasicAWSCredentials("Z2DVBFRNZ2C2SSXDWS5F",
                "bH2UQiJkpctBaE3eaDob19fj5J9Q1FVafrZantBp");

        // user "cqs_test_2"

        //String user2Id = "<user_id>";
        String user2Id = "389653920093";

        //BasicAWSCredentials user2Credentials = new BasicAWSCredentials("<access_key>", "<secret_key>");

        BasicAWSCredentials user2Credentials = new BasicAWSCredentials("QL8Q1VOBCSJC5FZ2DMIU",
                "n6a82gyJZ04Z+Xqp7OgfqPtbbKqVc3UbuOTNrF+7");

        // service urls

        //TODO: add service URLs

        //String cqsServerUrl = "http://<host>:<port>";
        //String cnsServerUrl = "http://<host>:<port>";

        String cqsServerUrl = "http://localhost:6059";
        String cnsServerUrl = "http://localhost:6061";

        // initialize service

        AmazonSQSClient sqs = new AmazonSQSClient(user1Credentials);
        sqs.setEndpoint(cqsServerUrl);

        AmazonSNSClient sns = new AmazonSNSClient(user2Credentials);
        sns.setEndpoint(cnsServerUrl);

        // create queue

        Random randomGenerator = new Random();

        String queueName = QUEUE_PREFIX + randomGenerator.nextLong();

        HashMap<String, String> attributeParams = new HashMap<String, String>();
        CreateQueueRequest createQueueRequest = new CreateQueueRequest(queueName);
        createQueueRequest.setAttributes(attributeParams);
        String queueUrl = sqs.createQueue(createQueueRequest).getQueueUrl();

        AddPermissionRequest addPermissionRequest = new AddPermissionRequest();
        addPermissionRequest.setQueueUrl(queueUrl);
        addPermissionRequest.setActions(Arrays.asList("SendMessage"));
        addPermissionRequest.setLabel(UUID.randomUUID().toString());
        addPermissionRequest.setAWSAccountIds(Arrays.asList(user2Id));
        sqs.addPermission(addPermissionRequest);

        // create topic

        String topicName = "TSTT" + randomGenerator.nextLong();

        CreateTopicRequest createTopicRequest = new CreateTopicRequest(topicName);
        CreateTopicResult createTopicResult = sns.createTopic(createTopicRequest);
        String topicArn = createTopicResult.getTopicArn();

        // subscribe and confirm cqs endpoint

        SubscribeRequest subscribeRequest = new SubscribeRequest();
        String queueArn = getArnForQueueUrl(queueUrl);
        subscribeRequest.setEndpoint(queueArn);
        subscribeRequest.setProtocol("cqs");
        subscribeRequest.setTopicArn(topicArn);
        SubscribeResult subscribeResult = sns.subscribe(subscribeRequest);
        String subscriptionArn = subscribeResult.getSubscriptionArn();

        if (subscriptionArn.equals("pending confirmation")) {

            Thread.sleep(500);

            ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest();
            receiveMessageRequest.setQueueUrl(queueUrl);
            receiveMessageRequest.setMaxNumberOfMessages(1);
            ReceiveMessageResult receiveMessageResult = sqs.receiveMessage(receiveMessageRequest);

            List<Message> messages = receiveMessageResult.getMessages();

            if (messages != null && messages.size() == 1) {

                JSONObject o = new JSONObject(messages.get(0).getBody());

                if (!o.has("SubscribeURL")) {
                    throw new Exception("message is not a confirmation messsage");
                }

                String subscriptionUrl = o.getString("SubscribeURL");
                httpGet(subscriptionUrl);

                DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest();
                deleteMessageRequest.setReceiptHandle(messages.get(0).getReceiptHandle());
                deleteMessageRequest.setQueueUrl(queueUrl);
                sqs.deleteMessage(deleteMessageRequest);

            } else {
                throw new Exception("no confirmation message found");
            }
        }

        // publish and receive message

        PublishRequest publishRequest = new PublishRequest();
        String messageText = "quamvis sint sub aqua, sub aqua maledicere temptant";
        publishRequest.setMessage(messageText);
        publishRequest.setSubject("unit test message");
        publishRequest.setTopicArn(topicArn);
        sns.publish(publishRequest);

        Thread.sleep(500);

        ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest();
        receiveMessageRequest.setQueueUrl(queueUrl);
        receiveMessageRequest.setMaxNumberOfMessages(1);
        ReceiveMessageResult receiveMessageResult = sqs.receiveMessage(receiveMessageRequest);

        List<Message> messages = receiveMessageResult.getMessages();

        if (messages != null && messages.size() == 1) {

            String messageBody = messages.get(0).getBody();

            if (!messageBody.contains(messageText)) {
                throw new Exception("message text not found");
            }

            DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest();
            deleteMessageRequest.setReceiptHandle(messages.get(0).getReceiptHandle());
            deleteMessageRequest.setQueueUrl(queueUrl);
            sqs.deleteMessage(deleteMessageRequest);

        } else {
            throw new Exception("no messages found");
        }

        // subscribe and confirm http endpoint

        String id = randomGenerator.nextLong() + "";
        String endPointUrl = CMBTestingConstants.HTTP_ENDPOINT_BASE_URL + "recv/" + id;
        String lastMessageUrl = CMBTestingConstants.HTTP_ENDPOINT_BASE_URL + "info/" + id + "?showLast=true";

        subscribeRequest = new SubscribeRequest();
        subscribeRequest.setEndpoint(endPointUrl);
        subscribeRequest.setProtocol("http");
        subscribeRequest.setTopicArn(topicArn);
        subscribeResult = sns.subscribe(subscribeRequest);
        subscriptionArn = subscribeResult.getSubscriptionArn();

        if (subscriptionArn.equals("pending confirmation")) {

            Thread.sleep(500);

            String response = httpGet(lastMessageUrl);

            JSONObject o = new JSONObject(response);

            if (!o.has("SubscribeURL")) {
                throw new Exception("message is not a confirmation messsage");
            }

            String subscriptionUrl = o.getString("SubscribeURL");

            response = httpGet(subscriptionUrl);
        }

        // publish and receive message

        publishRequest = new PublishRequest();
        publishRequest.setMessage(messageText);
        publishRequest.setSubject("unit test message");
        publishRequest.setTopicArn(topicArn);
        sns.publish(publishRequest);

        Thread.sleep(500);

        String response = httpGet(lastMessageUrl);

        if (response != null && response.length() > 0) {

            if (!response.contains(messageText)) {
                throw new Exception("message text not found");
            }

        } else {
            throw new Exception("no messages found");
        }

        // delete queue and topic

        DeleteTopicRequest deleteTopicRequest = new DeleteTopicRequest(topicArn);
        sns.deleteTopic(deleteTopicRequest);

        sqs.deleteQueue(new DeleteQueueRequest(queueUrl));

        System.out.println("OK");

    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

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

License:Apache License

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

    if (redirectUnauthenticatedUser(request, response)) {
        return;/*  w w w.j  ava 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 topicName = request.getParameter("topic");
    String arn = request.getParameter("arn");
    String displayName = request.getParameter("display");
    String nextToken = request.getParameter("nextToken");

    List<Topic> topics = new ArrayList<Topic>();

    connect(request);

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

        try {

            CreateTopicRequest createTopicRequest = new CreateTopicRequest(topicName);
            CreateTopicResult createTopicResult = sns.createTopic(createTopicRequest);

            arn = createTopicResult.getTopicArn();

            SetTopicAttributesRequest setTopicAttributesRequest = new SetTopicAttributesRequest(arn,
                    "DisplayName", displayName);
            sns.setTopicAttributes(setTopicAttributesRequest);

            logger.debug("event=create topic_name=" + topicName + " topic_arn=" + arn + " user_id=" + userId);

        } catch (Exception ex) {
            logger.error("event=create topic_name=" + topicName + " user_id=" + userId);
            throw new ServletException(ex);
        }

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

        try {
            DeleteTopicRequest deleteTopicRequest = new DeleteTopicRequest(arn);
            sns.deleteTopic(deleteTopicRequest);
            logger.debug("event=delete_topic topic_arn=" + arn + " user_id= " + userId);
        } catch (Exception ex) {
            logger.error("event=delete_topic topic_arn=" + arn + " user_id= " + userId, ex);
            throw new ServletException(ex);
        }

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

        try {

            ListTopicsRequest listTopicRequest = new ListTopicsRequest();

            if (nextToken != null) {
                listTopicRequest.setNextToken(nextToken);
            }

            ListTopicsResult listTopicResult = sns.listTopics(listTopicRequest);
            topics = listTopicResult.getTopics();

        } catch (Exception ex) {
            logger.error("event=list_topics user_id= " + userId, ex);
            throw new ServletException(ex);
        }

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

            Topic t = topics.get(i);

            try {
                DeleteTopicRequest deleteTopicRequest = new DeleteTopicRequest(t.getTopicArn());
                sns.deleteTopic(deleteTopicRequest);
                logger.debug("event=delete_topic topic_arn=" + (t != null ? t.getTopicArn() : "null")
                        + " user_id= " + userId);
            } catch (Exception ex) {
                logger.error("event=delete_topic topic_arn=" + (t != null ? t.getTopicArn() : "null")
                        + " user_id= " + userId, ex);
            }
        }
    }

    out.println("<html>");

    header(request, out, "Topics");

    out.println("<body>");

    out.println("<h2>Topics</h2>");

    long numTopics = 0;

    try {
        numTopics = PersistenceFactory.getUserPersistence().getNumUserTopics(userId);
    } catch (PersistenceException ex) {
        logger.warn("event=queue_count_failure", ex);
    }

    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>");
        out.println("<tr><td><b>Topic Count</b></td><td>" + numTopics + "</td></tr></table>");
    }

    out.println("<p><table>");
    out.println("<tr><td><b>Topic Name</b></td><td><b>Topic Display Name</b></td><td></td></tr>");
    out.println("<form action=\"/webui/cnsuser?userId=" + userId + "\" " + "method=POST>");
    out.println(
            "<tr><td><input type='text' name='topic' /></td><td><input type='text' name='display'><input type='hidden' name='userId' value='"
                    + userId
                    + "'></td><td><input type='submit' value='Create' name='Create' /></td></tr></form></table></p>");

    out.println("<p><table>");
    out.println("<form action=\"/webui/cnsuser?userId=" + userId + "\" " + "method=POST>");
    out.println("<tr><td><input type='hidden' name='userId' value='" + userId
            + "'></td><td><input type='submit' value='Delete All' name='DeleteAll' onclick=\"return confirm('Are you sure you want to delete all topics?')\" /></td></tr></form></table></p>");

    ListTopicsResult listTopicResult = null;

    try {

        ListTopicsRequest listTopicRequest = new ListTopicsRequest();

        if (nextToken != null) {
            listTopicRequest.setNextToken(nextToken);
        }

        listTopicResult = sns.listTopics(listTopicRequest);
        topics = listTopicResult.getTopics();

    } catch (Exception ex) {
        logger.error("event=list_topics user_id= " + userId, ex);
        throw new ServletException(ex);
    }

    out.println("<p><hr width='100%' align='left' /></p>");
    out.println("<p><table class = 'alternatecolortable' border='1'>");
    out.println("<tr><th>&nbsp;</th>");
    out.println("<th>Topic Arn</th>");
    out.println("<th>Topic Name</th>");
    out.println("<th>Topic Display Name</th>");
    out.println("<th>User ID</th>");
    out.println("<th>Subscriptions Pending</th>");
    out.println("<th>Subscriptions Confirmed</th>");
    out.println("<th>&nbsp;</th>");
    out.println("<th>&nbsp;</th>");
    out.println("<th>&nbsp;</th>");
    out.println("<th>&nbsp;</th>");
    out.println("<th>&nbsp;</th></tr>");

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

        Topic t = topics.get(i);

        GetTopicAttributesRequest getTopicAttributesRequest = new GetTopicAttributesRequest(t.getTopicArn());
        GetTopicAttributesResult getTopicAttributesResult = sns.getTopicAttributes(getTopicAttributesRequest);
        Map<String, String> attributes = getTopicAttributesResult.getAttributes();

        out.println("<tr>");
        out.println("<form action=\"/webui/cnsuser?userId=" + userId + "\" method=POST>");
        out.println("<td>" + i + "</td>");
        out.println("<td>" + t.getTopicArn() + "<input type='hidden' name='arn' value=" + t.getTopicArn()
                + "></td>");
        out.println("<td>" + Util.getNameFromTopicArn(t.getTopicArn()) + "</td>");
        out.println("<td><a href='' onclick=\"window.open('/webui/cnsuser/editdisplayname?topicArn="
                + t.getTopicArn() + "&userId=" + userId
                + "', 'EditDisplayName', 'height=300,width=700,toolbar=no')\">"
                + (attributes.get("DisplayName") == null ? "{unset}" : attributes.get("DisplayName"))
                + "</a></td>");
        out.println("<td>" + user.getUserId() + "<input type='hidden' name='userId' value=" + user.getUserId()
                + "></td>");
        out.println("<td>" + attributes.get("SubscriptionsPending") + "</td>");
        out.println("<td>" + attributes.get("SubscriptionsConfirmed") + "</td>");
        out.println("<td><a href='/webui/cnsuser/subscription?userId=" + userId + "&topicArn=" + t.getTopicArn()
                + "'>Subscriptions</a></td>");
        out.println("<td><a href='/webui/cnsuser/publish?userId=" + userId + "&topicArn=" + t.getTopicArn()
                + "' target='_blank'>Publish</a></td>");
        out.println("<td><a href='' onclick=\"window.open('/webui/cnsuser/editdeliverypolicy?topicArn="
                + t.getTopicArn() + "&userId=" + userId
                + "', 'EditDeliveryPolicy', 'height=630,width=580,toolbar=no')\">View/Edit Topic Delivery Policy</a></td>");
        out.println("<td><a href='/webui/cnsuser/permission?topicArn=" + t.getTopicArn() + "&userId=" + userId
                + "'>Permission</a></td>");
        out.println(
                "<td><input type='submit' value='Delete' name='Delete' onclick=\"return confirm('Are you sure you want to delete topic "
                        + Util.getNameFromTopicArn(t.getTopicArn()) + "?')\" /></td></form></tr>");
    }

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

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

    out.println("<h5 style='text-align:center;'><a href='/webui'>ADMIN HOME</a></h5>");
    out.println("</body></html>");

    CMBControllerServlet.valueAccumulator.deleteAllCounters();
}

From source file:com.dev.appx.sns.SNSMobilePush.java

License:Open Source License

public void deleteTopic(String topicArn) throws IOException {

    //AmazonSNSClient snsClient = new AmazonSNSClient(new ClasspathPropertiesFileCredentialsProvider());   

    AmazonSNS snsClient = new AmazonSNSClient(
            new PropertiesCredentials(SNSMobilePush.class.getResourceAsStream("AwsCredentials.properties")));
    //delete an SNS topic
    DeleteTopicRequest deleteTopicRequest = new DeleteTopicRequest(topicArn);
    snsClient.deleteTopic(deleteTopicRequest);
    //get request id for DeleteTopicRequest from SNS metadata
    System.out.println("DeleteTopicRequest - " + snsClient.getCachedResponseMetadata(deleteTopicRequest));

}

From source file:com.easarrive.aws.plugins.common.service.impl.SNSService.java

License:Open Source License

/**
 * {@inheritDoc}//  w  w  w. j  a  va  2 s. c  o  m
 */
@Override
public DeleteTopicResult deleteTopic(AmazonSNS client, SNSTopicRequest topicRequest) {
    if (topicRequest == null) {
        return null;
    }
    // delete an SNS topic
    DeleteTopicRequest deleteTopicRequest = new DeleteTopicRequest(topicRequest.getTopicArn());
    DeleteTopicResult result = client.deleteTopic(deleteTopicRequest);

    return result;
}

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:net.smartcosmos.plugin.service.aws.notification.AwsNotificationService.java

License:Apache License

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

    Preconditions.checkArgument((notificationEndpoint.getTopicArn() != null),
            "Notification Topic ARN must not be null");

    AmazonSNS sns = new AmazonSNSClient(credentials);
    Region usEast1 = Region.getRegion(Regions.US_EAST_1);
    sns.setRegion(usEast1);//from   w ww. j  av a 2s.c  o  m

    try {
        DeleteTopicRequest request = new DeleteTopicRequest(notificationEndpoint.getTopicArn());
        sns.deleteTopic(request);
    } finally {
        sns.shutdown();
    }

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

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.//from  ww w .jav a2 s.c  o m
 */
private void cleanUp() {
    snsClient.unsubscribe(new UnsubscribeRequest(snsSubscriptionARN));
    snsClient.deleteTopic(new DeleteTopicRequest(snsTopicARN));
    sqsClient.deleteQueue(new DeleteQueueRequest(sqsQueueURL));
}