diff options
Diffstat (limited to 'qpid/java/broker-core/src/main/java')
3 files changed, 12 insertions, 3 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java index d5f32a9d6d..0fb8938233 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java @@ -309,6 +309,10 @@ public abstract class PrincipalDatabaseAuthenticationManager<T extends Principal String username = (String) attributes.get("name"); String password = (String) attributes.get("password"); Principal p = new UsernamePrincipal(username); + if (_userMap.containsKey(p)) + { + throw new IllegalArgumentException("User '" + username + "' already exists"); + } boolean created = getPrincipalDatabase().createPrincipal(p, password.toCharArray()); if(created) diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java index 95bd54424f..3680e476c7 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java @@ -669,7 +669,7 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte } catch (DuplicateNameException e) { - throw new QueueExistsException(getQueue(e.getName())); + throw new QueueExistsException(String.format("Queue with name '%s' already exists", e.getName()), getQueue(e.getName())); } } @@ -742,7 +742,7 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte } catch (DuplicateNameException e) { - throw new ExchangeExistsException(getExchange(e.getName())); + throw new ExchangeExistsException(String.format("Exchange with name '%s' already exists", e.getName()), getExchange(e.getName())); } } diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeExistsException.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeExistsException.java index 109bf85aef..fe988afe61 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeExistsException.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeExistsException.java @@ -27,7 +27,12 @@ public class ExchangeExistsException extends RuntimeException public ExchangeExistsException(ExchangeImpl existing) { - super(existing.getName()); + this(existing.getName(), existing); + } + + public ExchangeExistsException(String message, ExchangeImpl existing) + { + super(message); _existing = existing; } |