From df4cc5a19459385e0bc92c40b25ba1af98cd1250 Mon Sep 17 00:00:00 2001
From: brinn <brinn>
Date: Sat, 21 Jan 2012 19:18:42 +0000
Subject: [PATCH] Better error reporting.

SVN: 24252
---
 .../openbis/dss/generic/server/ftp/DSSFileSystemView.java   | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/DSSFileSystemView.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/DSSFileSystemView.java
index 6ec471c0ffc..428754e79be 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/DSSFileSystemView.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/DSSFileSystemView.java
@@ -34,6 +34,7 @@ import org.apache.ftpserver.ftplet.FtpException;
 import org.apache.ftpserver.ftplet.FtpFile;
 import org.apache.log4j.Logger;
 
+import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel;
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.openbis.generic.shared.IETLLIMSService;
@@ -146,11 +147,12 @@ public class DSSFileSystemView implements FileSystemView
             return pathResolverRegistry.resolve(normalizedPath, context);
         } catch (RuntimeException rex)
         {
+            Throwable realThrowable = CheckedExceptionTunnel.unwrapIfNecessary(rex);
             String message =
                     String.format("Error while resolving FTP path '%s' : %s", path,
-                            rex.getMessage());
+                            realThrowable.getMessage());
             operationLog.error(message);
-            throw new FtpException(message, rex);
+            throw new FtpException(message, realThrowable);
         }
     }
 
-- 
GitLab