From e24bc81283beb36b8657b2fa6f7fd71cbb092fb4 Mon Sep 17 00:00:00 2001
From: Chris Ridd <chris.ridd@forgerock.com>
Date: Wed, 27 Feb 2013 16:19:39 +0000
Subject: [PATCH] Fix OPENDJ-776 ldapmodify with a non-existing file exits with wrong return code

---
 opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java
index 65405d5..214cbc8 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java
@@ -24,13 +24,14 @@
  *
  *      Copyright 2006-2010 Sun Microsystems, Inc.
  *      Portions Copyright 2012 profiq, s.r.o.
- *      Portions Copyright 2012 ForgeRock AS.
+ *      Portions Copyright 2012-2013 ForgeRock AS.
  */
 package org.opends.server.tools;
 import org.opends.admin.ads.util.ConnectionUtils;
 import org.opends.messages.Message;
 
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.InputStream;
 import java.io.IOException;
 import java.io.OutputStream;
@@ -180,7 +181,7 @@
       Message message =
           ERR_LDIF_FILE_CANNOT_OPEN_FOR_READ.get(fileNameValue,
                   e.getLocalizedMessage());
-      throw new IOException(message.toString());
+      throw new FileNotFoundException(message.toString());
     }
 
     while (true)
@@ -1272,6 +1273,14 @@
                                       lce.getMatchedDN());
       int code = lce.getResultCode();
       return code;
+    } catch (FileNotFoundException fe)
+    {
+      if (debugEnabled())
+      {
+        TRACER.debugCaught(DebugLogLevel.ERROR, fe);
+      }
+      err.println(wrapText(fe.getMessage(), MAX_LINE_WIDTH));
+      return CLIENT_SIDE_PARAM_ERROR;
     } catch(Exception e)
     {
       if (debugEnabled())

--
Gitblit v1.10.0