From a90890af51b755a0a6862a32306b1a979d5a9612 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 11 Mar 2014 13:42:19 +0000
Subject: [PATCH] OPENDJ-1368 (CR-3157) Remove AttributeValue

---
 opendj3-server-dev/src/server/org/opends/server/replication/plugin/ExternalChangelogDomain.java |   73 +++++++++++++++++-------------------
 1 files changed, 34 insertions(+), 39 deletions(-)

diff --git a/opendj3-server-dev/src/server/org/opends/server/replication/plugin/ExternalChangelogDomain.java b/opendj3-server-dev/src/server/org/opends/server/replication/plugin/ExternalChangelogDomain.java
index 6a367fc..f15ab84 100644
--- a/opendj3-server-dev/src/server/org/opends/server/replication/plugin/ExternalChangelogDomain.java
+++ b/opendj3-server-dev/src/server/org/opends/server/replication/plugin/ExternalChangelogDomain.java
@@ -29,13 +29,14 @@
 import java.util.List;
 
 import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.ldap.ResultCode;
 import org.opends.server.admin.server.ConfigurationAddListener;
 import org.opends.server.admin.server.ConfigurationChangeListener;
 import org.opends.server.admin.server.ConfigurationDeleteListener;
 import org.opends.server.admin.std.server.ExternalChangelogDomainCfg;
 import org.opends.server.types.ConfigChangeResult;
 import org.opends.server.types.DN;
-import org.forgerock.opendj.ldap.ResultCode;
+import org.opends.server.types.RDN;
 
 /**
  * This class specifies the external changelog feature for a replication
@@ -67,25 +68,15 @@
   }
 
 
-  /**
-   * {@inheritDoc}
-   */
+  /** {@inheritDoc} */
+  @Override
   public ConfigChangeResult applyConfigurationAdd(
       ExternalChangelogDomainCfg configuration)
   {
-    try
+    final ConfigChangeResult ccr = setDomain(configuration);
+    if (ccr != null)
     {
-      if (domain==null)
-      {
-        DN rdns = DN.decode(
-            configuration.dn().parent().rdn().getAttributeValue(0).
-            getNormalizedValue());
-        domain = MultimasterReplication.findDomain(rdns, null);
-      }
-    }
-    catch (Exception e)
-    {
-      return new ConfigChangeResult(ResultCode.CONSTRAINT_VIOLATION, false);
+      return ccr;
     }
 
     this.isEnabled = configuration.isEnabled();
@@ -96,9 +87,8 @@
   }
 
 
-  /**
-   * {@inheritDoc}
-   */
+  /** {@inheritDoc} */
+  @Override
   public ConfigChangeResult applyConfigurationChange(
       ExternalChangelogDomainCfg configuration)
   {
@@ -108,20 +98,29 @@
     // - after dsconfig set-external-changelog-domain-prop --add ecl-include:xx
     //   configuration contains attribute xx and the previous list
     // Hence in all cases, it is the complete list of attributes.
+    final ConfigChangeResult ccr = setDomain(configuration);
+    if (ccr != null)
+    {
+      return ccr;
+    }
+
+    this.isEnabled = configuration.isEnabled();
+    domain.changeConfig(configuration.getECLInclude(),
+        configuration.getECLIncludeForDeletes());
+    return new ConfigChangeResult(ResultCode.SUCCESS, false);
+  }
+
+  private ConfigChangeResult setDomain(ExternalChangelogDomainCfg configuration)
+  {
     try
     {
       if (domain==null)
       {
-        DN rdns = DN.decode(
-            configuration.dn().parent().rdn().getAttributeValue(0).
-              getNormalizedValue());
+        RDN rdn = configuration.dn().parent().rdn();
+        DN rdns = DN.decode(rdn.getAttributeValue(0).getValue());
         domain = MultimasterReplication.findDomain(rdns, null);
       }
-
-      this.isEnabled = configuration.isEnabled();
-      domain.changeConfig(configuration.getECLInclude(),
-          configuration.getECLIncludeForDeletes());
-      return new ConfigChangeResult(ResultCode.SUCCESS, false);
+      return null;
     }
     catch (Exception e)
     {
@@ -130,18 +129,16 @@
   }
 
 
-  /**
-   * {@inheritDoc}
-   */
+  /** {@inheritDoc} */
+  @Override
   public boolean isConfigurationAddAcceptable(
       ExternalChangelogDomainCfg configuration,
       List<LocalizableMessage> unacceptableReasons)
   {
     return true;
   }
-  /**
-   * {@inheritDoc}
-   */
+  /** {@inheritDoc} */
+  @Override
   public boolean isConfigurationChangeAcceptable(
       ExternalChangelogDomainCfg configuration,
       List<LocalizableMessage> unacceptableReasons)
@@ -150,9 +147,8 @@
   }
 
 
-  /**
-   * {@inheritDoc}
-   */
+  /** {@inheritDoc} */
+  @Override
   public boolean isConfigurationDeleteAcceptable(
       ExternalChangelogDomainCfg configuration,
       List<LocalizableMessage> unacceptableReasons)
@@ -161,9 +157,8 @@
   }
 
 
-  /**
-   * {@inheritDoc}
-   */
+  /** {@inheritDoc} */
+  @Override
   public ConfigChangeResult applyConfigurationDelete(
       ExternalChangelogDomainCfg configuration)
   {

--
Gitblit v1.10.0