summaryrefslogtreecommitdiff
path: root/qpid/java/broker-core/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker-core/src/main/java')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java4
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java4
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeExistsException.java7
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;
}