Repository: wicket Updated Branches: refs/heads/master 4236533ee -> bc99c7e09
WICKET-6004 throw exception on 'on'-prefix Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/bc99c7e0 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/bc99c7e0 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/bc99c7e0 Branch: refs/heads/master Commit: bc99c7e09001a36e71f7a88d214d5c98dac90aa2 Parents: 4236533 Author: Sven Meier <[email protected]> Authored: Fri Apr 22 13:06:51 2016 +0200 Committer: Sven Meier <[email protected]> Committed: Fri Apr 22 13:06:51 2016 +0200 ---------------------------------------------------------------------- .../apache/wicket/ajax/AjaxEventBehavior.java | 4 ---- .../wicket/markup/head/OnEventHeaderItem.java | 15 +++++--------- .../wicket/util/tester/WicketTesterHelper.java | 21 ++++++++------------ .../wicket/ajax/AjaxEventBehaviorTest.java | 21 +++++--------------- 4 files changed, 18 insertions(+), 43 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/bc99c7e0/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java index a0456a4..d52c37e 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java @@ -27,8 +27,6 @@ import org.apache.wicket.markup.head.OnDomReadyHeaderItem; import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.lang.Checks; import org.apache.wicket.util.string.Strings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * An ajax behavior that is attached to a certain client-side (usually javascript) event, such as @@ -64,8 +62,6 @@ import org.slf4j.LoggerFactory; */ public abstract class AjaxEventBehavior extends AbstractDefaultAjaxBehavior { - private static final Logger LOGGER = LoggerFactory.getLogger(AjaxEventBehavior.class); - private static final long serialVersionUID = 1L; private final String event; http://git-wip-us.apache.org/repos/asf/wicket/blob/bc99c7e0/wicket-core/src/main/java/org/apache/wicket/markup/head/OnEventHeaderItem.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/OnEventHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/OnEventHeaderItem.java index be130c3..b171616 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/head/OnEventHeaderItem.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/OnEventHeaderItem.java @@ -27,8 +27,6 @@ import org.apache.wicket.request.resource.ResourceReference; import org.apache.wicket.settings.JavaScriptLibrarySettings; import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.string.Strings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * {@link HeaderItem} for event triggered scripts. @@ -37,8 +35,6 @@ import org.slf4j.LoggerFactory; */ public class OnEventHeaderItem extends HeaderItem { - private static final Logger LOGGER = LoggerFactory.getLogger(OnEventHeaderItem.class); - /** * Creates a {@link OnEventHeaderItem} for the given parameters. * @@ -89,12 +85,11 @@ public class OnEventHeaderItem extends HeaderItem if (event.startsWith("on")) { String shortName = event.substring(2); - // TODO Wicket 8 Change this to throw an error in the milestone/RC versions and remove it for the final version - LOGGER.warn("Since version 6.0.0 Wicket uses JavaScript event registration so there is no need of the leading " + - "'on' in the event name '{}'. Please use just '{}'. Wicket 8.x won't manipulate the provided event " + - "names so the leading 'on' may break your application." - , event, shortName); - event = shortName; + throw new IllegalArgumentException( + String.format("Since version 6.0.0 Wicket uses JavaScript event registration so there is no need of the leading " + + "'on' in the event name '%s'. Please use just '%s'. Wicket 8.x won't manipulate the provided event " + + "names so the leading 'on' may break your application." + , event, shortName)); } this.event = event; http://git-wip-us.apache.org/repos/asf/wicket/blob/bc99c7e0/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java index 643e0fb..c9590e3 100644 --- a/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java +++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java @@ -21,18 +21,16 @@ import java.util.Collection; import java.util.Iterator; import java.util.List; -import org.junit.Assert; import org.apache.wicket.Component; -import org.apache.wicket.util.io.IClusterable; import org.apache.wicket.Page; import org.apache.wicket.ajax.AjaxEventBehavior; import org.apache.wicket.behavior.Behavior; +import org.apache.wicket.util.io.IClusterable; import org.apache.wicket.util.lang.Args; import org.apache.wicket.util.string.Strings; import org.apache.wicket.util.visit.IVisit; import org.apache.wicket.util.visit.IVisitor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.junit.Assert; /** * A <code>WicketTester</code>-specific helper class. @@ -42,8 +40,6 @@ import org.slf4j.LoggerFactory; */ public class WicketTesterHelper { - private static final Logger LOGGER = LoggerFactory.getLogger(WicketTesterHelper.class); - /** * <code>ComponentData</code> class. * @@ -212,13 +208,12 @@ public class WicketTesterHelper { if (eventName.startsWith("on")) { - String shortName = eventName.substring(2); - // TODO Wicket 8 Change this to throw an error in the milestone/RC versions and remove it for the final version - LOGGER.warn("Since version 6.0.0 Wicket uses JavaScript event registration so there is no need of the leading " + - "'on' in the event name '{}'. Please use just '{}'. Wicket 8.x won't manipulate the provided event " + - "names so the leading 'on' may break your application." - , eventName, shortName); - eventName = shortName; + String shortName = event.substring(2); + throw new IllegalArgumentException( + String.format("Since version 6.0.0 Wicket uses JavaScript event registration so there is no need of the leading " + + "'on' in the event name '%s'. Please use just '%s'. Wicket 8.x won't manipulate the provided event " + + "names so the leading 'on' may break your application." + , event, shortName)); } for (Behavior behavior : component.getBehaviors()) http://git-wip-us.apache.org/repos/asf/wicket/blob/bc99c7e0/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxEventBehaviorTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxEventBehaviorTest.java b/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxEventBehaviorTest.java index 56ab5e3..fbbccea3 100644 --- a/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxEventBehaviorTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxEventBehaviorTest.java @@ -16,8 +16,6 @@ */ package org.apache.wicket.ajax; -import static org.hamcrest.Matchers.is; - import java.util.concurrent.atomic.AtomicInteger; import org.apache.wicket.MarkupContainer; @@ -47,21 +45,13 @@ public class AjaxEventBehaviorTest extends WicketTestCase assertEquals(0, counter.get()); - // execute the first event (without the leading 'on') + // execute the first event tester.executeAjaxEvent("comp", "eventOne"); assertEquals(1, counter.get()); - // execute the first event (with the leading 'on') - tester.executeAjaxEvent("comp", "oneventOne"); - assertEquals(2, counter.get()); - - // execute the second event (without the leading 'on') + // execute the second event tester.executeAjaxEvent("comp", "eventTwo"); - assertEquals(3, counter.get()); - - // execute the second event (with the leading 'on') - tester.executeAjaxEvent("comp", "oneventTwo"); - assertEquals(4, counter.get()); + assertEquals(2, counter.get()); } @Test(expected = IllegalArgumentException.class) @@ -116,9 +106,8 @@ public class AjaxEventBehaviorTest extends WicketTestCase WebComponent comp = new WebComponent("comp"); add(comp); - // register a behavior that listens on two events and the - // tested one also has a prefix 'on' - comp.add(new AjaxEventBehavior("eventOne oneventTwo") + // register a behavior that listens on two events + comp.add(new AjaxEventBehavior("eventOne eventTwo") { @Override protected void onEvent(AjaxRequestTarget target)
