Repository: qpid-jms
Updated Branches:
  refs/heads/master 95bc1aa80 -> 6b6e1a76c


QPIDJMS-179 Ensure we don't add extra characters to the given prefix.

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/6b6e1a76
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/6b6e1a76
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/6b6e1a76

Branch: refs/heads/master
Commit: 6b6e1a76c9721d619c88caa8d120547766c9b255
Parents: 95bc1aa
Author: Timothy Bish <[email protected]>
Authored: Tue May 24 14:57:27 2016 -0400
Committer: Timothy Bish <[email protected]>
Committed: Tue May 24 14:57:27 2016 -0400

----------------------------------------------------------------------
 .../java/org/apache/qpid/jms/util/IdGenerator.java  |  7 ++++---
 .../org/apache/qpid/jms/util/IdGeneratorTest.java   | 16 ++++++++++++++++
 2 files changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6b6e1a76/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/IdGenerator.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/IdGenerator.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/IdGenerator.java
index a76d3bf..1f70b41 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/IdGenerator.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/IdGenerator.java
@@ -34,6 +34,7 @@ public class IdGenerator {
     private final String prefix;
     private final AtomicLong sequence = new AtomicLong(1);
 
+    public static final String DEFAULT_PREFIX = "ID:";
     public static final String PROPERTY_IDGENERATOR_HOST_PREFIX = 
"qpidjms.idgenerator.hostPrefixEnabled";
 
     static {
@@ -83,14 +84,14 @@ public class IdGenerator {
      *      The prefix value that is applied to all generated IDs.
      */
     public IdGenerator(String prefix) {
-        this.prefix = prefix + (hostName != null ? hostName : "") + ":";
+        this.prefix = prefix + (hostName != null ? (hostName + ":") : "");
     }
 
     /**
-     * Construct an IdGenerator using the default prefix value of 'ID:'
+     * Construct an IdGenerator using the default prefix value.
      */
     public IdGenerator() {
-        this("ID:");
+        this(DEFAULT_PREFIX);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6b6e1a76/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IdGeneratorTest.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IdGeneratorTest.java 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IdGeneratorTest.java
index f9b7e32..8cf17d9 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IdGeneratorTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/IdGeneratorTest.java
@@ -17,6 +17,7 @@
 package org.apache.qpid.jms.util;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 import java.util.ArrayList;
@@ -41,6 +42,21 @@ public class IdGeneratorTest {
     }
 
     @Test
+    public void testDefaultPrefix() {
+        String generated = generator.generateId();
+        assertTrue(generated.startsWith(IdGenerator.DEFAULT_PREFIX));
+        
assertFalse(generated.substring(IdGenerator.DEFAULT_PREFIX.length()).startsWith(":"));
+    }
+
+    @Test
+    public void testNonDefaultPrefix() {
+        generator = new IdGenerator("TEST-");
+        String generated = generator.generateId();
+        assertFalse(generated.startsWith(IdGenerator.DEFAULT_PREFIX));
+        assertFalse(generated.substring("TEST-".length()).startsWith(":"));
+    }
+
+    @Test
     public void testIdIndexIncrements() throws Exception {
 
         final int COUNT = 5;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to