You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by pb...@apache.org on 2008/06/07 22:45:12 UTC
svn commit: r664382 - in /struts/struts1/trunk:
core/src/main/java/org/apache/struts/action/
extras/src/main/java/org/apache/struts/actions/
faces/src/main/java/org/apache/struts/faces/application/
faces/src/main/java/org/apache/struts/faces/component/...
Author: pbenedict
Date: Sat Jun 7 13:45:12 2008
New Revision: 664382
URL: http://svn.apache.org/viewvc?rev=664382&view=rev
Log:
STR-3119: Add root cause to thrown exceptions that do not accept root cause in the constructor
Modified:
struts/struts1/trunk/core/src/main/java/org/apache/struts/action/ActionServlet.java
struts/struts1/trunk/core/src/main/java/org/apache/struts/action/DynaActionFormClass.java
struts/struts1/trunk/extras/src/main/java/org/apache/struts/actions/ActionDispatcher.java
struts/struts1/trunk/extras/src/main/java/org/apache/struts/actions/DispatchAction.java
struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/application/ActionListenerImpl.java
struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/component/FormComponent.java
struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/taglib/JavascriptValidatorTag.java
struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/bean/WriteTag.java
struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/OptionsCollectionTag.java
struts/struts1/trunk/tiles/src/main/java/org/apache/struts/tiles/ComponentDefinition.java
struts/struts1/trunk/tiles/src/main/java/org/apache/struts/tiles/TilesPlugin.java
Modified: struts/struts1/trunk/core/src/main/java/org/apache/struts/action/ActionServlet.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/core/src/main/java/org/apache/struts/action/ActionServlet.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/core/src/main/java/org/apache/struts/action/ActionServlet.java (original)
+++ struts/struts1/trunk/core/src/main/java/org/apache/struts/action/ActionServlet.java Sat Jun 7 13:45:12 2008
@@ -401,7 +401,9 @@
+ "unexpected exception or error thrown, so marking the "
+ "servlet as unavailable. Most likely, this is due to an "
+ "incorrect or missing library dependency.", t);
- throw new UnavailableException(t.getMessage());
+ UnavailableException t2 = new UnavailableException(t.getMessage());
+ t2.initCause(t);
+ throw t2;
}
}
@@ -613,10 +615,11 @@
(RequestProcessor) RequestUtils.applicationInstance(config.getControllerConfig()
.getProcessorClass());
} catch (Exception e) {
- throw new UnavailableException(
+ UnavailableException e2 = new UnavailableException(
"Cannot initialize RequestProcessor of class "
- + config.getControllerConfig().getProcessorClass() + ": "
- + e);
+ + config.getControllerConfig().getProcessorClass());
+ e2.initCause(e);
+ throw e2;
}
// Emit a warning to the log if the classic RequestProcessor is
@@ -769,7 +772,9 @@
String msg = internal.getMessage("configParse", path);
log.error(msg, e);
- throw new UnavailableException(msg);
+ UnavailableException e2 = new UnavailableException(msg);
+ e2.initCause(e);
+ throw e2;
}
/**
@@ -786,7 +791,9 @@
internal.getMessage("configExtends.creation", className);
log.error(errorMessage, e);
- throw new UnavailableException(errorMessage);
+ UnavailableException e2 = new UnavailableException(errorMessage);
+ e2.initCause(e);
+ throw e2;
}
/**
@@ -805,7 +812,9 @@
internal.getMessage("configExtends", configType, configName);
log.error(errorMessage, e);
- throw new UnavailableException(errorMessage);
+ UnavailableException e2 = new UnavailableException(errorMessage);
+ e2.initCause(e);
+ throw e2;
}
/**
@@ -888,7 +897,9 @@
plugInConfigs[i].getClassName());
log(errMsg, e);
- throw new UnavailableException(errMsg);
+ UnavailableException e2 = new UnavailableException(errMsg);
+ e2.initCause(e);
+ throw e2;
}
}
}
@@ -1691,8 +1702,10 @@
} catch (MissingResourceException e) {
log.error("Cannot load internal resources from '" + internalName
+ "'", e);
- throw new UnavailableException(
+ UnavailableException e2 = new UnavailableException(
"Cannot load internal resources from '" + internalName + "'");
+ e2.initCause(e);
+ throw e2;
}
}
Modified: struts/struts1/trunk/core/src/main/java/org/apache/struts/action/DynaActionFormClass.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/core/src/main/java/org/apache/struts/action/DynaActionFormClass.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/core/src/main/java/org/apache/struts/action/DynaActionFormClass.java (original)
+++ struts/struts1/trunk/core/src/main/java/org/apache/struts/action/DynaActionFormClass.java Sat Jun 7 13:45:12 2008
@@ -250,11 +250,11 @@
try {
beanClass = RequestUtils.applicationClass(config.getType());
} catch (Throwable t) {
- IllegalArgumentException e = new IllegalArgumentException(
+ IllegalArgumentException t2 = new IllegalArgumentException(
"Cannot instantiate ActionFormBean class '" + config.getType()
+ "'");
- e.initCause(t);
- throw e;
+ t2.initCause(t);
+ throw t2;
}
if (!DynaActionForm.class.isAssignableFrom(beanClass)) {
Modified: struts/struts1/trunk/extras/src/main/java/org/apache/struts/actions/ActionDispatcher.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/extras/src/main/java/org/apache/struts/actions/ActionDispatcher.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/extras/src/main/java/org/apache/struts/actions/ActionDispatcher.java (original)
+++ struts/struts1/trunk/extras/src/main/java/org/apache/struts/actions/ActionDispatcher.java Sat Jun 7 13:45:12 2008
@@ -330,7 +330,9 @@
String userMsg =
messages.getMessage("dispatch.method.user", mapping.getPath());
- throw new NoSuchMethodException(userMsg);
+ NoSuchMethodException e2 = new NoSuchMethodException(userMsg);
+ e2.initCause(e);
+ throw e2;
}
return dispatchMethod(mapping, form, request, response, name, method);
Modified: struts/struts1/trunk/extras/src/main/java/org/apache/struts/actions/DispatchAction.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/extras/src/main/java/org/apache/struts/actions/DispatchAction.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/extras/src/main/java/org/apache/struts/actions/DispatchAction.java (original)
+++ struts/struts1/trunk/extras/src/main/java/org/apache/struts/actions/DispatchAction.java Sat Jun 7 13:45:12 2008
@@ -258,7 +258,9 @@
String userMsg =
messages.getMessage("dispatch.method.user", mapping.getPath());
- throw new NoSuchMethodException(userMsg);
+ NoSuchMethodException e2 = new NoSuchMethodException(userMsg);
+ e2.initCause(e);
+ throw e2;
}
ActionForward forward = null;
Modified: struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/application/ActionListenerImpl.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/application/ActionListenerImpl.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/application/ActionListenerImpl.java (original)
+++ struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/application/ActionListenerImpl.java Sat Jun 7 13:45:12 2008
@@ -222,11 +222,11 @@
log.error("Cannot instantiate RequestProcessor of class "
+ config.getControllerConfig().getProcessorClass(),
e);
- throw new IllegalStateException(
+ IllegalStateException e2 = new IllegalStateException(
"Cannot initialize RequestProcessor of class "
- + config.getControllerConfig().getProcessorClass()
- + ": "
- + e);
+ + config.getControllerConfig().getProcessorClass());
+ e2.initCause(e);
+ throw e2;
}
}
Modified: struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/component/FormComponent.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/component/FormComponent.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/component/FormComponent.java (original)
+++ struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/component/FormComponent.java Sat Jun 7 13:45:12 2008
@@ -507,9 +507,11 @@
return;
}
} catch (Throwable t) {
- throw new IllegalArgumentException
+ IllegalArgumentException t2 = new IllegalArgumentException
("Cannot load form bean class '" +
fbConfig.getType() + "'");
+ t2.initCause(t);
+ throw t2;
}
}
}
@@ -527,9 +529,11 @@
log.trace(" --> " + instance);
}
} catch (Throwable t) {
- throw new IllegalArgumentException
+ IllegalArgumentException t2 = new IllegalArgumentException
("Cannot create form bean of type '" +
fbConfig.getType() + "'");
+ t2.initCause(t);
+ throw t2;
}
} else {
try {
@@ -542,9 +546,11 @@
log.trace(" --> " + instance);
}
} catch (Throwable t) {
- throw new IllegalArgumentException
+ IllegalArgumentException t2 = new IllegalArgumentException
("Cannot create form bean of class '" +
fbConfig.getType() + "'");
+ t2.initCause(t);
+ throw t2;
}
}
Modified: struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/taglib/JavascriptValidatorTag.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/taglib/JavascriptValidatorTag.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/taglib/JavascriptValidatorTag.java (original)
+++ struts/struts1/trunk/faces/src/main/java/org/apache/struts/faces/taglib/JavascriptValidatorTag.java Sat Jun 7 13:45:12 2008
@@ -535,7 +535,7 @@
try {
writer.print(results.toString());
} catch (IOException e) {
- throw new JspException(e.getMessage());
+ throw new JspException(e.getMessage(), e);
}
return (EVAL_BODY_TAG);
Modified: struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/bean/WriteTag.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/bean/WriteTag.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/bean/WriteTag.java (original)
+++ struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/bean/WriteTag.java Sat Jun 7 13:45:12 2008
@@ -343,7 +343,7 @@
} catch (IllegalArgumentException e) {
JspException ex =
new JspException(messages.getMessage(
- "write.format", formatString));
+ "write.format", formatString), e);
TagUtils.getInstance().saveException(pageContext, ex);
throw ex;
Modified: struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/OptionsCollectionTag.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/OptionsCollectionTag.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/OptionsCollectionTag.java (original)
+++ struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/OptionsCollectionTag.java Sat Jun 7 13:45:12 2008
@@ -207,7 +207,7 @@
} catch (IllegalAccessException e) {
JspException jspe =
new JspException(messages.getMessage("getter.access",
- label, bean));
+ label, bean), e);
TagUtils.getInstance().saveException(pageContext, jspe);
throw jspe;
@@ -215,14 +215,14 @@
Throwable t = e.getTargetException();
JspException jspe =
new JspException(messages.getMessage("getter.result",
- label, t.toString()));
+ label, t.toString()), e);
TagUtils.getInstance().saveException(pageContext, jspe);
throw jspe;
} catch (NoSuchMethodException e) {
JspException jspe =
new JspException(messages.getMessage("getter.method",
- label, bean));
+ label, bean), e);
TagUtils.getInstance().saveException(pageContext, jspe);
throw jspe;
@@ -238,7 +238,7 @@
} catch (IllegalAccessException e) {
JspException jspe =
new JspException(messages.getMessage("getter.access",
- value, bean));
+ value, bean), e);
TagUtils.getInstance().saveException(pageContext, jspe);
throw jspe;
@@ -246,14 +246,14 @@
Throwable t = e.getTargetException();
JspException jspe =
new JspException(messages.getMessage("getter.result",
- value, t.toString()));
+ value, t.toString()), e);
TagUtils.getInstance().saveException(pageContext, jspe);
throw jspe;
} catch (NoSuchMethodException e) {
JspException jspe =
new JspException(messages.getMessage("getter.method",
- value, bean));
+ value, bean), e);
TagUtils.getInstance().saveException(pageContext, jspe);
throw jspe;
Modified: struts/struts1/trunk/tiles/src/main/java/org/apache/struts/tiles/ComponentDefinition.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/tiles/src/main/java/org/apache/struts/tiles/ComponentDefinition.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/tiles/src/main/java/org/apache/struts/tiles/ComponentDefinition.java (original)
+++ struts/struts1/trunk/tiles/src/main/java/org/apache/struts/tiles/ComponentDefinition.java Sat Jun 7 13:45:12 2008
@@ -526,21 +526,27 @@
return (Controller) instance;
} catch (java.lang.ClassNotFoundException ex) {
- throw new InstantiationException(
- "Error - Class not found :" + ex.getMessage());
+ InstantiationException e2 = new InstantiationException(
+ "Error - Class not found :" + classname);
+ e2.initCause(ex);
+ throw e2;
} catch (java.lang.IllegalAccessException ex) {
- throw new InstantiationException(
- "Error - Illegal class access :" + ex.getMessage());
+ InstantiationException e2 = new InstantiationException(
+ "Error - Illegal class access :" + classname);
+ e2.initCause(ex);
+ throw e2;
} catch (java.lang.InstantiationException ex) {
throw ex;
} catch (java.lang.ClassCastException ex) {
- throw new InstantiationException(
+ InstantiationException e2 = new InstantiationException(
"Controller of class '"
+ classname
+ "' should implements 'Controller' or extends 'Action'");
+ e2.initCause(ex);
+ throw e2;
}
}
Modified: struts/struts1/trunk/tiles/src/main/java/org/apache/struts/tiles/TilesPlugin.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/tiles/src/main/java/org/apache/struts/tiles/TilesPlugin.java?rev=664382&r1=664381&r2=664382&view=diff
==============================================================================
--- struts/struts1/trunk/tiles/src/main/java/org/apache/struts/tiles/TilesPlugin.java (original)
+++ struts/struts1/trunk/tiles/src/main/java/org/apache/struts/tiles/TilesPlugin.java Sat Jun 7 13:45:12 2008
@@ -279,9 +279,10 @@
log.debug("", ex);
}
ex.printStackTrace();
- throw new UnavailableException(
- "Can't populate DefinitionsFactoryConfig class from 'web.xml': "
- + ex.getMessage());
+ UnavailableException e2 = new UnavailableException(
+ "Can't populate DefinitionsFactoryConfig class from 'web.xml'");
+ e2.initCause(ex);
+ throw e2;
}
// Get init parameters from struts-config.xml
@@ -294,11 +295,12 @@
log.debug("", ex);
}
- throw new UnavailableException(
+ UnavailableException e2 = new UnavailableException(
"Can't populate DefinitionsFactoryConfig class from '"
+ config.getPrefix()
- + "/struts-config.xml':"
- + ex.getMessage());
+ + "/struts-config.xml'");
+ e2.initCause(ex);
+ throw e2;
}
return factoryConfig;