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)

Reply via email to