From 833853c74c1e66efa980d4c47fc02399f0f45f55 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Sat, 11 Aug 2007 16:34:37 +0000
Subject: [PATCH] Fix issues 1996 and 1998.
---
opends/src/server/org/opends/server/tools/dsconfig/SubCommandHandler.java | 8 ++++++++
opends/src/server/org/opends/server/admin/ManagedObjectPath.java | 14 ++++++++++++--
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/opends/src/server/org/opends/server/admin/ManagedObjectPath.java b/opends/src/server/org/opends/server/admin/ManagedObjectPath.java
index d81a34c..d37816c 100644
--- a/opends/src/server/org/opends/server/admin/ManagedObjectPath.java
+++ b/opends/src/server/org/opends/server/admin/ManagedObjectPath.java
@@ -719,11 +719,18 @@
* The relative name of the child managed object.
* @return Returns a new child managed object path beneath the
* provided parent path.
+ * @throws IllegalArgumentException
+ * If the provided name is empty or blank.
*/
public <M extends ConfigurationClient, N extends Configuration>
ManagedObjectPath<M, N> child(
InstantiableRelationDefinition<? super M, ? super N> r,
- AbstractManagedObjectDefinition<M, N> d, String name) {
+ AbstractManagedObjectDefinition<M, N> d, String name)
+ throws IllegalArgumentException {
+ if (name.trim().length() == 0) {
+ throw new IllegalArgumentException(
+ "Empty or blank managed object names are not allowed");
+ }
LinkedList<Element<?, ?>> celements = new LinkedList<Element<?, ?>>(
elements);
celements.add(new InstantiableElement<M, N>(r, d, name));
@@ -748,10 +755,13 @@
* The relative name of the child managed object.
* @return Returns a new child managed object path beneath the
* provided parent path.
+ * @throws IllegalArgumentException
+ * If the provided name is empty or blank.
*/
public <M extends ConfigurationClient, N extends Configuration>
ManagedObjectPath<M, N> child(
- InstantiableRelationDefinition<M, N> r, String name) {
+ InstantiableRelationDefinition<M, N> r, String name)
+ throws IllegalArgumentException {
return child(r, r.getChildDefinition(), name);
}
diff --git a/opends/src/server/org/opends/server/tools/dsconfig/SubCommandHandler.java b/opends/src/server/org/opends/server/tools/dsconfig/SubCommandHandler.java
index 2cfbb26..da6b09c 100644
--- a/opends/src/server/org/opends/server/tools/dsconfig/SubCommandHandler.java
+++ b/opends/src/server/org/opends/server/tools/dsconfig/SubCommandHandler.java
@@ -60,6 +60,7 @@
import org.opends.server.admin.client.AuthorizationException;
import org.opends.server.admin.client.CommunicationException;
import org.opends.server.admin.client.ConcurrentModificationException;
+import org.opends.server.admin.client.IllegalManagedObjectNameException;
import org.opends.server.admin.client.ManagedObject;
import org.opends.server.admin.client.ManagedObjectDecodingException;
import org.opends.server.admin.client.ManagementContext;
@@ -140,6 +141,13 @@
gotException = true;
return;
}
+ } else if (childName.trim().length() == 0) {
+ IllegalManagedObjectNameException e =
+ new IllegalManagedObjectNameException(childName);
+ ae = ArgumentExceptionFactory
+ .adaptIllegalManagedObjectNameException(e, d);
+ gotException = true;
+ return;
}
ManagedObject<?> child = managedObject.getChild(r, childName);
--
Gitblit v1.10.0