From fff28547081591b9b506c43b2df646dea3a32405 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 15 Jul 2013 15:24:47 +0000
Subject: [PATCH] Extracted several time the method findAndSetMatchingDN(). We should look at moving this code to a single reusable place.

---
 opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java |   46 ++++++++++++++++++++++++----------------------
 1 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
index 2d988ab..52a6be2 100644
--- a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
@@ -347,28 +347,7 @@
 
         if (parentEntry == null)
         {
-          DN matchedDN = parentDN.getParentDNInSuffix();
-          while (matchedDN != null)
-          {
-            try
-            {
-              if (DirectoryServer.entryExists(matchedDN))
-              {
-                setMatchedDN(matchedDN);
-                break;
-              }
-            }
-            catch (Exception e)
-            {
-              if (debugEnabled())
-              {
-                TRACER.debugCaught(DebugLogLevel.ERROR, e);
-              }
-              break;
-            }
-
-            matchedDN = matchedDN.getParentDNInSuffix();
-          }
+          findAndSetMatchingDN(parentDN);
 
           // The parent doesn't exist, so this add can't be successful.
           setResultCode(ResultCode.NO_SUCH_OBJECT);
@@ -614,7 +593,30 @@
     }
   }
 
+  private void findAndSetMatchingDN(DN entryDN)
+  {
+    try
+    {
+      DN matchedDN = entryDN.getParentDNInSuffix();
+      while (matchedDN != null)
+      {
+        if (DirectoryServer.entryExists(matchedDN))
+        {
+          setMatchedDN(matchedDN);
+          return;
+        }
 
+        matchedDN = matchedDN.getParentDNInSuffix();
+      }
+    }
+    catch (Exception e)
+    {
+      if (debugEnabled())
+      {
+        TRACER.debugCaught(DebugLogLevel.ERROR, e);
+      }
+    }
+  }
 
   private boolean checkHasReadOnlyAttributes(
       Map<AttributeType, List<Attribute>> attributes)

--
Gitblit v1.10.0