You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Frank Bille <fr...@apache.org> on 2008/04/11 08:28:52 UTC

Re: svn commit: r646975 - in /wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket: Application.java Component.java

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,  <kn...@apache.org> 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 {@link 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 {@link IComponentOnBeforeRenderListener}.
>  +        *
>  +        * @param listener
>  +        */
>  +       final public void removePostComponentOnBeforeRenderListener(
>  +               final IComponentOnBeforeRenderListener listener)
>  +       {
>  +               if (componentPostOnBeforeRenderListeners != null)
>  +               {
>  +                       componentPostOnBeforeRenderListeners.remove(listener);
>  +                       if (componentPostOnBeforeRenderListeners.isEmpty())
>  +                       {
>  +                               componentPostOnBeforeRenderListeners = null;
>  +                       }
>  +               }
>  +       }
>  +
>  +       /**
>  +        * Notifies the {@link 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 {@link 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() +
>
>
>