You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ra...@apache.org on 2009/03/06 21:26:14 UTC

svn commit: r751061 - in /qpid/trunk/qpid/java/client/src: main/java/org/apache/qpid/client/url/URLParser.java test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java

Author: rajith
Date: Fri Mar  6 20:26:13 2009
New Revision: 751061

URL: http://svn.apache.org/viewvc?rev=751061&view=rev
Log:
This is related to QPID-1720
The fix is a bit of a hack, but I don't see another way to handle it.

Modified:
    qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/url/URLParser.java
    qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java

Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/url/URLParser.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/url/URLParser.java?rev=751061&r1=751060&r2=751061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/url/URLParser.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/url/URLParser.java Fri Mar  6 20:26:13 2009
@@ -58,22 +58,31 @@
 
             if ((connection.getHost() == null) || connection.getHost().equals(""))
             {
-                String uid = AMQConnectionFactory.getUniqueClientID();
-                if (uid == null)
-                {
-                    throw URLHelper.parseError(-1, "Client Name not specified", fullURL);
+                String tmp = connection.getAuthority();
+                // hack to read a clientid such as "my_clientID"
+                if (tmp != null && tmp.indexOf('@') < tmp.length()-1)
+                {                   
+                    _url.setClientName(tmp.substring(tmp.indexOf('@')+1,tmp.length()));
                 }
                 else
                 {
-                    _url.setClientName(uid);
+                    String uid = AMQConnectionFactory.getUniqueClientID();
+                    if (uid == null)
+                    {
+                        throw URLHelper.parseError(-1, "Client Name not specified", fullURL);
+                    }
+                    else
+                    {
+                        _url.setClientName(uid);
+                    }
                 }
 
-            }
+            }            
             else
             {
                 _url.setClientName(connection.getHost());
             }
-
+            
             String userInfo = connection.getUserInfo();
 
             if (userInfo == null)

Modified: qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java?rev=751061&r1=751060&r2=751061&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java (original)
+++ qpid/trunk/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java Fri Mar  6 20:26:13 2009
@@ -375,6 +375,19 @@
         assertTrue(connectionurl.getBrokerCount() == 1);
     }
 
+    public void testClientIDWithUnderscore() throws URLSyntaxException
+    {
+        String url = "amqp://user:pass@client_id/test?brokerlist='tcp://localhost:5672'";
+
+        ConnectionURL connectionurl = new AMQConnectionURL(url);
+
+        assertTrue(connectionurl.getUsername().equals("user"));
+        assertTrue(connectionurl.getPassword().equals("pass"));
+        assertTrue(connectionurl.getVirtualHost().equals("/test"));
+        assertTrue(connectionurl.getClientName().equals("client_id"));
+        
+        assertTrue(connectionurl.getBrokerCount() == 1);
+    }
 
     public void testWrongOptionSeparatorInOptions()
     {



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org