summaryrefslogtreecommitdiff
path: root/qpid/java/bdbstore/src/main
diff options
context:
space:
mode:
authorAndrew MacBean <macbean@apache.org>2014-09-11 14:30:42 +0000
committerAndrew MacBean <macbean@apache.org>2014-09-11 14:30:42 +0000
commitddeca4d5acc43889e39253d16323c198475b6f66 (patch)
treeec6fe60096be73248fde6114985bed7a739107c8 /qpid/java/bdbstore/src/main
parent747d385998637bb73218ec716b713a207e9c6c12 (diff)
downloadqpid-python-ddeca4d5acc43889e39253d16323c198475b6f66.tar.gz
QPID-6092: [Java Broker] Editing permitted node list to be allowed when VHN is master or in STOPPED/ERRORED state. Server (1/2)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1624299 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore/src/main')
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
index 604a79f4e3..e6109954c0 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
@@ -763,7 +763,11 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
private void validatePermittedNodes(List<String> proposedPermittedNodes)
{
- if (proposedPermittedNodes == null || proposedPermittedNodes.isEmpty())
+ if (getRemoteReplicationNodes().size() > 0 && getRole() != NodeRole.MASTER && !(getState() == State.STOPPED || getState() == State.ERRORED))
+ {
+ throw new IllegalArgumentException(String.format("Attribute '%s' can only be set on '%s' node or node in '%s' or '%s' state", PERMITTED_NODES, NodeRole.MASTER, State.STOPPED, State.ERRORED));
+ }
+ else if (proposedPermittedNodes == null || proposedPermittedNodes.isEmpty())
{
throw new IllegalArgumentException(String.format("Attribute '%s' is mandatory and must be set", PERMITTED_NODES));
}