diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java
index b1d0804fef..8ec168622a 100644
--- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java
+++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java
@@ -224,7 +224,7 @@ public class MetadataImport
}
catch (Exception ex)
{
- throw new MetadataImportException("'" + handle + "' is not a Collection! You must specify a valid collection for new items");
+ throw new MetadataImportException("'" + handle + "' is not a Collection! You must specify a valid collection for new items", ex);
}
}
diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportException.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportException.java
index cc326b034d..3191bd8d7f 100644
--- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportException.java
+++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportException.java
@@ -53,4 +53,15 @@ public class MetadataImportException extends Exception
{
super(message);
}
+
+ /**
+ * Instantiate a new MetadataImportException
+ *
+ * @param message the error message
+ * @param exception the root cause
+ */
+ public MetadataImportException(String message, Exception exception)
+ {
+ super(message, exception);
+ }
}
\ No newline at end of file
diff --git a/dspace-api/src/main/java/org/dspace/app/mets/METSExport.java b/dspace-api/src/main/java/org/dspace/app/mets/METSExport.java
index 62a46eabae..798fa41776 100644
--- a/dspace-api/src/main/java/org/dspace/app/mets/METSExport.java
+++ b/dspace-api/src/main/java/org/dspace/app/mets/METSExport.java
@@ -561,7 +561,7 @@ public class METSExport
// We don't pass up a MetsException, so callers don't need to
// know the details of the METS toolkit
e.printStackTrace();
- throw new IOException(e.getMessage());
+ throw new IOException(e.getMessage(), e);
}
}
diff --git a/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReader.java b/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReader.java
index 3d4dec291f..d9aea41bd7 100644
--- a/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReader.java
+++ b/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReader.java
@@ -40,7 +40,6 @@ package org.dspace.app.sfx;
import java.io.File;
import java.io.IOException;
-import java.lang.String;
import java.net.URLEncoder;
import org.apache.log4j.Logger;
diff --git a/dspace-api/src/main/java/org/dspace/app/statistics/LogAnalyser.java b/dspace-api/src/main/java/org/dspace/app/statistics/LogAnalyser.java
index 35d4bea84a..18faf73f8b 100644
--- a/dspace-api/src/main/java/org/dspace/app/statistics/LogAnalyser.java
+++ b/dspace-api/src/main/java/org/dspace/app/statistics/LogAnalyser.java
@@ -38,8 +38,6 @@
package org.dspace.app.statistics;
-import org.dspace.app.statistics.LogLine;
-
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Context;
import org.dspace.core.LogManager;
@@ -48,9 +46,6 @@ import org.dspace.storage.rdbms.TableRow;
import java.sql.SQLException;
-import java.lang.Long;
-import java.lang.StringBuffer;
-
import java.text.ParseException;
import java.text.SimpleDateFormat;
diff --git a/dspace-api/src/main/java/org/dspace/app/util/OpenSearch.java b/dspace-api/src/main/java/org/dspace/app/util/OpenSearch.java
index e20948aca6..784b94358f 100644
--- a/dspace-api/src/main/java/org/dspace/app/util/OpenSearch.java
+++ b/dspace-api/src/main/java/org/dspace/app/util/OpenSearch.java
@@ -187,7 +187,7 @@ public class OpenSearch
catch (FeedException e)
{
log.error(e.toString(), e);
- throw new IOException("Unable to generate feed");
+ throw new IOException("Unable to generate feed", e);
}
}
@@ -214,7 +214,7 @@ public class OpenSearch
catch (FeedException e)
{
log.error(e.toString(), e);
- throw new IOException("Unable to generate feed");
+ throw new IOException("Unable to generate feed", e);
}
}
@@ -350,7 +350,7 @@ public class OpenSearch
}
catch(JDOMException jde)
{
- throw new IOException("JDOM output exception");
+ throw new IOException("JDOM output exception", jde);
}
}
}
diff --git a/dspace-api/src/main/java/org/dspace/content/Collection.java b/dspace-api/src/main/java/org/dspace/content/Collection.java
index 426449eba4..8a08fbb380 100644
--- a/dspace-api/src/main/java/org/dspace/content/Collection.java
+++ b/dspace-api/src/main/java/org/dspace/content/Collection.java
@@ -1131,7 +1131,7 @@ public class Collection extends DSpaceObject
catch (BrowseException e)
{
log.error("caught exception: ", e);
- throw new IOException(e.getMessage());
+ throw new IOException(e.getMessage(), e);
}
finally
{
diff --git a/dspace-api/src/main/java/org/dspace/content/Item.java b/dspace-api/src/main/java/org/dspace/content/Item.java
index 0f9a8a191d..13c236a5d1 100644
--- a/dspace-api/src/main/java/org/dspace/content/Item.java
+++ b/dspace-api/src/main/java/org/dspace/content/Item.java
@@ -1934,7 +1934,7 @@ public class Item extends DSpaceObject
catch (BrowseException e)
{
log.error("caught exception: ", e);
- throw new SQLException(e.getMessage());
+ throw new SQLException(e.getMessage(), e);
}
// Delete the Dublin Core
diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java
index a3a104ef10..b33b376465 100644
--- a/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java
+++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java
@@ -272,7 +272,7 @@ public class MODSDisseminationCrosswalk extends SelfNamedPlugin
{
log.error("Error opening or reading MODS properties file: "+propsFile.toString()+": "+e.toString());
throw new CrosswalkInternalException("MODS crosswalk cannot "+
- "open config file: "+e.toString());
+ "open config file: "+e.toString(), e);
}
finally
{
diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java
index 0fc4ae6a09..d3756303bd 100644
--- a/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java
+++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java
@@ -146,7 +146,7 @@ public class OREIngestionCrosswalk
xpathLinks.addNamespace(ATOM_NS);
entryId = ((Attribute)xpathLinks.selectSingleNode(doc)).getValue();
} catch (JDOMException e) {
- throw new CrosswalkException("JDOM exception occured while ingesting the ORE");
+ throw new CrosswalkException("JDOM exception occured while ingesting the ORE", e);
}
// Next for each resource, create a bitstream
diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java
index b953c830eb..9e74f59cb6 100644
--- a/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java
+++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java
@@ -320,7 +320,7 @@ public class QDCCrosswalk extends SelfNamedPlugin
}
catch (org.jdom.JDOMException je)
{
- throw new CrosswalkInternalException("Failed parsing XML fragment in properties file: \""+prolog+val+postlog+"\": "+je.toString());
+ throw new CrosswalkInternalException("Failed parsing XML fragment in properties file: \""+prolog+val+postlog+"\": "+je.toString(), je);
}
}
}
diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTDisseminationCrosswalk.java
index a40de6ef11..71e1c40d84 100644
--- a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTDisseminationCrosswalk.java
+++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTDisseminationCrosswalk.java
@@ -231,7 +231,7 @@ public class XSLTDisseminationCrosswalk
catch (XSLTransformException e)
{
log.error("Got error: "+e.toString());
- throw new CrosswalkInternalException("XSL translation failed: "+e.toString());
+ throw new CrosswalkInternalException("XSL translation failed: "+e.toString(), e);
}
}
@@ -263,7 +263,7 @@ public class XSLTDisseminationCrosswalk
catch (XSLTransformException e)
{
log.error("Got error: "+e.toString());
- throw new CrosswalkInternalException("XSL translation failed: "+e.toString());
+ throw new CrosswalkInternalException("XSL translation failed: "+e.toString(), e);
}
}
diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java
index ec0d8bffa7..3acaf6ab49 100644
--- a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java
+++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java
@@ -162,7 +162,7 @@ public class XSLTIngestionCrosswalk
catch (XSLTransformException e)
{
log.error("Got error: "+e.toString());
- throw new CrosswalkInternalException("XSL Transformation failed: "+e.toString());
+ throw new CrosswalkInternalException("XSL Transformation failed: "+e.toString(), e);
}
}
@@ -185,7 +185,7 @@ public class XSLTIngestionCrosswalk
catch (XSLTransformException e)
{
log.error("Got error: "+e.toString());
- throw new CrosswalkInternalException("XSL Transformation failed: "+e.toString());
+ throw new CrosswalkInternalException("XSL Transformation failed: "+e.toString(), e);
}
}
diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java
index 1a70962abf..c6d4853fd9 100644
--- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java
+++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java
@@ -660,11 +660,11 @@ public abstract class AbstractMETSDisseminator
}
catch (InstantiationException e)
{
- throw new PackageValidationException("Error instantiating Mdsec object: "+ e.toString());
+ throw new PackageValidationException("Error instantiating Mdsec object: "+ e.toString(), e);
}
catch (IllegalAccessException e)
{
- throw new PackageValidationException("Error instantiating Mdsec object: "+ e.toString());
+ throw new PackageValidationException("Error instantiating Mdsec object: "+ e.toString(), e);
}
}
diff --git a/dspace-api/src/main/java/org/dspace/content/packager/PackageValidationException.java b/dspace-api/src/main/java/org/dspace/content/packager/PackageValidationException.java
index f78a3c2a20..2c3e2005c5 100644
--- a/dspace-api/src/main/java/org/dspace/content/packager/PackageValidationException.java
+++ b/dspace-api/src/main/java/org/dspace/content/packager/PackageValidationException.java
@@ -71,4 +71,9 @@ public class PackageValidationException extends PackageException
{
super(exception);
}
+
+ public PackageValidationException(String message, Exception exception)
+ {
+ super(message, exception);
+ }
}
diff --git a/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java b/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java
index eab64bebfd..561850dc99 100644
--- a/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java
+++ b/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java
@@ -279,7 +279,7 @@ public class ConfigurationManager
// FIXME: Maybe something more graceful here, but with the
// configuration we can't do anything
- throw new RuntimeException("Failed to read default license.");
+ throw new RuntimeException("Failed to read default license.", e);
}
finally
{
diff --git a/dspace-api/src/main/java/org/dspace/handle/HandlePlugin.java b/dspace-api/src/main/java/org/dspace/handle/HandlePlugin.java
index 68ff8aa78d..9fbeb7ea3e 100644
--- a/dspace-api/src/main/java/org/dspace/handle/HandlePlugin.java
+++ b/dspace-api/src/main/java/org/dspace/handle/HandlePlugin.java
@@ -302,6 +302,7 @@ public class HandlePlugin implements HandleStorage
log.debug("Exception in getRawHandleValues", e);
}
+ // Stack loss as exception does not support cause
throw new HandleException(HandleException.INTERNAL_ERROR);
}
finally
@@ -419,6 +420,7 @@ public class HandlePlugin implements HandleStorage
log.debug("Exception in getHandlesForNA", sqle);
}
+ // Stack loss as exception does not support cause
throw new HandleException(HandleException.INTERNAL_ERROR);
}
finally
diff --git a/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java b/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java
index f923422197..dff62c388e 100644
--- a/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java
+++ b/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java
@@ -287,11 +287,11 @@ public class OAIHarvester {
}
catch (FileNotFoundException fe) {
log.error("The OAI server did not respond.");
- throw new HarvestingException("The OAI server did not respond.");
+ throw new HarvestingException("The OAI server did not respond.", fe);
}
catch (ConnectException fe) {
log.error("The OAI server did not respond.");
- throw new HarvestingException("The OAI server did not respond.");
+ throw new HarvestingException("The OAI server did not respond.", fe);
}
if (descMDPrefix == null) {
log.error("The OAI server does not support this metadata format");
diff --git a/dspace-api/src/main/java/org/dspace/plugin/PluginException.java b/dspace-api/src/main/java/org/dspace/plugin/PluginException.java
index d7a43fbd0b..99b8970384 100644
--- a/dspace-api/src/main/java/org/dspace/plugin/PluginException.java
+++ b/dspace-api/src/main/java/org/dspace/plugin/PluginException.java
@@ -37,8 +37,6 @@
*/
package org.dspace.plugin;
-import java.lang.Exception;
-
/**
* General exception class for all code that runs as a plugin in DSpace
*
diff --git a/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageManager.java b/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageManager.java
index aaa8cf97ba..fa40abd51e 100644
--- a/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageManager.java
+++ b/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageManager.java
@@ -448,7 +448,7 @@ public class BitstreamStorageManager
catch (NoSuchAlgorithmException e)
{
log.warn("Caught NoSuchAlgorithmException", e);
- throw new IOException("Invalid checksum algorithm");
+ throw new IOException("Invalid checksum algorithm", e);
}
catch (IOException e)
{
@@ -491,7 +491,7 @@ public class BitstreamStorageManager
catch (NoSuchAlgorithmException e)
{
log.error("Caught NoSuchAlgorithmException", e);
- throw new IOException("Invalid checksum algorithm");
+ throw new IOException("Invalid checksum algorithm", e);
}
bitstream.setColumn("checksum",
Utils.toHex(md.digest(sFilename.getBytes())));
diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/DataSourceInit.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/DataSourceInit.java
index 14fea4d55d..d47ef41d85 100644
--- a/dspace-api/src/main/java/org/dspace/storage/rdbms/DataSourceInit.java
+++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/DataSourceInit.java
@@ -178,7 +178,7 @@ public class DataSourceInit {
// Need to be able to catch other exceptions. Pretend they are
// SQLExceptions, but do log
log.warn("Exception initializing DB pool", e);
- throw new SQLException(e.toString());
+ throw new SQLException(e.toString(), e);
}
}
}
diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseManager.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseManager.java
index 551b69428c..5d45fd4e2d 100644
--- a/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseManager.java
+++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseManager.java
@@ -1676,7 +1676,7 @@ public class DatabaseManager
// Need to be able to catch other exceptions. Pretend they are
// SQLExceptions, but do log
log.warn("Exception initializing DB pool", e);
- throw new SQLException(e.toString());
+ throw new SQLException(e.toString(), e);
}
}
diff --git a/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java b/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java
index fdba6e46ec..dc2f139a32 100644
--- a/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java
+++ b/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java
@@ -57,7 +57,6 @@ import org.dspace.administer.RegistryLoader;
import org.dspace.browse.IndexBrowse;
import org.dspace.browse.MockBrowseCreateDAOOracle;
import org.dspace.content.MetadataField;
-import org.dspace.content.MetadataSchema;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Context;
import org.dspace.eperson.EPerson;
diff --git a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/BrowseListTag.java b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/BrowseListTag.java
index c118047901..0f79675718 100644
--- a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/BrowseListTag.java
+++ b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/BrowseListTag.java
@@ -824,11 +824,11 @@ public class BrowseListTag extends TagSupport
}
catch (SQLException sqle)
{
- throw new JspException(sqle.getMessage());
+ throw new JspException(sqle.getMessage(), sqle);
}
catch (IOException ioe)
{
- throw new JspException(ioe.getMessage());
+ throw new JspException(ioe.getMessage(), ioe);
}
// now get the image dimensions
@@ -906,7 +906,7 @@ public class BrowseListTag extends TagSupport
}
catch (SQLException sqle)
{
- throw new JspException(sqle.getMessage());
+ throw new JspException(sqle.getMessage(), sqle);
}
catch (UnsupportedEncodingException e)
{
diff --git a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/ItemListTag.java b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/ItemListTag.java
index 26e51b0d5c..ae040fb358 100644
--- a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/ItemListTag.java
+++ b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/ItemListTag.java
@@ -789,11 +789,11 @@ public class ItemListTag extends TagSupport
}
catch (SQLException sqle)
{
- throw new JspException(sqle.getMessage());
+ throw new JspException(sqle.getMessage(), sqle);
}
catch (IOException ioe)
{
- throw new JspException(ioe.getMessage());
+ throw new JspException(ioe.getMessage(), ioe);
}
// now get the image dimensions
@@ -871,7 +871,7 @@ public class ItemListTag extends TagSupport
}
catch (SQLException sqle)
{
- throw new JspException(sqle.getMessage());
+ throw new JspException(sqle.getMessage(), sqle);
}
catch (UnsupportedEncodingException e)
{
diff --git a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/ItemTag.java b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/ItemTag.java
index d0c22060d7..367d6bf99c 100644
--- a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/ItemTag.java
+++ b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/jsptag/ItemTag.java
@@ -962,7 +962,7 @@ public class ItemTag extends TagSupport
}
catch(SQLException sqle)
{
- throw new IOException(sqle.getMessage());
+ throw new IOException(sqle.getMessage(), sqle);
}
out.println("");
@@ -990,7 +990,7 @@ public class ItemTag extends TagSupport
}
catch(SQLException sqle)
{
- throw new IOException(sqle.getMessage());
+ throw new IOException(sqle.getMessage(), sqle);
}
out.println("
");
diff --git a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/AuthorityChooseServlet.java b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/AuthorityChooseServlet.java
index c2050a16b3..8147420322 100644
--- a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/AuthorityChooseServlet.java
+++ b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/AuthorityChooseServlet.java
@@ -89,7 +89,7 @@ public class AuthorityChooseServlet extends DSpaceServlet {
}
catch(SAXException e)
{
- throw new IOException(e.toString());
+ throw new IOException(e.toString(), e);
}
finally
{
diff --git a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/FeedServlet.java b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/FeedServlet.java
index 049423cd06..b1bf30a16b 100644
--- a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/FeedServlet.java
+++ b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/FeedServlet.java
@@ -283,7 +283,7 @@ public class FeedServlet extends DSpaceServlet
}
catch( FeedException fex )
{
- throw new IOException(fex.getMessage());
+ throw new IOException(fex.getMessage(), fex);
}
}
@@ -374,12 +374,12 @@ public class FeedServlet extends DSpaceServlet
catch (SortException se)
{
log.error("caught exception: ", se);
- throw new IOException(se.getMessage());
+ throw new IOException(se.getMessage(), se);
}
catch (BrowseException e)
{
log.error("caught exception: ", e);
- throw new IOException(e.getMessage());
+ throw new IOException(e.getMessage(), e);
}
}
diff --git a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/OpenSearchServlet.java b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/OpenSearchServlet.java
index f467eb6eae..379e4baf67 100644
--- a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/OpenSearchServlet.java
+++ b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/OpenSearchServlet.java
@@ -238,7 +238,7 @@ public class OpenSearchServlet extends DSpaceServlet
catch (TransformerException e)
{
log.error(e);
- throw new ServletException(e.toString());
+ throw new ServletException(e.toString(), e);
}
}
diff --git a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/util/FileUploadRequest.java b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/util/FileUploadRequest.java
index 6a00bd034f..f850b88d74 100755
--- a/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/util/FileUploadRequest.java
+++ b/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/util/FileUploadRequest.java
@@ -128,9 +128,7 @@ public class FileUploadRequest extends HttpServletRequestWrapper
}
catch (Exception e)
{
- IOException t = new IOException(e.getMessage());
- t.initCause(e);
- throw t;
+ throw new IOException(e.getMessage(), e);
}
}
diff --git a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVBitstream.java b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVBitstream.java
index 1c4f966f2e..7525b96b4c 100644
--- a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVBitstream.java
+++ b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVBitstream.java
@@ -246,7 +246,7 @@ class DAVBitstream extends DAVDSpaceObject
catch (NumberFormatException nfe)
{
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
- "Invalid Bitstream Sequence ID in URI: " + pathElt);
+ "Invalid Bitstream Sequence ID in URI: " + pathElt, nfe);
}
}
diff --git a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVCollection.java b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVCollection.java
index dd11c93d19..d6c60539f7 100644
--- a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVCollection.java
+++ b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVCollection.java
@@ -587,7 +587,7 @@ class DAVCollection extends DAVDSpaceObject
{
pe.log(log);
throw new DAVStatusException(
- HttpServletResponse.SC_INTERNAL_SERVER_ERROR, pe.toString());
+ HttpServletResponse.SC_INTERNAL_SERVER_ERROR, pe.toString(), pe);
}
catch (CrosswalkException ie)
{
@@ -599,7 +599,7 @@ class DAVCollection extends DAVDSpaceObject
log.error(ie.toString() + reason);
throw new DAVStatusException(
HttpServletResponse.SC_INTERNAL_SERVER_ERROR, ie.toString()
- + reason);
+ + reason, ie);
}
}
diff --git a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVEPersonEPerson.java b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVEPersonEPerson.java
index 6cc0531bdd..b37110fb58 100644
--- a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVEPersonEPerson.java
+++ b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVEPersonEPerson.java
@@ -249,7 +249,7 @@ class DAVEPersonEPerson extends DAVResource
catch (NumberFormatException ne)
{
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
- "Error parsing number in request URI.");
+ "Error parsing number in request URI.", ne);
}
}
diff --git a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVItem.java b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVItem.java
index 1997ada6f5..2dc06bd0fb 100644
--- a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVItem.java
+++ b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVItem.java
@@ -227,7 +227,7 @@ class DAVItem extends DAVDSpaceObject
catch (NumberFormatException ne)
{
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
- "Error parsing number in request URI.");
+ "Error parsing number in request URI.", ne);
}
}
@@ -518,14 +518,14 @@ class DAVItem extends DAVDSpaceObject
{
throw new DAVStatusException(
HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
- "Failed in crosswalk of metadata: " + pe.toString());
+ "Failed in crosswalk of metadata: " + pe.toString(), pe);
}
catch (PackageException pe)
{
pe.log(log);
throw new DAVStatusException(
HttpServletResponse.SC_INTERNAL_SERVER_ERROR, pe
- .toString());
+ .toString(), pe);
}
}
}
diff --git a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVResource.java b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVResource.java
index f8fa40fa40..7e97d30dd0 100644
--- a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVResource.java
+++ b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVResource.java
@@ -567,7 +567,7 @@ abstract class DAVResource
{
throw new DAVStatusException(
HttpServletResponse.SC_BAD_REQUEST,
- "Bad Depth header: " + sdepth);
+ "Bad Depth header: " + sdepth, nfe);
}
}
@@ -671,14 +671,14 @@ abstract class DAVResource
.toString()));
throw new DAVStatusException(
HttpServletResponse.SC_BAD_REQUEST,
- "Could not parse request document: " + je.toString());
+ "Could not parse request document: " + je.toString(), je);
}
}
catch (JDOMException je)
{
log.error(LogManager.getHeader(this.context, "propfind", je.toString()));
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
- "Could not parse request document: " + je.toString());
+ "Could not parse request document: " + je.toString(), je);
}
// At this point, pfProps, pfType and URI define the whole request.
@@ -883,7 +883,7 @@ abstract class DAVResource
throw new DAVStatusException(
HttpServletResponse.SC_BAD_REQUEST,
"Could not parse PROPERTYUPDATE request document: "
- + je.toString());
+ + je.toString(), je);
}
}
catch (JDOMException je)
@@ -893,7 +893,7 @@ abstract class DAVResource
.toString()));
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
"Could not parse PROPERTYUPDATE request document: "
- + je.toString());
+ + je.toString(), je);
}
if (reqdoc == null)
{
@@ -1178,7 +1178,7 @@ abstract class DAVResource
{
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
"Illegal URI syntax in value of \"Destination\" header: "
- + destination);
+ + destination, e);
}
// Depth arg from header
@@ -1202,7 +1202,7 @@ abstract class DAVResource
{
throw new DAVStatusException(
HttpServletResponse.SC_BAD_REQUEST,
- "Illegal value in Depth request header: " + sdepth);
+ "Illegal value in Depth request header: " + sdepth, nfe);
}
}
@@ -1229,14 +1229,14 @@ abstract class DAVResource
{
throw new DAVStatusException(
HttpServletResponse.SC_BAD_REQUEST,
- "Error parsing XML document in COPY request.");
+ "Error parsing XML document in COPY request.", je);
}
}
catch (JDOMException je)
{
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
"Error parsing XML document in COPY request: "
- + je.toString());
+ + je.toString(), je);
}
if (reqdoc != null)
{
@@ -1700,14 +1700,14 @@ abstract class DAVResource
throw new DAVStatusException(
HttpServletResponse.SC_BAD_REQUEST,
"Could not parse DELETE request document: "
- + je.toString());
+ + je.toString(), je);
}
}
catch (JDOMException je)
{
log.error(LogManager.getHeader(this.context, "delete", je.toString()));
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
- "Could not parse DELETE request document: " + je.toString());
+ "Could not parse DELETE request document: " + je.toString(), je);
}
if (reqdoc == null)
{
@@ -1793,14 +1793,14 @@ abstract class DAVResource
throw new DAVStatusException(
HttpServletResponse.SC_BAD_REQUEST,
"Could not parse MKCOL request document: "
- + je.toString());
+ + je.toString(), je);
}
}
catch (JDOMException je)
{
log.error(LogManager.getHeader(this.context, "mkcol", je.toString()));
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
- "Could not parse MKCOL request document: " + je.toString());
+ "Could not parse MKCOL request document: " + je.toString(), je);
}
if (reqdoc == null)
{
diff --git a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVWorkflowItem.java b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVWorkflowItem.java
index 61ae44e5f2..83c60f9d69 100644
--- a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVWorkflowItem.java
+++ b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVWorkflowItem.java
@@ -211,7 +211,7 @@ class DAVWorkflowItem extends DAVInProgressSubmission
catch (NumberFormatException ne)
{
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
- "Error parsing number in request URI.");
+ "Error parsing number in request URI.", ne);
}
}
diff --git a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVWorkspaceItem.java b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVWorkspaceItem.java
index b20ad6aa97..c4feefc2ce 100644
--- a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVWorkspaceItem.java
+++ b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/DAVWorkspaceItem.java
@@ -197,7 +197,7 @@ class DAVWorkspaceItem extends DAVInProgressSubmission
catch (NumberFormatException ne)
{
throw new DAVStatusException(HttpServletResponse.SC_BAD_REQUEST,
- "Error parsing number in request URI.");
+ "Error parsing number in request URI.", ne);
}
}
@@ -285,7 +285,7 @@ class DAVWorkspaceItem extends DAVInProgressSubmission
{
throw new DAVStatusException(
HttpServletResponse.SC_BAD_REQUEST,
- "Error parsing number in property value.");
+ "Error parsing number in property value.", ne);
}
}
else
diff --git a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/LNISoapServlet.java b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/LNISoapServlet.java
index 2642a204aa..0b7ef67c7b 100644
--- a/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/LNISoapServlet.java
+++ b/dspace-lni/dspace-lni-core/src/main/java/org/dspace/app/dav/LNISoapServlet.java
@@ -310,7 +310,7 @@ public class LNISoapServlet extends AxisServlet
catch (DAVStatusException e)
{
throw new LNIRemoteException("PROPFIND request failed: "
- + e.getStatusLine());
+ + e.getStatusLine(), e);
}
catch (AuthorizeException e)
{
@@ -386,7 +386,7 @@ public class LNISoapServlet extends AxisServlet
catch (DAVStatusException e)
{
throw new LNIRemoteException("PROPPATCH request failed: "
- + e.getStatusLine());
+ + e.getStatusLine(), e);
}
catch (AuthorizeException e)
{
@@ -516,7 +516,7 @@ public class LNISoapServlet extends AxisServlet
catch (DAVStatusException e)
{
throw new LNIRemoteException("COPY request failed: "
- + e.getStatusLine());
+ + e.getStatusLine(), e);
}
catch (AuthorizeException e)
{
diff --git a/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/DSpaceOAICatalog.java b/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/DSpaceOAICatalog.java
index beaa711ddf..063917a2a5 100644
--- a/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/DSpaceOAICatalog.java
+++ b/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/DSpaceOAICatalog.java
@@ -149,6 +149,7 @@ public class DSpaceOAICatalog extends AbstractCatalog
// Log the error
log.warn(LogManager.getHeader(context, "database_error", ""), se);
+ // Stack trace loss as OAI Exception does not support cause
throw new OAIInternalServerError(se.toString());
}
finally
@@ -276,10 +277,12 @@ public class DSpaceOAICatalog extends AbstractCatalog
// Log the error
log.warn(LogManager.getHeader(context, "database_error", ""), se);
+ // Stack trace loss as OAI Exception does not support cause
throw new OAIInternalServerError(se.toString());
}
catch (ParseException pe)
{
+ // Stack trace loss as OAI Exception does not support cause
throw new OAIInternalServerError(pe.toString());
}
finally
@@ -412,6 +415,7 @@ public class DSpaceOAICatalog extends AbstractCatalog
// Log the error
log.warn(LogManager.getHeader(context, "database_error", ""), se);
+ // Stack trace loss as OAI Exception does not support cause
throw new OAIInternalServerError(se.toString());
}
finally
@@ -656,10 +660,12 @@ public class DSpaceOAICatalog extends AbstractCatalog
// Log the error
log.warn(LogManager.getHeader(context, "database_error", ""), se);
+ // Stack trace loss as OAI Exception does not support cause
throw new OAIInternalServerError(se.toString());
}
catch (ParseException pe)
{
+ // Stack trace loss as OAI Exception does not support cause
throw new OAIInternalServerError(pe.toString());
}
finally
@@ -678,7 +684,7 @@ public class DSpaceOAICatalog extends AbstractCatalog
*
* @return a Map object containing "sets" Iterator object (contains
* XML Strings) as well as an optional resumptionMap Map.
- * @exception OAIBadRequestException
+ * @exception NoSetHierarchyException
* signals an http status code 400 problem
* @exception OAIInternalServerError
* signals an http status code 500 problem
@@ -751,6 +757,7 @@ public class DSpaceOAICatalog extends AbstractCatalog
// Log the error
log.warn(LogManager.getHeader(context, "database_error", ""), se);
+ // Stack trace loss as OAI Exception does not support cause
throw new OAIInternalServerError(se.toString());
}
finally
@@ -950,10 +957,12 @@ public class DSpaceOAICatalog extends AbstractCatalog
}
catch (NumberFormatException nfe)
{
+ // Stack trace loss as OAI Exception does not support cause
throw new BadResumptionTokenException();
}
catch (NoSuchElementException nsee)
{
+ // Stack trace loss as OAI Exception does not support cause
throw new BadResumptionTokenException();
}
diff --git a/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/OAIDCCrosswalk.java b/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/OAIDCCrosswalk.java
index a820f9cd0e..7a1c086bbd 100644
--- a/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/OAIDCCrosswalk.java
+++ b/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/OAIDCCrosswalk.java
@@ -281,6 +281,7 @@ public class OAIDCCrosswalk extends Crosswalk
}
catch (SQLException e)
{
+ // Stack loss as exception does not support cause
throw new CannotDisseminateFormatException(e.toString());
}
}
diff --git a/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/PluginCrosswalk.java b/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/PluginCrosswalk.java
index cc3a02ec74..d2c3179796 100755
--- a/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/PluginCrosswalk.java
+++ b/dspace-oai/dspace-oai-api/src/main/java/org/dspace/app/oai/PluginCrosswalk.java
@@ -190,6 +190,7 @@ public class PluginCrosswalk extends Crosswalk
log.error("*** Stack trace follows:");
log.error(sw.toString());
+ // Stack loss as exception does not support cause
throw new CannotDisseminateFormatException(schemaLabel);
}
}
diff --git a/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/DepositServlet.java b/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/DepositServlet.java
index fcd76331e0..e48fa4d0ea 100644
--- a/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/DepositServlet.java
+++ b/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/DepositServlet.java
@@ -115,7 +115,7 @@ public class DepositServlet extends HttpServlet {
+ className);
throw new ServletException(
"Unable to instantiate class from 'sword-server-class': "
- + className);
+ + className, e);
}
}
diff --git a/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/DummyServer.java b/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/DummyServer.java
index 1d5baf34c9..2d4a129e39 100644
--- a/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/DummyServer.java
+++ b/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/DummyServer.java
@@ -261,7 +261,7 @@ public class DummyServer implements SWORDServer {
filenames.append(" ").append(ze.toString());
}
} catch (IOException ioe) {
- throw new SWORDException("Failed to open deposited zip file", null, ErrorCodes.ERROR_CONTENT);
+ throw new SWORDException("Failed to open deposited zip file", ioe, ErrorCodes.ERROR_CONTENT);
}
// Handle the deposit
diff --git a/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/ServiceDocumentServlet.java b/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/ServiceDocumentServlet.java
index 4f8e19d677..2c06504a5a 100644
--- a/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/ServiceDocumentServlet.java
+++ b/dspace-sword/dspace-sword-api/src/main/java/org/purl/sword/server/ServiceDocumentServlet.java
@@ -94,7 +94,7 @@ public class ServiceDocumentServlet extends HttpServlet {
+ className);
throw new ServletException(
"Unable to instantiate class from 'server-class': "
- + className);
+ + className, e);
}
}
diff --git a/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/submission/FlowUtils.java b/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/submission/FlowUtils.java
index ab2ce6ed1e..6dc32a32fb 100644
--- a/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/submission/FlowUtils.java
+++ b/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/submission/FlowUtils.java
@@ -195,7 +195,7 @@ public class FlowUtils {
}
catch(Exception e)
{
- throw new SQLException("Error loading Submission Info: " + e.getMessage());
+ throw new SQLException("Error loading Submission Info: " + e.getMessage(), e);
}
}
else if(subInfo==null && submission==null)
diff --git a/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/cocoon/DSpaceFeedGenerator.java b/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/cocoon/DSpaceFeedGenerator.java
index fce5832a89..8ab9f54c2c 100644
--- a/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/cocoon/DSpaceFeedGenerator.java
+++ b/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/cocoon/DSpaceFeedGenerator.java
@@ -269,7 +269,7 @@ public class DSpaceFeedGenerator extends AbstractGenerator
}
catch (IllegalArgumentException iae)
{
- throw new ResourceNotFoundException("Syndication feed format, '"+this.format+"', is not supported.");
+ throw new ResourceNotFoundException("Syndication feed format, '"+this.format+"', is not supported.", iae);
}
catch (FeedException fe)
{
diff --git a/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/objectmanager/ContainerAdapter.java b/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/objectmanager/ContainerAdapter.java
index cd4d8faa7e..654e39cc1d 100644
--- a/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/objectmanager/ContainerAdapter.java
+++ b/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/objectmanager/ContainerAdapter.java
@@ -306,9 +306,7 @@ public class ContainerAdapter extends AbstractAdapter
}
catch(ItemCountException e)
{
- IOException ioe = new IOException("Could not obtain Collection item-count");
- ioe.initCause(e);
- throw ioe;
+ throw new IOException("Could not obtain Collection item-count", e);
}
}
}
@@ -342,9 +340,7 @@ public class ContainerAdapter extends AbstractAdapter
}
catch(ItemCountException e)
{
- IOException ioe = new IOException("Could not obtain Collection item-count");
- ioe.initCause(e);
- throw ioe;
+ throw new IOException("Could not obtain Collection item-count", e);
}
}
}