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
/**