summaryrefslogtreecommitdiff
path: root/qpid/java/bdbstore
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2015-03-02 00:45:45 +0000
committerRobert Godfrey <rgodfrey@apache.org>2015-03-02 00:45:45 +0000
commit2bb28f477ab2ff92d6fe6c7a5694449638f94661 (patch)
tree951c458de0b1e87ead062aa72e37e47cf08d6238 /qpid/java/bdbstore
parentf56230eaa511dbfa02759b1b1e4e85769cd80aae (diff)
downloadqpid-python-2bb28f477ab2ff92d6fe6c7a5694449638f94661.tar.gz
QPID-6425 : [Java Broker] Allow for local and global name equivalence on virtual hosts
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1663189 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore')
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
index dac8d01e72..205ff57fab 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBHAReplicaVirtualHostImpl.java
@@ -90,6 +90,8 @@ public class BDBHAReplicaVirtualHostImpl extends AbstractConfiguredObject<BDBHAR
@ManagedAttributeField
private List<String> _disabledConnectionValidators;
+ @ManagedAttributeField
+ private List<String> _globalAddressDomains;
@ManagedObjectFactoryConstructor
public BDBHAReplicaVirtualHostImpl(final Map<String, Object> attributes, VirtualHostNode<?> virtualHostNode)
@@ -482,6 +484,29 @@ public class BDBHAReplicaVirtualHostImpl extends AbstractConfiguredObject<BDBHAR
return _disabledConnectionValidators;
}
+ @Override
+ public List<String> getGlobalAddressDomains()
+ {
+ return _globalAddressDomains;
+ }
+
+ @Override
+ public String getLocalAddress(final String routingAddress)
+ {
+ String localAddress = routingAddress;
+ if(getGlobalAddressDomains() != null)
+ {
+ for(String domain : getGlobalAddressDomains())
+ {
+ if(localAddress.length() > routingAddress.length() - domain.length() && routingAddress.startsWith(domain + "/"))
+ {
+ localAddress = routingAddress.substring(domain.length());
+ }
+ }
+ }
+ return localAddress;
+ }
+
private void throwUnsupportedForReplica()
{
throw new IllegalStateException("The virtual host state of " + getState()