Shouldn't we still have addComponentOnBeforeRenderListener (and
remove) and just link them to Pre and deprecate them? We can then
remove it in 1.5

Frank


On Thu, Apr 10, 2008 at 11:35 PM,  <[EMAIL PROTECTED]> wrote:
> Author: knopp
>  Date: Thu Apr 10 14:35:07 2008
>  New Revision: 646975
>
>  URL: http://svn.apache.org/viewvc?rev=646975&view=rev
>  Log:
>  allow global notification before and after onbeforerender method is invoked
>
>  Modified:
>     
> wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
>     wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
>
>  Modified: 
> wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
>  URL: 
> http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java?rev=646975&r1=646974&r2=646975&view=diff
>  
> ==============================================================================
>  --- 
> wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java 
> (original)
>  +++ 
> wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java 
> Thu Apr 10 14:35:07 2008
>  @@ -142,7 +142,10 @@
>         private static final Logger log = 
> LoggerFactory.getLogger(Application.class);
>
>         /** */
>  -       private List<IComponentOnBeforeRenderListener> 
> componentOnBeforeRenderListeners;
>  +       private List<IComponentOnBeforeRenderListener> 
> componentPreOnBeforeRenderListeners;
>  +
>  +       /** */
>  +       private List<IComponentOnBeforeRenderListener> 
> componentPostOnBeforeRenderListeners;
>
>         /** */
>         private List<IComponentOnAfterRenderListener> 
> componentOnAfterRenderListeners;
>  @@ -996,17 +999,17 @@
>          *
>          * @param listener
>          */
>  -       final public void addComponentOnBeforeRenderListener(
>  +       final public void addPreComponentOnBeforeRenderListener(
>                 final IComponentOnBeforeRenderListener listener)
>         {
>  -               if (componentOnBeforeRenderListeners == null)
>  +               if (componentPreOnBeforeRenderListeners == null)
>                 {
>  -                       componentOnBeforeRenderListeners = new 
> ArrayList<IComponentOnBeforeRenderListener>();
>  +                       componentPreOnBeforeRenderListeners = new 
> ArrayList<IComponentOnBeforeRenderListener>();
>                 }
>
>  -               if (componentOnBeforeRenderListeners.contains(listener) == 
> false)
>  +               if (componentPreOnBeforeRenderListeners.contains(listener) 
> == false)
>                 {
>  -                       componentOnBeforeRenderListeners.add(listener);
>  +                       componentPreOnBeforeRenderListeners.add(listener);
>                 }
>         }
>
>  @@ -1015,15 +1018,15 @@
>          *
>          * @param listener
>          */
>  -       final public void removeComponentOnBeforeRenderListener(
>  +       final public void removePreComponentOnBeforeRenderListener(
>                 final IComponentOnBeforeRenderListener listener)
>         {
>  -               if (componentOnBeforeRenderListeners != null)
>  +               if (componentPreOnBeforeRenderListeners != null)
>                 {
>  -                       componentOnBeforeRenderListeners.remove(listener);
>  -                       if (componentOnBeforeRenderListeners.isEmpty())
>  +                       componentPreOnBeforeRenderListeners.remove(listener);
>  +                       if (componentPreOnBeforeRenderListeners.isEmpty())
>                         {
>  -                               componentOnBeforeRenderListeners = null;
>  +                               componentPreOnBeforeRenderListeners = null;
>                         }
>                 }
>         }
>  @@ -1033,11 +1036,11 @@
>          *
>          * @param component
>          */
>  -       final void notifyComponentOnBeforeRenderListeners(final Component< ? 
> > component)
>  +       final void notifyPreComponentOnBeforeRenderListeners(final 
> Component< ? > component)
>         {
>  -               if (componentOnBeforeRenderListeners != null)
>  +               if (componentPreOnBeforeRenderListeners != null)
>                 {
>  -                       for (Iterator<IComponentOnBeforeRenderListener> iter 
> = componentOnBeforeRenderListeners.iterator(); iter.hasNext();)
>  +                       for (Iterator<IComponentOnBeforeRenderListener> iter 
> = componentPreOnBeforeRenderListeners.iterator(); iter.hasNext();)
>                         {
>                                 IComponentOnBeforeRenderListener listener = 
> iter.next();
>                                 listener.onBeforeRender(component);
>  @@ -1045,6 +1048,61 @@
>                 }
>         }
>
>  +       /**
>  +        * Adds an [EMAIL PROTECTED] IComponentOnBeforeRenderListener}. This 
> method should typically only be
>  +        * called during application startup; it is not thread safe.
>  +        *
>  +        * @param listener
>  +        */
>  +       final public void addPostComponentOnBeforeRenderListener(
>  +               final IComponentOnBeforeRenderListener listener)
>  +       {
>  +               if (componentPostOnBeforeRenderListeners == null)
>  +               {
>  +                       componentPostOnBeforeRenderListeners = new 
> ArrayList<IComponentOnBeforeRenderListener>();
>  +               }
>  +
>  +               if (componentPostOnBeforeRenderListeners.contains(listener) 
> == false)
>  +               {
>  +                       componentPostOnBeforeRenderListeners.add(listener);
>  +               }
>  +       }
>  +
>  +       /**
>  +        * Removes an [EMAIL PROTECTED] IComponentOnBeforeRenderListener}.
>  +        *
>  +        * @param listener
>  +        */
>  +       final public void removePostComponentOnBeforeRenderListener(
>  +               final IComponentOnBeforeRenderListener listener)
>  +       {
>  +               if (componentPostOnBeforeRenderListeners != null)
>  +               {
>  +                       
> componentPostOnBeforeRenderListeners.remove(listener);
>  +                       if (componentPostOnBeforeRenderListeners.isEmpty())
>  +                       {
>  +                               componentPostOnBeforeRenderListeners = null;
>  +                       }
>  +               }
>  +       }
>  +
>  +       /**
>  +        * Notifies the [EMAIL PROTECTED] IComponentOnBeforeRenderListener}s.
>  +        *
>  +        * @param component
>  +        */
>  +       final void notifyPostComponentOnBeforeRenderListeners(final 
> Component< ? > component)
>  +       {
>  +               if (componentPostOnBeforeRenderListeners != null)
>  +               {
>  +                       for (Iterator<IComponentOnBeforeRenderListener> iter 
> = componentPostOnBeforeRenderListeners.iterator(); iter.hasNext();)
>  +                       {
>  +                               IComponentOnBeforeRenderListener listener = 
> iter.next();
>  +                               listener.onBeforeRender(component);
>  +                       }
>  +               }
>  +       }
>  +
>         /**
>          * Adds an [EMAIL PROTECTED] IComponentOnAfterRenderListener}. This 
> method should typically only be called
>          * during application startup; it is not thread safe.
>
>  Modified: 
> wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
>  URL: 
> http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java?rev=646975&r1=646974&r2=646975&view=diff
>  
> ==============================================================================
>  --- 
> wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java 
> (original)
>  +++ 
> wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java 
> Thu Apr 10 14:35:07 2008
>  @@ -1026,8 +1026,10 @@
>                 {
>                         setFlag(FLAG_BEFORE_RENDERING_SUPER_CALL_VERIFIED, 
> false);
>
>  -                       onBeforeRender();
>  -                       
> getApplication().notifyComponentOnBeforeRenderListeners(this);
>  +                       
> getApplication().notifyPreComponentOnBeforeRenderListeners(this);
>  +                       onBeforeRender();
>  +                       
> getApplication().notifyPostComponentOnBeforeRenderListeners(this);
>  +
>                         if 
> (!getFlag(FLAG_BEFORE_RENDERING_SUPER_CALL_VERIFIED))
>                         {
>                                 throw new 
> IllegalStateException(Component.class.getName() +
>
>
>

Reply via email to