Author: jrthomerson
Date: Sun Feb 20 03:43:59 2011
New Revision: 1072484

URL: http://svn.apache.org/viewvc?rev=1072484&view=rev
Log:
resolves WICKET-3457 for 1.4.x

Modified:
    
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Component.java
    
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/AbstractBehavior.java

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Component.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Component.java?rev=1072484&r1=1072483&r2=1072484&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Component.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/Component.java
 Sun Feb 20 03:43:59 2011
@@ -30,6 +30,7 @@ import org.apache.wicket.authorization.A
 import org.apache.wicket.authorization.IAuthorizationStrategy;
 import org.apache.wicket.authorization.UnauthorizedActionException;
 import org.apache.wicket.behavior.IBehavior;
+import org.apache.wicket.behavior.IComponentConfigurationBehavior;
 import org.apache.wicket.feedback.FeedbackMessage;
 import org.apache.wicket.feedback.IFeedback;
 import org.apache.wicket.markup.ComponentTag;
@@ -1158,7 +1159,26 @@ public abstract class Component implemen
        {
                if (!getFlag(FLAG_CONFIGURED))
                {
+                       // Apply behavior modifiers
+                       List<IComponentConfigurationBehavior> behaviors = 
getBehaviors(IComponentConfigurationBehavior.class);
+                       for (IComponentConfigurationBehavior behavior : 
behaviors)
+                       {
+                               // Components may reject some behavior 
components
+                               if (isBehaviorAccepted(behavior))
+                               {
+                                       behavior.preConfigure(this);
+                               }
+                       }
                        onConfigure();
+                       behaviors = 
getBehaviors(IComponentConfigurationBehavior.class);
+                       for (IComponentConfigurationBehavior behavior : 
behaviors)
+                       {
+                               // Components may reject some behavior 
components
+                               if (isBehaviorAccepted(behavior))
+                               {
+                                       behavior.postConfigure(this);
+                               }
+                       }
                        setFlag(FLAG_CONFIGURED, true);
                }
        }

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/AbstractBehavior.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/AbstractBehavior.java?rev=1072484&r1=1072483&r2=1072484&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/AbstractBehavior.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/AbstractBehavior.java
 Sun Feb 20 03:43:59 2011
@@ -29,7 +29,11 @@ import org.apache.wicket.markup.html.IHe
  * @author Ralf Ebert
  * @author Eelco Hillenius
  */
-public abstract class AbstractBehavior implements IBehavior, IHeaderContributor
+public abstract class AbstractBehavior
+       implements
+               IBehavior,
+               IHeaderContributor,
+               IComponentConfigurationBehavior
 {
        /** */
        private static final long serialVersionUID = 1L;
@@ -165,6 +169,20 @@ public abstract class AbstractBehavior i
                return false;
        }
 
+       /**
+        * @see 
org.apache.wicket.behavior.IComponentConfigurationBehavior#preConfigure(org.apache.wicket.Component)
+        */
+       public void preConfigure(Component component)
+       {
+       }
+
+       /**
+        * @see 
org.apache.wicket.behavior.IComponentConfigurationBehavior#postConfigure(org.apache.wicket.Component)
+        */
+       public void postConfigure(Component component)
+       {
+       }
+
        // TODO remove these methods after compatibility release
 
        /**


Reply via email to