couple of fixes in MRClientBuilders.java

Change-Id: Iad8229ec47c2fc08390f203edeb51acd74058e61
Issue-ID: DMAAP-770
Signed-off-by: Mohamed Asgar Samiulla <sammoham@in.ibm.com>
diff --git a/src/main/java/com/att/nsa/mr/client/MRClientBuilders.java b/src/main/java/com/att/nsa/mr/client/MRClientBuilders.java
index 76df039..73ef5c4 100644
--- a/src/main/java/com/att/nsa/mr/client/MRClientBuilders.java
+++ b/src/main/java/com/att/nsa/mr/client/MRClientBuilders.java
@@ -4,6 +4,8 @@
  *  ================================================================================
  *  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
  *  ================================================================================
+ *   Modifications Copyright © 2018 IBM.
+ *  ================================================================================
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
  *  You may obtain a copy of the License at
@@ -40,344 +42,408 @@
  */
 public class MRClientBuilders
 {
-	/**
-	 * A builder for a topic Consumer
-	 * @author author
-	 */
-	public static class ConsumerBuilder
-	{
-		/**
-		 * Construct a consumer builder.
-		 */
-		public ConsumerBuilder () {}
 
-		/**
-		 * Set the host list
-		 * @param hostList a comma-separated list of hosts to use to connect to MR
-		 * @return this builder
-		 */
-		public ConsumerBuilder usingHosts ( String hostList ) { return usingHosts ( MRConsumerImpl.stringToList(hostList) ); }
+    /**
+     * Instantiates MRClientBuilders.
+     */
+    private MRClientBuilders() {
+        // prevent instantiation
+    }
+    
+    /**
+     * A builder for a topic Consumer
+     * @author author
+     */
+    public static class ConsumerBuilder
+    {
+        /**
+         * Construct a consumer builder.
+         */
+        public ConsumerBuilder () {}
 
-		/**
-		 * Set the host list
-		 * @param hostSet a set of hosts to use to connect to MR
-		 * @return this builder
-		 */
-		public ConsumerBuilder usingHosts ( Collection<String> hostSet ) { fHosts = hostSet; return this; }
+        /**
+         * Set the host list
+         * @param hostList a comma-separated list of hosts to use to connect to MR
+         * @return this builder
+         */
+        public ConsumerBuilder usingHosts ( String hostList ) { 
+            return usingHosts ( MRConsumerImpl.stringToList(hostList) ); 
+        }
 
-		/**
-		 * Set the topic
-		 * @param topic the name of the topic to consume
-		 * @return this builder
-		 */
-		public ConsumerBuilder onTopic ( String topic ) { fTopic=topic; return this; }
+        /**
+         * Set the host list
+         * @param hostSet a set of hosts to use to connect to MR
+         * @return this builder
+         */
+        public ConsumerBuilder usingHosts ( Collection<String> hostSet ) { 
+            fHosts = hostSet; return this; 
+        }
 
-		/**
-		 * Set the consumer's group and ID
-		 * @param consumerGroup The name of the consumer group this consumer is part of
-		 * @param consumerId The unique id of this consumer in its group
-		 * @return this builder
-		 */
-		public ConsumerBuilder knownAs ( String consumerGroup, String consumerId ) { fGroup = consumerGroup; fId = consumerId; return this; }
+        /**
+         * Set the topic
+         * @param topic the name of the topic to consume
+         * @return this builder
+         */
+        public ConsumerBuilder onTopic ( String topic ) { 
+            fTopic=topic; 
+            return this; 
+        }
 
-		/**
-		 * Set the API key and secret for this client.
-		 * @param apiKey
-		 * @param apiSecret
-		 * @return this builder
-		 */
-		public ConsumerBuilder authenticatedBy ( String apiKey, String apiSecret ) { fApiKey = apiKey; fApiSecret = apiSecret; return this; }
+        /**
+         * Set the consumer's group and ID
+         * @param consumerGroup The name of the consumer group this consumer is part of
+         * @param consumerId The unique id of this consumer in its group
+         * @return this builder
+         */
+        public ConsumerBuilder knownAs ( String consumerGroup, String consumerId ) { 
+            fGroup = consumerGroup; 
+            fId = consumerId; 
+            return this; 
+        }
 
-		/**
-		 * Set the server side timeout
-		 * @param timeoutMs	The amount of time in milliseconds that the server should keep the connection open while waiting for message traffic.
-		 * @return this builder
-		 */
-		public ConsumerBuilder waitAtServer ( int timeoutMs ) { fTimeoutMs = timeoutMs; return this; };
+        /**
+         * Set the API key and secret for this client.
+         * @param apiKey
+         * @param apiSecret
+         * @return this builder
+         */
+        public ConsumerBuilder authenticatedBy ( String apiKey, String apiSecret ) { 
+            fApiKey = apiKey; 
+            fApiSecret = apiSecret; 
+            return this; 
+        }
 
-		/**
-		 * Set the maximum number of messages to receive per transaction
-		 * @param limit The maximum number of messages to receive from the server in one transaction.
-		 * @return this builder
-		 */
-		public ConsumerBuilder receivingAtMost ( int limit ) { fLimit = limit; return this; };
+        /**
+         * Set the server side timeout
+         * @param timeoutMs    The amount of time in milliseconds that the server should keep the connection open while waiting for message traffic.
+         * @return this builder
+         */
+        public ConsumerBuilder waitAtServer ( int timeoutMs ) { 
+            fTimeoutMs = timeoutMs; 
+            return this; 
+        };
 
-		/**
-		 * Set a filter to use on the server
-		 * @param filter a Highland Park standard library filter encoded in JSON
-		 * @return this builder
-		 */
-		public ConsumerBuilder withServerSideFilter ( String filter ) { fFilter = filter; return this; }
+        /**
+         * Set the maximum number of messages to receive per transaction
+         * @param limit The maximum number of messages to receive from the server in one transaction.
+         * @return this builder
+         */
+        public ConsumerBuilder receivingAtMost ( int limit ) { 
+            fLimit = limit; 
+            return this; 
+        };
 
-		/**
-		 * Build the consumer
-		 * @return a consumer
-		 */
-		public MRConsumer build ()
-		{
-			if ( fHosts == null || fHosts.size() == 0 || fTopic == null )
-			{
-				throw new IllegalArgumentException ( "You must provide at least one host and a topic name." );
-			}
+        /**
+         * Set a filter to use on the server
+         * @param filter a Highland Park standard library filter encoded in JSON
+         * @return this builder
+         */
+        public ConsumerBuilder withServerSideFilter ( String filter ) { 
+            fFilter = filter; 
+            return this; 
+        }
 
-			if ( fGroup == null )
-			{
-				fGroup = UUID.randomUUID ().toString ();
-				fId = "0";
-				log.info ( "Creating non-restartable client with group " + fGroup + " and ID " + fId + "." );
-			}
+        /**
+         * Build the consumer
+         * @return a consumer
+         */
+        public MRConsumer build ()
+        {
+            if ( fHosts == null || fHosts.size() == 0 || fTopic == null )
+            {
+                throw new IllegalArgumentException ( "You must provide at least one host and a topic name." );
+            }
 
-			if ( sfConsumerMock != null ) return sfConsumerMock;
-			try {
-				return new MRConsumerImpl ( fHosts, fTopic, fGroup, fId, fTimeoutMs, fLimit, fFilter, fApiKey, fApiSecret );
-			} catch (MalformedURLException e) {
-				throw new IllegalArgumentException(e);
-			}
-		}
+            if ( fGroup == null )
+            {
+                fGroup = UUID.randomUUID ().toString ();
+                fId = "0";
+                log.info ( "Creating non-restartable client with group " + fGroup + " and ID " + fId + "." );
+            }
 
-		private Collection<String> fHosts = null;
-		private String fTopic = null;
-		private String fGroup = null;
-		private String fId = null;
-		private String fApiKey = null;
-		private String fApiSecret = null;
-		private int fTimeoutMs = -1;
-		private int fLimit = -1;
-		private String fFilter = null;
-	}
+            if ( sfConsumerMock != null ) return sfConsumerMock;
+            try {
+                return new MRConsumerImpl ( fHosts, fTopic, fGroup, fId, fTimeoutMs, fLimit, fFilter, fApiKey, fApiSecret );
+            } catch (MalformedURLException e) {
+                throw new IllegalArgumentException(e);
+            }
+        }
 
-	/*************************************************************************/
-	/*************************************************************************/
-	/*************************************************************************/
+        private Collection<String> fHosts = null;
+        private String fTopic = null;
+        private String fGroup = null;
+        private String fId = null;
+        private String fApiKey = null;
+        private String fApiSecret = null;
+        private int fTimeoutMs = -1;
+        private int fLimit = -1;
+        private String fFilter = null;
+    }
 
-	/**
-	 * A publisher builder
-	 * @author author
-	 */
-	public static class PublisherBuilder
-	{
-		public PublisherBuilder () {}
+    /*************************************************************************/
+    /*************************************************************************/
+    /*************************************************************************/
 
-		/**
-		 * Set the MR/UEB host(s) to use
-		 * @param hostlist The host(s) used in the URL to MR. Can be "host:port", can be multiple comma-separated entries.
-		 * @return this builder
-		 */
-		public PublisherBuilder usingHosts ( String hostlist ) { return usingHosts ( MRConsumerImpl.stringToList(hostlist) ); }
+    /**
+     * A publisher builder
+     * @author author
+     */
+    public static class PublisherBuilder
+    {
+        public PublisherBuilder () {}
 
-		/**
-		 * Set the MR/UEB host(s) to use
-		 * @param hostSet The host(s) used in the URL to MR. Can be "host:port"
-		 * @return this builder
-		 */
-		public PublisherBuilder usingHosts ( String[] hostSet )
-		{
-			final TreeSet<String> hosts = new TreeSet<String> ();
-			for ( String hp : hostSet )
-			{
-				hosts.add ( hp );
-			}
-			return usingHosts ( hosts );
-		}
+        /**
+         * Set the MR/UEB host(s) to use
+         * @param hostlist The host(s) used in the URL to MR. Can be "host:port", can be multiple comma-separated entries.
+         * @return this builder
+         */
+        public PublisherBuilder usingHosts ( String hostlist ) { 
+            return usingHosts ( MRConsumerImpl.stringToList(hostlist) ); 
+        }
 
-		/**
-		 * Set the MR/UEB host(s) to use
-		 * @param hostlist The host(s) used in the URL to MR. Can be "host:port".
-		 * @return this builder
-		 */
-		public PublisherBuilder usingHosts ( Collection<String> hostlist ) { fHosts=hostlist; return this; }
+        /**
+         * Set the MR/UEB host(s) to use
+         * @param hostSet The host(s) used in the URL to MR. Can be "host:port"
+         * @return this builder
+         */
+        public PublisherBuilder usingHosts ( String[] hostSet )
+        {
+            final TreeSet<String> hosts = new TreeSet<String> ();
+            for ( String hp : hostSet )
+            {
+                hosts.add ( hp );
+            }
+            return usingHosts ( hosts );
+        }
 
-		/**
-		 * Set the topic to publish on
-		 * @param topic The topic on which to publish messages.
-		 * @return this builder
-		 */
-		public PublisherBuilder onTopic ( String topic ) { fTopic = topic; return this; }
+        /**
+         * Set the MR/UEB host(s) to use
+         * @param hostlist The host(s) used in the URL to MR. Can be "host:port".
+         * @return this builder
+         */
+        public PublisherBuilder usingHosts ( Collection<String> hostlist ) { 
+            fHosts=hostlist; 
+            return this; 
+        }
 
-		/**
-		 * Batch message sends with the given limits.
-		 * @param messageCount The largest set of messages to batch.
-		 * @param ageInMs The maximum age of a message waiting in a batch.
-		 * @return this builder
-		 */
-		public PublisherBuilder limitBatch ( int messageCount, int ageInMs ) { fMaxBatchSize = messageCount; fMaxBatchAgeMs = ageInMs; return this; }
+        /**
+         * Set the topic to publish on
+         * @param topic The topic on which to publish messages.
+         * @return this builder
+         */
+        public PublisherBuilder onTopic ( String topic ) { 
+            fTopic = topic; 
+            return this; 
+        }
 
-		/**
-		 * Compress transactions
-		 * @return this builder
-		 */
-		public PublisherBuilder withCompresion () { return enableCompresion(true); }
+        /**
+         * Batch message sends with the given limits.
+         * @param messageCount The largest set of messages to batch.
+         * @param ageInMs The maximum age of a message waiting in a batch.
+         * @return this builder
+         */
+        public PublisherBuilder limitBatch ( int messageCount, int ageInMs ) { 
+            fMaxBatchSize = messageCount; 
+            fMaxBatchAgeMs = ageInMs; 
+            return this; 
+        }
 
-		/**
-		 * Do not compress transactions
-		 * @return this builder
-		 */
-		public PublisherBuilder withoutCompresion () { return enableCompresion(false); }
+        /**
+         * Compress transactions
+         * @return this builder
+         */
+        public PublisherBuilder withCompresion () { 
+            return enableCompresion(true); 
+        }
 
-		/**
-		 * Set the compression option
-		 * @param compress true to gzip compress transactions
-		 * @return this builder
-		 */
-		public PublisherBuilder enableCompresion ( boolean compress ) { fCompress = compress; return this; }
+        /**
+         * Do not compress transactions
+         * @return this builder
+         */
+        public PublisherBuilder withoutCompresion () { 
+            return enableCompresion(false); 
+        }
 
-		/**
-		 * Set the API key and secret for this client.
-		 * @param apiKey
-		 * @param apiSecret
-		 * @return this builder
-		 */
-		public PublisherBuilder authenticatedBy ( String apiKey, String apiSecret ) { fApiKey = apiKey; fApiSecret = apiSecret; return this; }
+        /**
+         * Set the compression option
+         * @param compress true to gzip compress transactions
+         * @return this builder
+         */
+        public PublisherBuilder enableCompresion ( boolean compress ) { 
+            fCompress = compress; 
+            return this; 
+        }
 
-		/**
-		 * Build the publisher
-		 * @return a batching publisher
-		 */
-		public MRBatchingPublisher build ()
-		{
-			if ( fHosts == null || fHosts.isEmpty() || fTopic == null )
-			{
-				throw new IllegalArgumentException ( "You must provide at least one host and a topic name." );
-			}
+        /**
+         * Set the API key and secret for this client.
+         * @param apiKey
+         * @param apiSecret
+         * @return this builder
+         */
+        public PublisherBuilder authenticatedBy ( String apiKey, String apiSecret ) { 
+            fApiKey = apiKey; 
+            fApiSecret = apiSecret; 
+            return this; 
+        }
 
-			if ( sfPublisherMock != null ) return sfPublisherMock;
+        /**
+         * Build the publisher
+         * @return a batching publisher
+         */
+        public MRBatchingPublisher build ()
+        {
+            if ( fHosts == null || fHosts.isEmpty() || fTopic == null )
+            {
+                throw new IllegalArgumentException ( "You must provide at least one host and a topic name." );
+            }
 
-			final MRSimplerBatchPublisher pub = new MRSimplerBatchPublisher.Builder ().
-				againstUrls ( fHosts ).
-				onTopic ( fTopic ).
-				batchTo ( fMaxBatchSize, fMaxBatchAgeMs ).
-				compress ( fCompress ).
-				build ();
-			if ( fApiKey != null )
-			{
-				pub.setApiCredentials ( fApiKey, fApiSecret );
-			}
-			return pub;
-		}
-		
-		private Collection<String> fHosts = null;
-		private String fTopic = null;
-		private int fMaxBatchSize = 1;
-		private int fMaxBatchAgeMs = 1;
-		private boolean fCompress = false;
-		private String fApiKey = null;
-		private String fApiSecret = null;
-	}
+            if ( sfPublisherMock != null ) return sfPublisherMock;
 
-	/**
-	 * A builder for an identity manager
-	 * @author author
-	 */
-	public static class IdentityManagerBuilder extends AbstractAuthenticatedManagerBuilder<MRIdentityManager>
-	{
-		/**
-		 * Construct an identity manager builder.
-		 */
-		public IdentityManagerBuilder () {}
+            final MRSimplerBatchPublisher pub = new MRSimplerBatchPublisher.Builder ().
+                againstUrls ( fHosts ).
+                onTopic ( fTopic ).
+                batchTo ( fMaxBatchSize, fMaxBatchAgeMs ).
+                compress ( fCompress ).
+                build ();
+            if ( fApiKey != null )
+            {
+                pub.setApiCredentials ( fApiKey, fApiSecret );
+            }
+            return pub;
+        }
+        
+        private Collection<String> fHosts = null;
+        private String fTopic = null;
+        private int fMaxBatchSize = 1;
+        private int fMaxBatchAgeMs = 1;
+        private boolean fCompress = false;
+        private String fApiKey = null;
+        private String fApiSecret = null;
+    }
 
-		@Override
-		protected MRIdentityManager constructClient ( Collection<String> hosts ) { try {
-			return new MRMetaClient ( hosts );
-		} catch (MalformedURLException e) {
-			throw new IllegalArgumentException(e);
-		} }
-	}
+    /**
+     * A builder for an identity manager
+     * @author author
+     */
+    public static class IdentityManagerBuilder extends AbstractAuthenticatedManagerBuilder<MRIdentityManager>
+    {
+        /**
+         * Construct an identity manager builder.
+         */
+        public IdentityManagerBuilder () {}
 
-	/**
-	 * A builder for a topic manager
-	 * @author author
-	 */
-	public static class TopicManagerBuilder extends AbstractAuthenticatedManagerBuilder<MRTopicManager>
-	{
-		/**
-		 * Construct an topic manager builder.
-		 */
-		public TopicManagerBuilder () {}
+        @Override
+        protected MRIdentityManager constructClient ( Collection<String> hosts ) { try {
+            return new MRMetaClient ( hosts );
+        } catch (MalformedURLException e) {
+            throw new IllegalArgumentException(e);
+        } }
+    }
 
-		@Override
-		protected MRTopicManager constructClient ( Collection<String> hosts ) { try {
-			return new MRMetaClient ( hosts );
-		} catch (MalformedURLException e) {
-			throw new IllegalArgumentException(e);
-		} }
-	}
+    /**
+     * A builder for a topic manager
+     * @author author
+     */
+    public static class TopicManagerBuilder extends AbstractAuthenticatedManagerBuilder<MRTopicManager>
+    {
+        /**
+         * Construct an topic manager builder.
+         */
+        public TopicManagerBuilder () {}
 
-	/**
-	 * Inject a consumer. Used to support unit tests.
-	 * @param cc
-	 */
-	public static void $testInject ( MRConsumer cc )
-	{
-		sfConsumerMock = cc;
-	}
+        @Override
+        protected MRTopicManager constructClient ( Collection<String> hosts ) { try {
+            return new MRMetaClient ( hosts );
+        } catch (MalformedURLException e) {
+            throw new IllegalArgumentException(e);
+        } }
+    }
 
-	/**
-	 * Inject a publisher. Used to support unit tests.
-	 * @param pub
-	 */
-	public static void $testInject ( MRBatchingPublisher pub )
-	{
-		sfPublisherMock = pub;
-	}
+    /**
+     * Inject a consumer. Used to support unit tests.
+     * @param cc
+     */
+    public static void $testInject ( MRConsumer cc )
+    {
+        sfConsumerMock = cc;
+    }
 
-	static MRConsumer sfConsumerMock = null;
-	static MRBatchingPublisher sfPublisherMock = null;
+    /**
+     * Inject a publisher. Used to support unit tests.
+     * @param pub
+     */
+    public static void $testInject ( MRBatchingPublisher pub )
+    {
+        sfPublisherMock = pub;
+    }
 
-	/**
-	 * A builder for an identity manager
-	 * @author author
-	 */
-	public static abstract class AbstractAuthenticatedManagerBuilder<T extends MRClient>
-	{
-		/**
-		 * Construct an identity manager builder.
-		 */
-		public AbstractAuthenticatedManagerBuilder () {}
+    static MRConsumer sfConsumerMock = null;
+    static MRBatchingPublisher sfPublisherMock = null;
 
-		/**
-		 * Set the host list
-		 * @param hostList a comma-separated list of hosts to use to connect to MR
-		 * @return this builder
-		 */
-		public AbstractAuthenticatedManagerBuilder<T> usingHosts ( String hostList ) { return usingHosts ( MRConsumerImpl.stringToList(hostList) ); }
+    /**
+     * A builder for an identity manager
+     * @author author
+     */
+    public static abstract class AbstractAuthenticatedManagerBuilder<T extends MRClient>
+    {
+        /**
+         * Construct an identity manager builder.
+         */
+        public AbstractAuthenticatedManagerBuilder () {}
 
-		/**
-		 * Set the host list
-		 * @param hostSet a set of hosts to use to connect to MR
-		 * @return this builder
-		 */
-		public AbstractAuthenticatedManagerBuilder<T> usingHosts ( Collection<String> hostSet ) { fHosts = hostSet; return this; }
+        /**
+         * Set the host list
+         * @param hostList a comma-separated list of hosts to use to connect to MR
+         * @return this builder
+         */
+        public AbstractAuthenticatedManagerBuilder<T> usingHosts ( String hostList ) { 
+            return usingHosts ( MRConsumerImpl.stringToList(hostList) ); 
+        }
 
-		/**
-		 * Set the API key and secret for this client.
-		 * @param apiKey
-		 * @param apiSecret
-		 * @return this builder
-		 */
-		public AbstractAuthenticatedManagerBuilder<T> authenticatedBy ( String apiKey, String apiSecret ) { fApiKey = apiKey; fApiSecret = apiSecret; return this; }
+        /**
+         * Set the host list
+         * @param hostSet a set of hosts to use to connect to MR
+         * @return this builder
+         */
+        public AbstractAuthenticatedManagerBuilder<T> usingHosts ( Collection<String> hostSet ) { 
+            fHosts = hostSet; 
+            return this; 
+        }
 
-		/**
-		 * Build the consumer
-		 * @return a consumer
-		 */
-		public T build ()
-		{
-			 if ( fHosts.isEmpty() ) 
-			{
-				throw new IllegalArgumentException ( "You must provide at least one host and a topic name." );
-			}
+        /**
+         * Set the API key and secret for this client.
+         * @param apiKey
+         * @param apiSecret
+         * @return this builder
+         */
+        public AbstractAuthenticatedManagerBuilder<T> authenticatedBy ( String apiKey, String apiSecret ) { 
+            fApiKey = apiKey; 
+            fApiSecret = apiSecret; 
+            return this; 
+        }
 
-			final T mgr = constructClient ( fHosts );
-			mgr.setApiCredentials ( fApiKey, fApiSecret );
-			return mgr;
-		}
+        /**
+         * Build the consumer
+         * @return a consumer
+         */
+        public T build ()
+        {
+             if ( fHosts.isEmpty() ) 
+            {
+                throw new IllegalArgumentException ( "You must provide at least one host and a topic name." );
+            }
 
-		protected abstract T constructClient ( Collection<String> hosts );
+            final T mgr = constructClient ( fHosts );
+            mgr.setApiCredentials ( fApiKey, fApiSecret );
+            return mgr;
+        }
 
-		private Collection<String> fHosts = null;
-		private String fApiKey = null;
-		private String fApiSecret = null;
-	}
+        protected abstract T constructClient ( Collection<String> hosts );
 
-	private static final Logger log = LoggerFactory.getLogger ( MRClientBuilders.class );
+        private Collection<String> fHosts = null;
+        private String fApiKey = null;
+        private String fApiSecret = null;
+    }
+    
+    private static final Logger log = LoggerFactory.getLogger ( MRClientBuilders.class );
 }
diff --git a/src/test/java/com/att/nsa/mr/client/MRClientBuildersTest.java b/src/test/java/com/att/nsa/mr/client/MRClientBuildersTest.java
index 2e7d05d..9a0a3ce 100644
--- a/src/test/java/com/att/nsa/mr/client/MRClientBuildersTest.java
+++ b/src/test/java/com/att/nsa/mr/client/MRClientBuildersTest.java
@@ -4,6 +4,8 @@
  * ================================================================================

  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.

  * ================================================================================

+ *  Modifications Copyright © 2018 IBM.

+ * ================================================================================

  * Licensed under the Apache License, Version 2.0 (the "License");

  * you may not use this file except in compliance with the License.

  * You may obtain a copy of the License at

@@ -36,215 +38,211 @@
 

 public class MRClientBuildersTest {

 

-	private Collection<String> hostSet = new ArrayList<String>();

-	private MRClientBuilders.ConsumerBuilder builder = null;

-	private MRClientBuilders.PublisherBuilder pBuilder = null;

-	private MRClientBuilders mrcBuilders = null;

+    private Collection<String> hostSet = new ArrayList<String>();

+    private MRClientBuilders.ConsumerBuilder builder = null;

+    private MRClientBuilders.PublisherBuilder pBuilder = null;

+    private String[] hostArray = new String[10];

 

-	private String[] hostArray = new String[10];

+    @Before

+    public void setUp() throws Exception {

 

-	@Before

-	public void setUp() throws Exception {

+        for (int i = 0; i < 10; i++) {

+            hostSet.add("host" + (i + 1));

+            hostArray[i] = "host" + (i + 1);

+        }

 

-		for (int i = 0; i < 10; i++) {

-			hostSet.add("host" + (i + 1));

-			hostArray[i] = "host" + (i + 1);

-		}

+        builder = new MRClientBuilders.ConsumerBuilder();

 

-		builder = new MRClientBuilders.ConsumerBuilder();

+        pBuilder = new MRClientBuilders.PublisherBuilder();

 

-		pBuilder = new MRClientBuilders.PublisherBuilder();

+    }

 

-		mrcBuilders = new MRClientBuilders();

+    @After

+    public void tearDown() throws Exception {

 

-	}

+    }

 

-	@After

-	public void tearDown() throws Exception {

+    @Test

+    public void testUsingHosts() {

 

-	}

+        builder.usingHosts("hostList");

+        assertTrue(true);

 

-	@Test

-	public void testUsingHosts() {

+    }

 

-		builder.usingHosts("hostList");

-		assertTrue(true);

+    @Test

+    public void testUsingHosts2() {

 

-	}

+        builder.usingHosts(hostSet);

+        assertTrue(true);

 

-	@Test

-	public void testUsingHosts2() {

+    }

 

-		builder.usingHosts(hostSet);

-		assertTrue(true);

+    @Test

+    public void testOnTopic() {

 

-	}

+        builder.onTopic("testTopic");

+        assertTrue(true);

 

-	@Test

-	public void testOnTopic() {

+    }

 

-		builder.onTopic("testTopic");

-		assertTrue(true);

+    @Test

+    public void testKnownAs() {

 

-	}

+        builder.knownAs("CG1", "23");

+        assertTrue(true);

 

-	@Test

-	public void testKnownAs() {

+    }

 

-		builder.knownAs("CG1", "23");

-		assertTrue(true);

+    @Test

+    public void testAuthenticatedBy() {

 

-	}

+        builder.authenticatedBy("apikey", "apisecret");

+        assertTrue(true);

 

-	@Test

-	public void testAuthenticatedBy() {

+    }

 

-		builder.authenticatedBy("apikey", "apisecret");

-		assertTrue(true);

+    @Test

+    public void testWaitAtServer() {

 

-	}

+        builder.waitAtServer(100);

+        assertTrue(true);

 

-	@Test

-	public void testWaitAtServer() {

+    }

 

-		builder.waitAtServer(100);

-		assertTrue(true);

+    @Test

+    public void testReceivingAtMost() {

 

-	}

+        builder.receivingAtMost(100);

+        assertTrue(true);

 

-	@Test

-	public void testReceivingAtMost() {

+    }

 

-		builder.receivingAtMost(100);

-		assertTrue(true);

+    @Test

+    public void testWithServerSideFilter() {

 

-	}

+        builder.withServerSideFilter("filter");

+        assertTrue(true);

 

-	@Test

-	public void testWithServerSideFilter() {

+    }

 

-		builder.withServerSideFilter("filter");

-		assertTrue(true);

+    @Test

+    public void testBuild() {

 

-	}

+        try {

 

-	@Test

-	public void testBuild() {

+            builder.build();

+        } catch (IllegalArgumentException e) {

+            assertTrue(true);

+        }

 

-		try {

+    }

 

-			builder.build();

-		} catch (IllegalArgumentException e) {

-			assertTrue(true);

-		}

+    @Test

+    public void testUsingHosts3() {

 

-	}

+        pBuilder.usingHosts("testTopic");

+        assertTrue(true);

 

-	@Test

-	public void testUsingHosts3() {

-

-		pBuilder.usingHosts("testTopic");

-		assertTrue(true);

-

-	}

+    }

 

-	@Test

-	public void testUsingHosts4() {

+    @Test

+    public void testUsingHosts4() {

 

-		pBuilder.usingHosts(hostArray);

-		assertTrue(true);

+        pBuilder.usingHosts(hostArray);

+        assertTrue(true);

 

-	}

+    }

 

-	@Test

-	public void testUsingHosts5() {

+    @Test

+    public void testUsingHosts5() {

 

-		pBuilder.usingHosts(hostSet);

-		assertTrue(true);

+        pBuilder.usingHosts(hostSet);

+        assertTrue(true);

 

-	}

+    }

 

-	@Test

-	public void testOnTopic2() {

+    @Test

+    public void testOnTopic2() {

 

-		pBuilder.onTopic("testTopic");

-		assertTrue(true);

+        pBuilder.onTopic("testTopic");

+        assertTrue(true);

 

-	}

+    }

 

-	@Test

-	public void testLimitBatch() {

+    @Test

+    public void testLimitBatch() {

 

-		pBuilder.limitBatch(100, 10);

-		assertTrue(true);

+        pBuilder.limitBatch(100, 10);

+        assertTrue(true);

 

-	}

+    }

 

-	@Test

-	public void testWithCompresion() {

+    @Test

+    public void testWithCompresion() {

 

-		pBuilder.withCompresion();

-		assertTrue(true);

+        pBuilder.withCompresion();

+        assertTrue(true);

 

-	}

+    }

 

-	@Test

-	public void testWithoutCompresion() {

+    @Test

+    public void testWithoutCompresion() {

 

-		pBuilder.withoutCompresion();

-		assertTrue(true);

+        pBuilder.withoutCompresion();

+        assertTrue(true);

 

-	}

+    }

 

-	@Test

-	public void testEnableCompresion() {

+    @Test

+    public void testEnableCompresion() {

 

-		pBuilder.enableCompresion(true);

-		assertTrue(true);

+        pBuilder.enableCompresion(true);

+        assertTrue(true);

 

-	}

+    }

 

-	@Test

-	public void testAuthenticatedBy2() {

+    @Test

+    public void testAuthenticatedBy2() {

 

-		pBuilder.authenticatedBy("apikey", "apisecret");

-		assertTrue(true);

+        pBuilder.authenticatedBy("apikey", "apisecret");

+        assertTrue(true);

 

-	}

+    }

 

-	@Test

-	public void testBuild2() {

+    @Test

+    public void testBuild2() {

 

-		try {

+        try {

 

-			pBuilder.build();

-		} catch (IllegalArgumentException e) {

-			assertTrue(true);

-		}

+            pBuilder.build();

+        } catch (IllegalArgumentException e) {

+            assertTrue(true);

+        }

 

-	}

+    }

 

-	@Test

-	public void test$testInject() {

+    @Test

+    public void test$testInject() {

 

-		try {

+        try {

 

-			mrcBuilders.$testInject(builder.build());

-		} catch (IllegalArgumentException e) {

-			assertTrue(true);

-		}

+            MRClientBuilders.$testInject(builder.build());

+        } catch (IllegalArgumentException e) {

+            assertTrue(true);

+        }

 

-	}

+    }

 

-	@Test

-	public void test$testInject2() {

+    @Test

+    public void test$testInject2() {

 

-		try {

+        try {

 

-			mrcBuilders.$testInject(pBuilder.build());

-		} catch (IllegalArgumentException e) {

-			assertTrue(true);

-		}

+            MRClientBuilders.$testInject(pBuilder.build());

+        } catch (IllegalArgumentException e) {

+            assertTrue(true);

+        }

 

-	}

+    }

 }