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;