Package com.discoverydns.dnsapiclient.example.message

Source Code of com.discoverydns.dnsapiclient.example.message.MessagePollCommandExample

package com.discoverydns.dnsapiclient.example.message;

import java.util.Map;

import ch.qos.logback.classic.Level;

import com.discoverydns.dnsapiclient.DNSAPIClient;
import com.discoverydns.dnsapiclient.DNSAPIClientFactory;
import com.discoverydns.dnsapiclient.Response;
import com.discoverydns.dnsapiclient.command.message.MessagePollCommand;
import com.discoverydns.dnsapiclient.command.message.MessagePollResponse;
import com.discoverydns.dnsapiclient.config.DNSAPIClientConfig;
import com.discoverydns.dnsapiclient.config.DefaultSSLContextFactoryConfig;
import com.discoverydns.dnsapiclient.config.DefaultTransactionLogHandlerConfig;
import com.discoverydns.dnsapiclient.example.ExampleDNSAPIClientConfig;
import com.discoverydns.dnsapiclient.example.ExampleDefaultSSLContextFactoryConfig;
import com.discoverydns.dnsapiclient.example.ExampleDefaultTransactionLogHandlerConfig;

/**
* Example of sending a
* {@link com.discoverydns.dnsapiclient.command.message.MessagePollCommand} and
* receiving a
* {@link com.discoverydns.dnsapiclient.command.message.MessagePollResponse}
*
* @author Arnaud Dumont
*/
public class MessagePollCommandExample {

  public static void main(String[] args) {
    // Configure logging properties, using Logback
    final ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) org.slf4j.LoggerFactory
        .getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
    root.setLevel(Level.INFO);

    // Instantiate configuration beans
    final DNSAPIClientConfig config = new ExampleDNSAPIClientConfig();
    final DefaultSSLContextFactoryConfig sslConfig = new ExampleDefaultSSLContextFactoryConfig();
    final DefaultTransactionLogHandlerConfig logConfig = new ExampleDefaultTransactionLogHandlerConfig();

    // Instantiate client instance from DNSAPIClientFactory
    final DNSAPIClientFactory dnsapiClientFactory = new DNSAPIClientFactory();
    DNSAPIClient client = null;
    try {
      client = dnsapiClientFactory.createInstanceFromDefaultProviders(
          config, sslConfig, logConfig);
    } catch (final Exception e) {
      e.printStackTrace();
      System.exit(1);
    }

    // Create command
    final MessagePollCommand command = new MessagePollCommand.Builder()
        .build();

    // Send command to server and receive response
    try {
      Response<MessagePollResponse> response = client.process(command);

      System.out.println("== Successful response ==");
      System.out.println("== Server transaction id: "
          + response.getServerTransactionId());
      System.out.println("== Client transaction id: "
          + response.getClientTransactionId());
      System.out.println("== Processing time: "
          + response.getTransactionProcessingTime() + "ms");

      System.out.println("Outstanding Message Count: "
          + response.getResponseObject()
              .getOutstandingMessageCount());
      // The response object can now be used
      if (response.getResponseObject().getMessageRecord() == null) {
        System.out.println("No message found");
      } else {
        System.out.println("URI: "
            + response.getResponseObject().getMessageRecord().getUri());
        System.out.println("Message UUID: "
            + response.getResponseObject().getMessageRecord().getId());
        System.out.println("Message code: "
            + response.getResponseObject().getMessageRecord()
                .getMessageCode());
        System.out.println("Target account UUID: "
            + response.getResponseObject().getMessageRecord()
                .getTargetAccountId());
        System.out.println("Message enqueue date: "
            + response.getResponseObject().getMessageRecord()
                .getEnqueueDate());
        System.out.println("Subject: "
            + response.getResponseObject().getMessageRecord()
                .getSubject());
        System.out.println("Message: "
            + response.getResponseObject().getMessageRecord()
                .getMessage());
        System.out.println("Parameters:");
        for (Map.Entry<String, String> entry : response
            .getResponseObject().getMessageRecord().getParameters()
            .entrySet()) {
          System.out.println("  Key: " + entry.getKey() + " Value: "
              + entry.getValue());
        }
      }
    } catch (final Throwable e) {
      e.printStackTrace();
      System.exit(1);
    }
  }
}
TOP

Related Classes of com.discoverydns.dnsapiclient.example.message.MessagePollCommandExample

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.