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); } } }