From 8228fb82f3ad657adf7832eb05c624bf48c4a30e Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Wed, 19 Sep 2007 00:31:06 +0000
Subject: [PATCH] More changes relating to issue 1449: aggregation support.

---
 opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java |   30 ++++++++++++++++++------------
 1 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java b/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java
index ec2f65e..a85c3c4 100644
--- a/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java
+++ b/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java
@@ -60,6 +60,7 @@
 import org.opends.server.admin.client.ConcurrentModificationException;
 import org.opends.server.admin.client.ManagedObject;
 import org.opends.server.admin.client.OperationRejectedException;
+import org.opends.server.admin.client.OperationRejectedException.OperationType;
 import org.opends.server.admin.client.spi.AbstractManagedObject;
 import org.opends.server.admin.client.spi.Driver;
 import org.opends.server.admin.client.spi.Property;
@@ -160,6 +161,7 @@
       CommunicationException, OperationRejectedException,
       ConcurrentModificationException, ManagedObjectAlreadyExistsException {
     // First make sure that the parent managed object still exists.
+    ManagedObjectDefinition<?, ?> d = getManagedObjectDefinition();
     ManagedObjectPath<?, ?> path = getManagedObjectPath();
     ManagedObjectPath<?, ?> parent = path.parent();
 
@@ -181,8 +183,7 @@
       // TODO: this implementation does not handle relations which
       // comprise of more than one RDN arc (this will probably never
       // be required anyway).
-      LdapName dn = LDAPNameBuilder
-          .create(parent, ir, driver.getLDAPProfile());
+      LdapName dn = LDAPNameBuilder.create(parent, ir, driver.getLDAPProfile());
       if (!driver.entryExists(dn)) {
         // We need to create the entry.
         Attributes attributes = new BasicAttributes();
@@ -205,10 +206,12 @@
         } catch (OperationNotSupportedException e) {
           // Unwilling to perform.
           if (e.getMessage() == null) {
-            throw new OperationRejectedException();
+            throw new OperationRejectedException(OperationType.CREATE, d
+                .getUserFriendlyName());
           } else {
             Message m = Message.raw("%s", e.getMessage());
-            throw new OperationRejectedException(m);
+            throw new OperationRejectedException(OperationType.CREATE, d
+                .getUserFriendlyName(), m);
           }
         } catch (NamingException e) {
           driver.adaptNamingException(e);
@@ -254,10 +257,12 @@
     } catch (OperationNotSupportedException e) {
       // Unwilling to perform.
       if (e.getMessage() == null) {
-        throw new OperationRejectedException();
+        throw new OperationRejectedException(OperationType.CREATE, d
+            .getUserFriendlyName());
       } else {
         Message m = Message.raw("%s", e.getMessage());
-        throw new OperationRejectedException(m);
+        throw new OperationRejectedException(OperationType.CREATE, d
+            .getUserFriendlyName(), m);
       }
     } catch (NamingException e) {
       driver.adaptNamingException(e);
@@ -285,12 +290,11 @@
       AuthorizationException, CommunicationException {
     // Build the list of modified attributes.
     Attributes mods = new BasicAttributes();
-    ManagedObjectDefinition<?, ?> definition = getManagedObjectDefinition();
-    for (PropertyDefinition<?> pd : definition.getAllPropertyDefinitions()) {
+    ManagedObjectDefinition<?, ?> d = getManagedObjectDefinition();
+    for (PropertyDefinition<?> pd : d.getAllPropertyDefinitions()) {
       Property<?> p = getProperty(pd);
       if (p.isModified()) {
-        String attrID = driver.getLDAPProfile().getAttributeName(definition,
-            pd);
+        String attrID = driver.getLDAPProfile().getAttributeName(d, pd);
         Attribute attribute = new BasicAttribute(attrID);
         encodeProperty(attribute, pd);
         mods.put(attribute);
@@ -308,10 +312,12 @@
       } catch (OperationNotSupportedException e) {
         // Unwilling to perform.
         if (e.getMessage() == null) {
-          throw new OperationRejectedException();
+          throw new OperationRejectedException(OperationType.MODIFY, d
+              .getUserFriendlyName());
         } else {
           Message m = Message.raw("%s", e.getMessage());
-          throw new OperationRejectedException(m);
+          throw new OperationRejectedException(OperationType.MODIFY, d
+              .getUserFriendlyName(), m);
         }
       } catch (NamingException e) {
         // Just treat it as a communication problem.

--
Gitblit v1.10.0