diff options
author | Robert Greig <rgreig@apache.org> | 2007-01-24 17:19:19 +0000 |
---|---|---|
committer | Robert Greig <rgreig@apache.org> | 2007-01-24 17:19:19 +0000 |
commit | a39f258a418eb3d6156bc3a9f4a1f8e709cf774d (patch) | |
tree | f6b2f518826ccdc05e591b96375248b29aab260c | |
parent | aa659be722b885332a319902a1b2dec82612a33e (diff) | |
download | qpid-python-a39f258a418eb3d6156bc3a9f4a1f8e709cf774d.tar.gz |
QPID-50 : Patch supplied by Rob Godfrey - Virtual Host implementation
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499490 13f79535-47bb-0310-9956-ffa450edef68
6 files changed, 46 insertions, 27 deletions
diff --git a/java/broker/distribution/src/main/assembly/broker-bin.xml b/java/broker/distribution/src/main/assembly/broker-bin.xml index e64685fc79..4a7343660d 100644 --- a/java/broker/distribution/src/main/assembly/broker-bin.xml +++ b/java/broker/distribution/src/main/assembly/broker-bin.xml @@ -105,37 +105,37 @@ <source>../../common/bin/qpid-run</source> <outputDirectory>qpid-${qpid.version}/bin</outputDirectory> <destName>qpid-run</destName> - <fileMode>493</fileMode> + <fileMode>473</fileMode> </file> <file> <source>../bin/qpid-server</source> <outputDirectory>qpid-${qpid.version}/bin</outputDirectory> <destName>qpid-server</destName> - <fileMode>493</fileMode> + <fileMode>473</fileMode> </file> <file> <source>../bin/qpid-server.bat</source> <outputDirectory>qpid-${qpid.version}/bin</outputDirectory> <destName>qpid-server.bat</destName> - <fileMode>493</fileMode> + <fileMode>473</fileMode> </file> <file> <source>../bin/run.bat</source> <outputDirectory>qpid-${qpid.version}/bin</outputDirectory> <destName>run.bat</destName> - <fileMode>493</fileMode> + <fileMode>473</fileMode> </file> <file> <source>../bin/run.sh</source> <outputDirectory>qpid-${qpid.version}/bin</outputDirectory> <destName>run.sh</destName> - <fileMode>493</fileMode> + <fileMode>473</fileMode> </file> <file> <source>../bin/runAll</source> <outputDirectory>qpid-${qpid.version}/bin</outputDirectory> <destName>runAll</destName> - <fileMode>493</fileMode> + <fileMode>473</fileMode> </file> </files> diff --git a/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java b/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java index 88717c446b..c3b1ba3b5b 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java +++ b/java/broker/src/main/java/org/apache/qpid/server/handler/ConnectionOpenMethodHandler.java @@ -58,7 +58,16 @@ public class ConnectionOpenMethodHandler implements StateAwareMethodListener<Con AMQProtocolSession session = stateManager.getProtocolSession(); ConnectionOpenBody body = evt.getMethod(); - String virtualHostName = String.valueOf(body.virtualHost); + //ignore leading '/' + String virtualHostName; + if((body.virtualHost != null) && body.virtualHost.charAt(0) == '/') + { + virtualHostName = new StringBuilder(body.virtualHost.subSequence(1,body.virtualHost.length())).toString(); + } + else + { + virtualHostName = String.valueOf(body.virtualHost); + } VirtualHost virtualHost = stateManager.getVirtualHostRegistry().getVirtualHost(virtualHostName); diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java index c82afd3906..261efd4f3b 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java @@ -202,7 +202,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect _clientName = connectionURL.getClientName(); _username = connectionURL.getUsername(); _password = connectionURL.getPassword(); - _virtualHost = connectionURL.getVirtualHost(); + setVirtualHost(connectionURL.getVirtualHost()); _failoverPolicy = new FailoverPolicy(connectionURL); @@ -313,6 +313,15 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect _clientName = clientName; _username = username; _password = password; + setVirtualHost(virtualHost); + } + + private void setVirtualHost(String virtualHost) + { + if(virtualHost.startsWith("/")) + { + virtualHost = virtualHost.substring(1); + } _virtualHost = virtualHost; } diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java b/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java index b32a0ffdc4..c134c2093b 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java @@ -114,10 +114,6 @@ public class AMQConnectionURL implements ConnectionURL if (virtualHost != null && (!virtualHost.equals(""))) { - if(virtualHost.startsWith("/")) - { - virtualHost = virtualHost.substring(1); - } setVirtualHost(virtualHost); } else diff --git a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java index 3f4e0022ca..2adafb8be7 100644 --- a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java +++ b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java @@ -63,7 +63,12 @@ public class ConnectionTuneMethodHandler implements StateAwareMethodListener stateManager.changeState(AMQState.CONNECTION_NOT_OPENED); protocolSession.writeFrame(createTuneOkFrame(evt.getChannelId(), params)); - protocolSession.writeFrame(createConnectionOpenFrame(evt.getChannelId(), new AMQShortString(protocolSession.getAMQConnection().getVirtualHost()), null, true)); + + String host = protocolSession.getAMQConnection().getVirtualHost(); + AMQShortString virtualHost = new AMQShortString("/" + host); + + + protocolSession.writeFrame(createConnectionOpenFrame(evt.getChannelId(), virtualHost, null, true)); } protected AMQFrame createConnectionOpenFrame(int channel, AMQShortString path, AMQShortString capabilities, boolean insist) diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java index c6dee1d9bf..a23c78822f 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java @@ -40,7 +40,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod().equals("roundrobin")); assertTrue(connectionurl.getUsername().equals("ritchiem")); assertTrue(connectionurl.getPassword().equals("bob")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 2); @@ -67,7 +67,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod() == null); assertTrue(connectionurl.getUsername().equals("ritchiem")); assertTrue(connectionurl.getPassword().equals("bob")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 1); @@ -87,7 +87,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod() == null); assertTrue(connectionurl.getUsername().equals("ritchiem")); assertTrue(connectionurl.getPassword().equals("")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 1); @@ -125,7 +125,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod() == null); assertTrue(connectionurl.getUsername().equals("guest")); assertTrue(connectionurl.getPassword().equals("guest")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 1); @@ -148,7 +148,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod() == null); assertTrue(connectionurl.getUsername().equals("guest")); assertTrue(connectionurl.getPassword().equals("guest")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getClientName().equals("clientname")); @@ -171,7 +171,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod() == null); assertTrue(connectionurl.getUsername().equals("guest")); assertTrue(connectionurl.getPassword().equals("guest")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 1); @@ -194,7 +194,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod() == null); assertTrue(connectionurl.getUsername().equals("guest")); assertTrue(connectionurl.getPassword().equals("guest")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 1); @@ -216,7 +216,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod() == null); assertTrue(connectionurl.getUsername().equals("guest")); assertTrue(connectionurl.getPassword().equals("guest")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 1); @@ -238,7 +238,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod() == null); assertTrue(connectionurl.getUsername().equals("guest")); assertTrue(connectionurl.getPassword().equals("guest")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 1); @@ -283,7 +283,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod() == null); assertTrue(connectionurl.getUsername().equals("guest")); assertTrue(connectionurl.getPassword().equals("guest")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 1); @@ -308,7 +308,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod() == null); assertTrue(connectionurl.getUsername().equals("guest")); assertTrue(connectionurl.getPassword().equals("guest")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 1); @@ -329,7 +329,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getFailoverMethod().equals("roundrobin")); assertTrue(connectionurl.getUsername().equals("ritchiem")); assertTrue(connectionurl.getPassword().equals("bob")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 2); @@ -369,7 +369,7 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getUsername().equals("user")); assertTrue(connectionurl.getPassword().equals("")); - assertTrue(connectionurl.getVirtualHost().equals("test")); + assertTrue(connectionurl.getVirtualHost().equals("/test")); assertTrue(connectionurl.getBrokerCount() == 1); } @@ -428,7 +428,7 @@ public class ConnectionURLTest extends TestCase String url = "amqp://guest:guest@/t.-_+!=:?brokerlist='tcp://localhost:5672'"; AMQConnectionURL connection = new AMQConnectionURL(url); - assertTrue(connection.getVirtualHost().equals("t.-_+!=:")); + assertTrue(connection.getVirtualHost().equals("/t.-_+!=:")); } public void testCheckDefaultPort() throws URLSyntaxException |