[DS-707] Exception handling

git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5661 9c30dcfa-912a-0410-8fc2-9e0234be79fd
This commit is contained in:
Graham Triggs
2010-10-26 20:50:52 +00:00
parent 787b928fd5
commit 5a2be0346d
22 changed files with 58 additions and 81 deletions

View File

@@ -265,7 +265,7 @@ public class CreateAdministrator
if (admins == null) if (admins == null)
{ {
throw new Exception("Error, no admin group (group 1) found"); throw new IllegalStateException("Error, no admin group (group 1) found");
} }
// Create the administrator e-person // Create the administrator e-person

View File

@@ -1033,7 +1033,7 @@ public class ItemExport
{ {
// wont throw here // wont throw here
} }
throw new RuntimeException(e1); throw new IllegalStateException(e1);
} }
finally finally
{ {

View File

@@ -94,7 +94,7 @@ public class ScriptLauncher
} }
String message = "Failure during filter init: " + e.getMessage(); String message = "Failure during filter init: " + e.getMessage();
System.err.println(message + ":" + e); System.err.println(message + ":" + e);
throw new RuntimeException(message, e); throw new IllegalStateException(message, e);
} }
// Parse the configuration file looking for the command entered // Parse the configuration file looking for the command entered

View File

@@ -112,7 +112,7 @@ public class DSpaceContextListener implements ServletContextListener
// Finally, if no config parameter found throw an error // Finally, if no config parameter found throw an error
if (dspaceConfig == null || "".equals(dspaceConfig)) if (dspaceConfig == null || "".equals(dspaceConfig))
{ {
throw new RuntimeException( throw new IllegalStateException(
"\n\nDSpace has failed to initialize. This has occurred because it was unable to determine \n" + "\n\nDSpace has failed to initialize. This has occurred because it was unable to determine \n" +
"where the dspace.cfg file is located. The path to the configuration file should be stored \n" + "where the dspace.cfg file is located. The path to the configuration file should be stored \n" +
"in a context variable, '"+DSPACE_CONFIG_PARAMETER+"', in the global context. \n" + "in a context variable, '"+DSPACE_CONFIG_PARAMETER+"', in the global context. \n" +
@@ -136,7 +136,7 @@ public class DSpaceContextListener implements ServletContextListener
} }
catch (Exception e) catch (Exception e)
{ {
throw new RuntimeException( throw new IllegalStateException(
"\n\nDSpace has failed to initialize, during stage 2. Error while attempting to read the \n" + "\n\nDSpace has failed to initialize, during stage 2. Error while attempting to read the \n" +
"DSpace configuration file (Path: '"+dspaceConfig+"'). \n" + "DSpace configuration file (Path: '"+dspaceConfig+"'). \n" +
"This has likely occurred because either the file does not exist, or it's permissions \n" + "This has likely occurred because either the file does not exist, or it's permissions \n" +

View File

@@ -233,8 +233,7 @@ public final class BitstreamInfoDAO extends DAOSupport
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("Problem updating checksum row. " + e.getMessage(), e); LOG.error("Problem updating checksum row. " + e.getMessage(), e);
throw new RuntimeException("Problem updating checksum row. " throw new IllegalStateException("Problem updating checksum row. " + e.getMessage(), e);
+ e.getMessage(), e);
} }
finally finally
{ {
@@ -327,11 +326,8 @@ public final class BitstreamInfoDAO extends DAOSupport
} }
catch (SQLException e) catch (SQLException e)
{ {
LOG.error( LOG.error("Problem inserting missing bitstreams. " + e.getMessage(), e);
"Problem inserting missing bitstreams. " + e.getMessage(), throw new IllegalStateException("Problem inserting missing bitstreams. " + e.getMessage(), e);
e);
throw new RuntimeException("Problem inserting missing bitstreams. "
+ e.getMessage(), e);
} }
finally finally
{ {
@@ -373,8 +369,7 @@ public final class BitstreamInfoDAO extends DAOSupport
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("Problem deleting bitstream. " + e.getMessage(), e); LOG.error("Problem deleting bitstream. " + e.getMessage(), e);
throw new RuntimeException("Problem deleting bitstream. " throw new IllegalStateException("Problem deleting bitstream. " + e.getMessage(), e);
+ e.getMessage(), e);
} }
finally finally
{ {
@@ -399,8 +394,7 @@ public final class BitstreamInfoDAO extends DAOSupport
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("Problem deleting bitstream. " + e.getMessage(), e); LOG.error("Problem deleting bitstream. " + e.getMessage(), e);
throw new RuntimeException("Problem deleting bitstream. " throw new IllegalStateException("Problem deleting bitstream. " + e.getMessage(), e);
+ e.getMessage(), e);
} }
finally finally
{ {
@@ -449,8 +443,7 @@ public final class BitstreamInfoDAO extends DAOSupport
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("Problem with get oldest bitstream " + e.getMessage(), e); LOG.error("Problem with get oldest bitstream " + e.getMessage(), e);
throw new RuntimeException("Oldest bitstream error. " throw new IllegalStateException("Oldest bitstream error. " + e.getMessage(), e);
+ e.getMessage(), e);
} }
finally finally
@@ -499,8 +492,7 @@ public final class BitstreamInfoDAO extends DAOSupport
{ {
LOG.error("get oldest bitstream less than date " + e.getMessage(), LOG.error("get oldest bitstream less than date " + e.getMessage(),
e); e);
throw new RuntimeException("get oldest bitstream less than date. " throw new IllegalStateException("get oldest bitstream less than date. " + e.getMessage(), e);
+ e.getMessage(), e);
} }
finally finally
@@ -541,8 +533,7 @@ public final class BitstreamInfoDAO extends DAOSupport
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("get item bitstreams " + e.getMessage(), e); LOG.error("get item bitstreams " + e.getMessage(), e);
throw new RuntimeException( throw new IllegalStateException("get item bitstreams. " + e.getMessage(), e);
"get item bitstreams. " + e.getMessage(), e);
} }
finally finally
@@ -583,7 +574,7 @@ public final class BitstreamInfoDAO extends DAOSupport
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("get item bitstreams " + e.getMessage(), e); LOG.error("get item bitstreams " + e.getMessage(), e);
throw new RuntimeException("get item bitstreams. " + e.getMessage(), e); throw new IllegalStateException("get item bitstreams. " + e.getMessage(), e);
} }
finally finally
@@ -625,8 +616,7 @@ public final class BitstreamInfoDAO extends DAOSupport
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("get item bitstreams " + e.getMessage(), e); LOG.error("get item bitstreams " + e.getMessage(), e);
throw new RuntimeException( throw new IllegalStateException("get item bitstreams. " + e.getMessage(), e);
"get item bitstreams. " + e.getMessage(), e);
} }
finally finally

View File

@@ -156,8 +156,7 @@ public class ChecksumHistoryDAO extends DAOSupport
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("Problem updating checksum row. " + e.getMessage(), e); LOG.error("Problem updating checksum row. " + e.getMessage(), e);
throw new RuntimeException("Problem updating checksum row. " throw new IllegalStateException("Problem updating checksum row. " + e.getMessage(), e);
+ e.getMessage(), e);
} }
finally finally
{ {
@@ -190,10 +189,8 @@ public class ChecksumHistoryDAO extends DAOSupport
} }
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("Problem with inserting missing bitstream. " LOG.error("Problem with inserting missing bitstream. " + e.getMessage(), e);
+ e.getMessage(), e); throw new IllegalStateException("Problem inserting missing bitstream. " + e.getMessage(), e);
throw new RuntimeException("Problem inserting missing bitstream. "
+ e.getMessage(), e);
} }
finally finally
{ {
@@ -224,8 +221,7 @@ public class ChecksumHistoryDAO extends DAOSupport
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("Problem updating missing history. " + e.getMessage(), e); LOG.error("Problem updating missing history. " + e.getMessage(), e);
throw new RuntimeException("Problem updating missing history. " throw new IllegalStateException("Problem updating missing history. " + e.getMessage(), e);
+ e.getMessage(), e);
} }
finally finally
{ {
@@ -293,8 +289,7 @@ public class ChecksumHistoryDAO extends DAOSupport
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("Problem pruning results: " + e.getMessage(), e); LOG.error("Problem pruning results: " + e.getMessage(), e);
throw new RuntimeException("Problem pruning results: " throw new IllegalStateException("Problem pruning results: " + e.getMessage(), e);
+ e.getMessage(), e);
} }
finally finally
{ {

View File

@@ -101,10 +101,8 @@ public final class ChecksumResultDAO extends DAOSupport
} }
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("Problem selecting checker result description. " LOG.error("Problem selecting checker result description. " + e.getMessage(), e);
+ e.getMessage(), e); throw new IllegalStateException("selecting checker result description. " + e.getMessage(), e);
throw new RuntimeException("selecting checker result description. "
+ e.getMessage(), e);
} }
finally finally
{ {
@@ -140,11 +138,8 @@ public final class ChecksumResultDAO extends DAOSupport
} }
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("Problem listing checksum results codes: " LOG.error("Problem listing checksum results codes: " + e.getMessage(), e);
+ e.getMessage(), e); throw new IllegalStateException("Problem listing checksum results codes: " + e.getMessage(), e);
throw new RuntimeException(
"Problem listing checksum results codes: " + e.getMessage(),
e);
} }
finally finally
{ {

View File

@@ -115,7 +115,7 @@ public class HandleDispatcher implements BitstreamDispatcher
catch (SQLException e) catch (SQLException e)
{ {
LOG.error("init error " + e.getMessage(), e); LOG.error("init error " + e.getMessage(), e);
throw new RuntimeException("init error" + e.getMessage(), e); throw new IllegalStateException("init error" + e.getMessage(), e);
} }
finally finally

View File

@@ -81,7 +81,7 @@ public final class ResultsPruner
} }
catch (FileNotFoundException e) catch (FileNotFoundException e)
{ {
throw new RuntimeException( throw new IllegalStateException(
"VeryExceptionalException - config file not there! ", e); "VeryExceptionalException - config file not there! ", e);
} }
@@ -111,7 +111,7 @@ public final class ResultsPruner
} }
catch (IOException e) catch (IOException e)
{ {
throw new RuntimeException("Problem loading properties file: " throw new IllegalStateException("Problem loading properties file: "
+ e.getMessage(), e); + e.getMessage(), e);
} }
finally finally
@@ -161,7 +161,7 @@ public final class ResultsPruner
} }
catch (ParseException e) catch (ParseException e)
{ {
throw new RuntimeException("Problem parsing duration: " throw new IllegalStateException("Problem parsing duration: "
+ e.getMessage(), e); + e.getMessage(), e);
} }
if ("default".equals(resultCode)) if ("default".equals(resultCode))

View File

@@ -1177,7 +1177,7 @@ public class Collection extends DSpaceObject
{ {
// FIXME: upside down exception handling due to lack of good // FIXME: upside down exception handling due to lack of good
// exception framework // exception framework
throw new RuntimeException(e.getMessage(), e); throw new IllegalStateException(e.getMessage(), e);
} }
// Remove any Handle // Remove any Handle

View File

@@ -1136,7 +1136,7 @@ public class Community extends DSpaceObject
{ {
// FIXME: upside down exception handling due to lack of good // FIXME: upside down exception handling due to lack of good
// exception framework // exception framework
throw new RuntimeException(e.getMessage(),e); throw new IllegalStateException(e.getMessage(),e);
} }
// Remove any Handle // Remove any Handle

View File

@@ -306,7 +306,7 @@ public class ConfigurationManager
// FIXME: Maybe something more graceful here, but with the // FIXME: Maybe something more graceful here, but with the
// configuration we can't do anything // configuration we can't do anything
throw new RuntimeException("Failed to read default license.", e); throw new IllegalStateException("Failed to read default license.", e);
} }
finally finally
{ {
@@ -695,7 +695,7 @@ public class ConfigurationManager
if (url == null) if (url == null)
{ {
fatal("Cannot find dspace.cfg"); fatal("Cannot find dspace.cfg");
throw new RuntimeException("Cannot find dspace.cfg"); throw new IllegalStateException("Cannot find dspace.cfg");
} }
else else
{ {
@@ -722,7 +722,7 @@ public class ConfigurationManager
// FIXME: Maybe something more graceful here, but with the // FIXME: Maybe something more graceful here, but with the
// configuration we can't do anything // configuration we can't do anything
throw new RuntimeException("Cannot load configuration: " + url, e); throw new IllegalStateException("Cannot load configuration: " + url, e);
} }
finally finally
{ {
@@ -768,7 +768,7 @@ public class ConfigurationManager
// FIXME: Maybe something more graceful here, but with the // FIXME: Maybe something more graceful here, but with the
// configuration we can't do anything // configuration we can't do anything
throw new RuntimeException("Cannot load license: " + licenseFile.toString(),e); throw new IllegalStateException("Cannot load license: " + licenseFile.toString(),e);
} }
finally finally
{ {
@@ -866,7 +866,7 @@ public class ConfigurationManager
catch (MalformedURLException e) catch (MalformedURLException e)
{ {
fatal("Can't load dspace provided log4j configuration", e); fatal("Can't load dspace provided log4j configuration", e);
throw new RuntimeException("Cannot load dspace provided log4j configuration",e); throw new IllegalStateException("Cannot load dspace provided log4j configuration",e);
} }
} }

View File

@@ -208,7 +208,7 @@ public class Group extends DSpaceObject
} }
catch (Exception e) catch (Exception e)
{ {
throw new RuntimeException(e); throw new IllegalStateException(e);
} }
isDataLoaded = true; isDataLoaded = true;
} }

View File

@@ -142,8 +142,7 @@ public class EventManager
} }
catch (Exception e) catch (Exception e)
{ {
throw new RuntimeException("Unable to aquire dispatcher named " throw new IllegalStateException("Unable to aquire dispatcher named " + name, e);
+ name, e);
} }
} }
@@ -232,7 +231,7 @@ public class EventManager
.getProperty(consumerKey); .getProperty(consumerKey);
if (consumerList == null) if (consumerList == null)
{ {
throw new RuntimeException( throw new IllegalStateException(
"No Configuration entry found for consumer list of event Dispatcher: \"" "No Configuration entry found for consumer list of event Dispatcher: \""
+ consumerKey + "\""); + consumerKey + "\"");
} }
@@ -245,7 +244,7 @@ public class EventManager
// I think this should be a fatal error.. --lcs // I think this should be a fatal error.. --lcs
if (consumerStanza.length < 1) if (consumerStanza.length < 1)
{ {
throw new RuntimeException( throw new IllegalStateException(
"Cannot initialize Dispatcher, malformed Configuration value for " "Cannot initialize Dispatcher, malformed Configuration value for "
+ consumerKey); + consumerKey);
} }
@@ -264,38 +263,38 @@ public class EventManager
} }
catch (NoSuchMethodException e) catch (NoSuchMethodException e)
{ {
throw new RuntimeException( throw new IllegalStateException(
"Constructor not found for event dispatcher=" "Constructor not found for event dispatcher="
+ dispatcherName, e); + dispatcherName, e);
} }
catch (InvocationTargetException e) catch (InvocationTargetException e)
{ {
throw new RuntimeException( throw new IllegalStateException(
"Error creating event dispatcher=" + dispatcherName, "Error creating event dispatcher=" + dispatcherName,
e); e);
} }
catch (ClassNotFoundException e) catch (ClassNotFoundException e)
{ {
throw new RuntimeException( throw new IllegalStateException(
"Dispatcher/Consumer class not found for event dispatcher=" "Dispatcher/Consumer class not found for event dispatcher="
+ dispatcherName, e); + dispatcherName, e);
} }
catch (InstantiationException e) catch (InstantiationException e)
{ {
throw new RuntimeException( throw new IllegalStateException(
"Dispatcher/Consumer instantiation failure for event dispatcher=" "Dispatcher/Consumer instantiation failure for event dispatcher="
+ dispatcherName, e); + dispatcherName, e);
} }
catch (IllegalAccessException e) catch (IllegalAccessException e)
{ {
throw new RuntimeException( throw new IllegalStateException(
"Dispatcher/Consumer access failure for event dispatcher=" "Dispatcher/Consumer access failure for event dispatcher="
+ dispatcherName, e); + dispatcherName, e);
} }
} }
else else
{ {
throw new RuntimeException( throw new IllegalStateException(
"Requested Dispatcher Does Not Exist In DSpace Configuration!"); "Requested Dispatcher Does Not Exist In DSpace Configuration!");
} }

View File

@@ -115,7 +115,7 @@ public class CreativeCommons
} }
catch (TransformerConfigurationException e) catch (TransformerConfigurationException e)
{ {
throw new RuntimeException(e.getMessage(),e); throw new IllegalStateException(e.getMessage(),e);
} }
@@ -311,7 +311,7 @@ public class CreativeCommons
} }
catch (TransformerException e) catch (TransformerException e)
{ {
throw new RuntimeException(e.getMessage(),e); throw new IllegalStateException(e.getMessage(),e);
} }
return result.getBuffer().toString(); return result.getBuffer().toString();

View File

@@ -87,7 +87,7 @@ public class LicenseCleanup
catch (TransformerConfigurationException e) catch (TransformerConfigurationException e)
{ {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
throw new RuntimeException(e.getMessage(), e); throw new IllegalStateException(e.getMessage(), e);
} }
} }
@@ -188,7 +188,7 @@ public class LicenseCleanup
} }
catch (TransformerException e) catch (TransformerException e)
{ {
throw new RuntimeException(e.getMessage(), e); throw new IllegalStateException(e.getMessage(), e);
} }
StringBuffer buffer = result.getBuffer(); StringBuffer buffer = result.getBuffer();

View File

@@ -212,8 +212,7 @@ public class DSIndexer
default: default:
log.warn("Malformed configuration line: search.index." + i); log.warn("Malformed configuration line: search.index." + i);
// FIXME: Can't proceed here, no suitable exception to throw // FIXME: Can't proceed here, no suitable exception to throw
throw new RuntimeException( throw new IllegalStateException("Malformed configuration line: search.index." + i);
"Malformed configuration line: search.index." + i);
} }
if (configLine.length > 2) if (configLine.length > 2)
@@ -240,8 +239,7 @@ public class DSIndexer
} }
openIndex(true).close(); openIndex(true).close();
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException( throw new IllegalStateException("Could not create search index: " + e.getMessage(),e);
"Could not create search index: " + e.getMessage(),e);
} }
} }
} }

View File

@@ -88,7 +88,7 @@ public class InitializeDatabase
catch (BrowseException e) catch (BrowseException e)
{ {
log.error(e.getMessage(),e); log.error(e.getMessage(),e);
throw new RuntimeException(e.getMessage(),e); throw new IllegalStateException(e.getMessage(),e);
} }
DatabaseManager.loadSql(getScript(argv[0])); DatabaseManager.loadSql(getScript(argv[0]));
@@ -109,7 +109,7 @@ public class InitializeDatabase
catch (BrowseException e) catch (BrowseException e)
{ {
log.error(e.getMessage(),e); log.error(e.getMessage(),e);
throw new RuntimeException(e.getMessage(),e); throw new IllegalStateException(e.getMessage(),e);
} }
} }

View File

@@ -151,7 +151,7 @@ public class SearchUtils {
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
throw new RuntimeException(e.getMessage(), e); throw new IllegalStateException(e.getMessage(), e);
} }
} }

View File

@@ -241,7 +241,7 @@ public class StatisticsServlet extends org.dspace.app.webui.servlet.DSpaceServle
catch (IOException e) catch (IOException e)
{ {
// FIXME: no error handing yet // FIXME: no error handing yet
throw new RuntimeException(e.getMessage(),e); throw new IllegalStateException(e.getMessage(),e);
} }
// FIXME: there's got to be a better way of doing this // FIXME: there's got to be a better way of doing this

View File

@@ -194,7 +194,7 @@ public class GuiClient extends JFrame implements ClientType,
"Unable to load properties file " + ioe.getMessage(), "Unable to load properties file " + ioe.getMessage(),
"Properties", JOptionPane.ERROR_MESSAGE); "Properties", JOptionPane.ERROR_MESSAGE);
} catch (URISyntaxException e) { } catch (URISyntaxException e) {
throw new RuntimeException( throw new IllegalStateException(
"Most unexpectedly, a file URL is not a URI.", e); "Most unexpectedly, a file URL is not a URI.", e);
} finally { } finally {
IOUtils.closeQuietly(stream); IOUtils.closeQuietly(stream);
@@ -1102,7 +1102,7 @@ public class GuiClient extends JFrame implements ClientType,
} }
} }
} else { } else {
throw new RuntimeException( throw new IllegalStateException(
"Don't know how to unpack help files from " + help); "Don't know how to unpack help files from " + help);
} }
} }

View File

@@ -92,7 +92,7 @@ public class AuthenticationCountSelector implements Selector{
catch (SQLException e) catch (SQLException e)
{ {
// mmm... we should not never go here, anyway we convert it in an unchecked exception // mmm... we should not never go here, anyway we convert it in an unchecked exception
throw new RuntimeException(e); throw new IllegalStateException(e);
} }
} }