diff options
| author | Keith Wall <kwall@apache.org> | 2015-04-06 10:55:32 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2015-04-06 10:55:32 +0000 |
| commit | 8ec93cf4ee590ca42b2cfc6387889f603f97668b (patch) | |
| tree | e566c3f46696bbc8f4caa7fe4301f1f8513e657d /qpid/java | |
| parent | 2c96f8ded8052efdba004b9a1f221fe17e99151f (diff) | |
| download | qpid-python-8ec93cf4ee590ca42b2cfc6387889f603f97668b.tar.gz | |
QPID-6442: [Java Broker] Compare the Broker#defaultVirtualHost against the virtualhost name, not the virtualhost node name.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1671509 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
4 files changed, 24 insertions, 10 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/DefaultVirtualHostAliasImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/DefaultVirtualHostAliasImpl.java index cab9794375..e4872a2ba6 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/DefaultVirtualHostAliasImpl.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/DefaultVirtualHostAliasImpl.java @@ -26,6 +26,7 @@ import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.DefaultVirtualHostAlias; import org.apache.qpid.server.model.ManagedObjectFactoryConstructor; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.model.VirtualHostNode; public final class DefaultVirtualHostAliasImpl @@ -48,7 +49,9 @@ public final class DefaultVirtualHostAliasImpl String defaultHostName = broker.getDefaultVirtualHost(); for(VirtualHostNode<?> vhn : broker.getVirtualHostNodes()) { - if(vhn.getName().equals(defaultHostName)) + VirtualHost vh = vhn.getVirtualHost(); + + if(vh != null && vh.getName().equals(defaultHostName)) { return vhn; } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/HostNameAliasImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/HostNameAliasImpl.java index 0a1c2abd75..4efb472a39 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/HostNameAliasImpl.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/HostNameAliasImpl.java @@ -42,6 +42,7 @@ import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.HostNameAlias; import org.apache.qpid.server.model.ManagedObjectFactoryConstructor; import org.apache.qpid.server.model.Port; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.model.VirtualHostNode; import org.apache.qpid.server.model.port.AmqpPort; @@ -90,7 +91,8 @@ public class HostNameAliasImpl String defaultHostName = broker.getDefaultVirtualHost(); for (VirtualHostNode<?> vhn : broker.getVirtualHostNodes()) { - if (vhn.getName().equals(defaultHostName)) + VirtualHost vh = vhn.getVirtualHost(); + if (vh != null && vh.getName().equals(defaultHostName)) { return vhn; } diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java index 15be5c0282..84d2050450 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java @@ -122,13 +122,14 @@ public class BrokerTestHelper return createVirtualHost(attributes, broker); } - public static VirtualHostImpl<?, ?, ?> createVirtualHost(final Map<String, Object> attributes, + private static VirtualHostImpl<?, ?, ?> createVirtualHost(final Map<String, Object> attributes, final Broker<?> broker) { ConfiguredObjectFactory objectFactory = broker.getObjectFactory(); VirtualHostNode virtualHostNode = mock(VirtualHostNode.class); - when(virtualHostNode.getName()).thenReturn((String) attributes.get(VirtualHostNode.NAME)); + String virtualHostNodeName = String.format("%s_%s", attributes.get(VirtualHostNode.NAME), "_node"); + when(virtualHostNode.getName()).thenReturn( virtualHostNodeName); when(virtualHostNode.getTaskExecutor()).thenReturn(TASK_EXECUTOR); when(virtualHostNode.getChildExecutor()).thenReturn(TASK_EXECUTOR); diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/VirtualHostAliasTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/VirtualHostAliasTest.java index 1a7e2cdc0d..e555982397 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/VirtualHostAliasTest.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/VirtualHostAliasTest.java @@ -61,7 +61,10 @@ public class VirtualHostAliasTest extends QpidTestCase _vhosts = new HashMap<>(); for(String name : new String[] { "red", "blue", "purple", "black" }) { - _vhosts.put(name, BrokerTestHelper.createVirtualHost(name, _broker)); + VirtualHostImpl<?, ?, ?> virtualHost = BrokerTestHelper.createVirtualHost(name, _broker); + VirtualHostNode vhn = virtualHost.getParent(VirtualHostNode.class); + assertNotSame(vhn.getName(), virtualHost.getName()); + _vhosts.put(name, virtualHost); } ConfiguredObjectFactory objectFactory = _broker.getObjectFactory(); when(_broker.getDefaultVirtualHost()).thenReturn("black"); @@ -75,7 +78,7 @@ public class VirtualHostAliasTest extends QpidTestCase } - public void testDefaultAliases() + public void testDefaultAliases_VirtualHostNameAlias() { VirtualHostImpl vhost = _port.getVirtualHost("red"); @@ -90,20 +93,25 @@ public class VirtualHostAliasTest extends QpidTestCase vhost = _port.getVirtualHost("orange!"); assertNull(vhost); + } + + public void testDefaultAliases_DefaultVirtualHostAlias() + { // test the default vhost resolution - vhost = _port.getVirtualHost(""); + VirtualHostImpl vhost = _port.getVirtualHost(""); assertNotNull(vhost); assertEquals(_vhosts.get("black"), vhost); + } - + public void testDefaultAliases_HostNameAlias() + { // 127.0.0.1 should always resolve and thus return the default vhost - vhost = _port.getVirtualHost("127.0.0.1"); + VirtualHostImpl vhost = _port.getVirtualHost("127.0.0.1"); assertNotNull(vhost); assertEquals(_vhosts.get("black"), vhost); - } public void testPatternMatching() |
