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;