You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2007/08/08 08:24:52 UTC

svn commit: r563767 - /myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java

Author: mmarinschek
Date: Tue Aug  7 23:24:52 2007
New Revision: 563767

URL: http://svn.apache.org/viewvc?view=rev&rev=563767
Log:
https://issues.apache.org/jira/browse/MYFACES-1685: more error-handling - making sure that all lifecycle methods throw a Faces-Exception including the component path so that the error-page has something to show off

Modified:
    myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java?view=diff&rev=563767&r1=563766&r2=563767
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponentBase.java Tue Aug  7 23:24:52 2007
@@ -627,14 +627,18 @@
             throws AbortProcessingException
     {
         if (event == null) throw new NullPointerException("event");
-        if (_facesListeners == null) return;
-        for (Iterator it = _facesListeners.iterator(); it.hasNext(); )
-        {
-            FacesListener facesListener = (FacesListener)it.next();
-            if (event.isAppropriateListener(facesListener))
+        try {
+            if (_facesListeners == null) return;
+            for (Iterator it = _facesListeners.iterator(); it.hasNext(); )
             {
-                event.processListener(facesListener);
+                FacesListener facesListener = (FacesListener)it.next();
+                if (event.isAppropriateListener(facesListener))
+                {
+                    event.processListener(facesListener);
+                }
             }
+        } catch (Exception e) {
+            throw new FacesException("Exception while calling broadcast on : "+getPathToComponent(this), e);
         }
     }
 
@@ -646,10 +650,14 @@
     public void decode(FacesContext context)
     {
         if (context == null) throw new NullPointerException("context");
-        Renderer renderer = getRenderer(context);
-        if (renderer != null)
-        {
-            renderer.decode(context, this);
+        try {
+            Renderer renderer = getRenderer(context);
+            if (renderer != null)
+            {
+                renderer.decode(context, this);
+            }
+        } catch (Exception e) {
+            throw new FacesException("Exception while calling decode on : "+getPathToComponent(this), e);
         }
     }
 
@@ -657,11 +665,15 @@
             throws IOException
     {
         if (context == null) throw new NullPointerException("context");
-        if (!isRendered()) return;
-        Renderer renderer = getRenderer(context);
-        if (renderer != null)
-        {
-            renderer.encodeBegin(context, this);
+        try {
+            if (!isRendered()) return;
+            Renderer renderer = getRenderer(context);
+            if (renderer != null)
+            {
+                renderer.encodeBegin(context, this);
+            }
+        } catch (Exception e) {
+            throw new FacesException("Exception while calling encodeBegin on : "+getPathToComponent(this), e);
         }
     }
 
@@ -681,11 +693,16 @@
             throws IOException
     {
         if (context == null) throw new NullPointerException("context");
-        if (!isRendered()) return;
-        Renderer renderer = getRenderer(context);
-        if (renderer != null)
-        {
-            renderer.encodeEnd(context, this);
+        try {
+            if (!isRendered()) return;
+
+            Renderer renderer = getRenderer(context);
+            if (renderer != null)
+            {
+                renderer.encodeEnd(context, this);
+            }
+        } catch (Exception e) {
+            throw new FacesException("Exception while calling encodeEnd on : "+getPathToComponent(this), e);
         }
     }
 
@@ -828,7 +845,14 @@
               }
             }
         }
-        return new Object[] {saveState(context),
+        Object savedState;
+        try {
+             savedState = saveState(context);
+        } catch (Exception e) {
+            throw new FacesException("Exception while saving state of component : "+getPathToComponent(this), e);
+        }
+
+        return new Object[] {savedState,
                              facetMap,
                              childrenList};
     }
@@ -877,7 +901,11 @@
                 }
             }
         }
-        restoreState(context, myState);
+        try {
+            restoreState(context, myState);
+        } catch (Exception e) {
+            throw new FacesException("Exception while restoring state of component : "+getPathToComponent(this), e);
+        }
     }
 
     protected FacesContext getFacesContext()