From 9f0eb1a26745e51dc39184882d542583ba4ab7e5 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Wed, 14 Mar 2007 20:32:37 +0000
Subject: [PATCH] Update the LDAP client tools so that they provide error messages in a more readable format.  They can now generate up to four lines of output in the following order:

---
 opends/src/server/org/opends/server/tools/LDAPSearch.java |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/opends/src/server/org/opends/server/tools/LDAPSearch.java b/opends/src/server/org/opends/server/tools/LDAPSearch.java
index e080026..c1e643b 100644
--- a/opends/src/server/org/opends/server/tools/LDAPSearch.java
+++ b/opends/src/server/org/opends/server/tools/LDAPSearch.java
@@ -181,6 +181,7 @@
           {
             int resultCode = 0;
             String errorMessage = null;
+            DN matchedDN = null;
             ASN1Element element = connection.getASN1Reader().readElement();
             LDAPMessage responseMessage =
                  LDAPMessage.decode(ASN1Sequence.decodeAsSequence(element));
@@ -297,6 +298,7 @@
                      responseMessage.getSearchResultDoneProtocolOp();
                 resultCode = searchOp.getResultCode();
                 errorMessage = searchOp.getErrorMessage();
+                matchedDN = searchOp.getMatchedDN();
 
                 break;
               default:
@@ -310,11 +312,9 @@
             if(resultCode != SUCCESS && resultCode != REFERRAL)
             {
               int msgID = MSGID_OPERATION_FAILED;
-              if(errorMessage == null)
-              {
-                errorMessage = "Result Code:" + resultCode;
-              }
-              throw new LDAPException(resultCode, msgID, errorMessage);
+              String msg = getMessage(msgID, "SEARCH");
+              throw new LDAPException(resultCode, errorMessage, msgID, msg,
+                                      matchedDN, null);
             }
             else if (errorMessage != null)
             {
@@ -1454,7 +1454,9 @@
       {
         debugCaught(DebugLogLevel.ERROR, le);
       }
-      err.println(wrapText(le.getMessage(), MAX_LINE_WIDTH));
+
+      LDAPToolUtils.printErrorMessage(err, le.getMessage(), le.getResultCode(),
+                                      le.getErrorMessage(), le.getMatchedDN());
       int code = le.getResultCode();
       return code;
     } catch(LDAPConnectionException lce)
@@ -1463,8 +1465,11 @@
       {
         debugCaught(DebugLogLevel.ERROR, lce);
       }
-      err.println(wrapText(lce.getMessage(), MAX_LINE_WIDTH));
-      int code = lce.getErrorCode();
+      LDAPToolUtils.printErrorMessage(err, lce.getMessage(),
+                                      lce.getResultCode(),
+                                      lce.getErrorMessage(),
+                                      lce.getMatchedDN());
+      int code = lce.getResultCode();
       return code;
     } catch(Exception e)
     {

--
Gitblit v1.10.0