summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2015-04-06 10:55:32 +0000
committerKeith Wall <kwall@apache.org>2015-04-06 10:55:32 +0000
commit8ec93cf4ee590ca42b2cfc6387889f603f97668b (patch)
treee566c3f46696bbc8f4caa7fe4301f1f8513e657d /qpid/java
parent2c96f8ded8052efdba004b9a1f221fe17e99151f (diff)
downloadqpid-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')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/DefaultVirtualHostAliasImpl.java5
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/HostNameAliasImpl.java4
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java5
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/VirtualHostAliasTest.java20
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()