You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2014/08/06 12:40:52 UTC

git commit: WICKET-5664 Log a warning if the name of the JavaScript event starts with 'on'

Repository: wicket
Updated Branches:
  refs/heads/master 9d62cefb5 -> 09dc961ba


WICKET-5664 Log a warning if the name of the JavaScript event starts with 'on'


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/09dc961b
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/09dc961b
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/09dc961b

Branch: refs/heads/master
Commit: 09dc961ba7aee5113d31bd5848f036ddf59eacac
Parents: 9d62cef
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Aug 6 12:28:10 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Aug 6 12:28:10 2014 +0200

----------------------------------------------------------------------
 .../java/org/apache/wicket/ajax/AjaxEventBehavior.java  | 12 +++++++++++-
 .../apache/wicket/markup/head/OnEventHeaderItem.java    | 12 +++++++++++-
 .../apache/wicket/util/tester/WicketTesterHelper.java   | 12 +++++++++++-
 3 files changed, 33 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/09dc961b/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 6fd29df..b1a6f98 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
@@ -21,6 +21,8 @@ import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.util.lang.Args;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * An ajax behavior that is attached to a certain client-side (usually javascript) event, such as
@@ -49,6 +51,8 @@ import org.apache.wicket.util.lang.Args;
  */
 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;
@@ -68,7 +72,13 @@ public abstract class AjaxEventBehavior extends AbstractDefaultAjaxBehavior
 		event = event.toLowerCase();
 		if (event.startsWith("on"))
 		{
-			event = event.substring(2);
+			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;
 		}
 
 		this.event = event;

http://git-wip-us.apache.org/repos/asf/wicket/blob/09dc961b/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 2df81f2..be130c3 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,6 +27,8 @@ 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.
@@ -35,6 +37,8 @@ import org.apache.wicket.util.string.Strings;
  */
 public class OnEventHeaderItem extends HeaderItem
 {
+	private static final Logger LOGGER = LoggerFactory.getLogger(OnEventHeaderItem.class);
+
 	/**
 	 * Creates a {@link OnEventHeaderItem} for the given parameters.
 	 * 
@@ -84,7 +88,13 @@ public class OnEventHeaderItem extends HeaderItem
 		event = event.toLowerCase(Locale.ENGLISH);
 		if (event.startsWith("on"))
 		{
-			event = event.substring(2);
+			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;
 		}
 		this.event = event;
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/09dc961b/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 c02e386..643e0fb 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
@@ -31,6 +31,8 @@ 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;
 
 /**
  * A <code>WicketTester</code>-specific helper class.
@@ -40,6 +42,8 @@ import org.apache.wicket.util.visit.IVisitor;
  */
 public class WicketTesterHelper
 {
+	private static final Logger LOGGER = LoggerFactory.getLogger(WicketTesterHelper.class);
+
 	/**
 	 * <code>ComponentData</code> class.
 	 * 
@@ -208,7 +212,13 @@ public class WicketTesterHelper
 		{
 			if (eventName.startsWith("on"))
 			{
-				eventName = eventName.substring(2);
+				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;
 			}
 
 			for (Behavior behavior : component.getBehaviors())