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 2017/05/11 19:05:11 UTC
wicket git commit: WICKET-6362 HeaderItems with different
PageParameters are treated as identical
Repository: wicket
Updated Branches:
refs/heads/master 9ed4849be -> 47aa1461d
WICKET-6362 HeaderItems with different PageParameters are treated as identical
Implement proper #equals() and #hashCode() for all HeaderItems
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/47aa1461
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/47aa1461
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/47aa1461
Branch: refs/heads/master
Commit: 47aa1461d58b9a5660fc11032db952ce4df36a33
Parents: 9ed4849
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 11 21:04:28 2017 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 11 21:04:28 2017 +0200
----------------------------------------------------------------------
.../AbstractJavaScriptReferenceHeaderItem.java | 19 +++++++++++++++++++
.../wicket/markup/head/CssContentHeaderItem.java | 14 ++++++++------
.../apache/wicket/markup/head/CssHeaderItem.java | 18 ++++++++++++++++++
.../markup/head/CssReferenceHeaderItem.java | 15 ++++++++++-----
.../markup/head/CssUrlReferenceHeaderItem.java | 14 +++++++++-----
.../markup/head/JavaScriptContentHeaderItem.java | 15 +++++++++------
.../wicket/markup/head/JavaScriptHeaderItem.java | 18 ++++++++++++++++++
.../head/JavaScriptReferenceHeaderItem.java | 15 ++++++++++-----
.../head/JavaScriptUrlReferenceHeaderItem.java | 15 +++++++++------
.../wicket/markup/head/MetaDataHeaderItem.java | 16 +++++++++++-----
.../wicket/markup/head/OnDomReadyHeaderItem.java | 12 +++++++-----
.../wicket/markup/head/OnEventHeaderItem.java | 18 +++++++++---------
.../wicket/markup/head/OnLoadHeaderItem.java | 15 ++++++++-------
.../wicket/markup/head/PriorityHeaderItem.java | 16 ++++++++--------
.../wicket/markup/head/StringHeaderItem.java | 14 ++++++++------
.../markup/head/filter/FilteredHeaderItem.java | 15 ++++++++-------
.../wicket/http2/markup/head/PushHeaderItem.java | 19 +++++++++++++++++++
.../AbstractAutoCompleteBehavior.java | 16 ++++++++++++++++
18 files changed, 204 insertions(+), 80 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/AbstractJavaScriptReferenceHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/AbstractJavaScriptReferenceHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/AbstractJavaScriptReferenceHeaderItem.java
index 06f898d..de85ad8 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/AbstractJavaScriptReferenceHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/AbstractJavaScriptReferenceHeaderItem.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.markup.head;
+import java.util.Objects;
+
/**
* A {@link org.apache.wicket.markup.head.HeaderItem} that supports <em>async</em>,
* <em>defer</em> and <em>charset</em> attributes
@@ -86,4 +88,21 @@ public abstract class AbstractJavaScriptReferenceHeaderItem extends JavaScriptHe
this.charset = charset;
return this;
}
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ AbstractJavaScriptReferenceHeaderItem that = (AbstractJavaScriptReferenceHeaderItem) o;
+ return async == that.async &&
+ defer == that.defer &&
+ Objects.equals(charset, that.charset);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return Objects.hash(async, defer, charset);
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/CssContentHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/CssContentHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/CssContentHeaderItem.java
index 80c3609..0367f8d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/CssContentHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/CssContentHeaderItem.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.head;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Objects;
import org.apache.wicket.request.Response;
import org.apache.wicket.core.util.string.CssUtils;
@@ -90,16 +91,17 @@ public class CssContentHeaderItem extends CssHeaderItem
}
@Override
- public int hashCode()
+ public boolean equals(Object o)
{
- return getCss().hashCode();
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CssContentHeaderItem that = (CssContentHeaderItem) o;
+ return Objects.equals(css, that.css);
}
@Override
- public boolean equals(Object obj)
+ public int hashCode()
{
- if (obj instanceof CssContentHeaderItem)
- return ((CssContentHeaderItem)obj).getCss().equals(getCss());
- return false;
+ return Objects.hash(css);
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/CssHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/CssHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/CssHeaderItem.java
index aab17c9..d2f05ef 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/CssHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/CssHeaderItem.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.markup.head;
+import java.util.Objects;
+
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.core.util.string.CssUtils;
import org.apache.wicket.request.Response;
@@ -296,4 +298,20 @@ public abstract class CssHeaderItem extends HeaderItem
}
response.write("\n");
}
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ CssHeaderItem that = (CssHeaderItem) o;
+ return Objects.equals(condition, that.condition) &&
+ Objects.equals(markupId, that.markupId);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return Objects.hash(condition, markupId);
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/CssReferenceHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/CssReferenceHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/CssReferenceHeaderItem.java
index ee23131..0e0c1ce 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/CssReferenceHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/CssReferenceHeaderItem.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.head;
import java.util.Arrays;
import java.util.List;
+import java.util.Objects;
import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.Response;
@@ -128,14 +129,18 @@ public class CssReferenceHeaderItem extends CssHeaderItem implements IReferenceH
@Override
public int hashCode()
{
- return getReference().hashCode();
+ return Objects.hash(super.hashCode(), reference, media, pageParameters);
}
@Override
- public boolean equals(Object obj)
+ public boolean equals(Object o)
{
- if (obj instanceof CssReferenceHeaderItem)
- return ((CssReferenceHeaderItem)obj).getReference().equals(getReference());
- return false;
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ if (!super.equals(o)) return false;
+ CssReferenceHeaderItem that = (CssReferenceHeaderItem) o;
+ return Objects.equals(reference, that.reference) &&
+ Objects.equals(media, that.media) &&
+ Objects.equals(pageParameters, that.pageParameters);
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/CssUrlReferenceHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/CssUrlReferenceHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/CssUrlReferenceHeaderItem.java
index 0421668..386fa65 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/CssUrlReferenceHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/CssUrlReferenceHeaderItem.java
@@ -17,6 +17,7 @@
package org.apache.wicket.markup.head;
import java.util.Arrays;
+import java.util.Objects;
import org.apache.wicket.request.Response;
import org.apache.wicket.request.UrlUtils;
@@ -90,14 +91,17 @@ public class CssUrlReferenceHeaderItem extends CssHeaderItem
@Override
public int hashCode()
{
- return getUrl().hashCode();
+ return Objects.hash(super.hashCode(), url, media);
}
@Override
- public boolean equals(Object obj)
+ public boolean equals(Object o)
{
- if (obj instanceof CssUrlReferenceHeaderItem)
- return ((CssUrlReferenceHeaderItem)obj).getUrl().equals(getUrl());
- return false;
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ if (!super.equals(o)) return false;
+ CssUrlReferenceHeaderItem that = (CssUrlReferenceHeaderItem) o;
+ return Objects.equals(url, that.url) &&
+ Objects.equals(media, that.media);
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptContentHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptContentHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptContentHeaderItem.java
index a514e18..2b3f8d5 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptContentHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptContentHeaderItem.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.head;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Objects;
import org.apache.wicket.request.Response;
import org.apache.wicket.core.util.string.JavaScriptUtils;
@@ -91,16 +92,18 @@ public class JavaScriptContentHeaderItem extends JavaScriptHeaderItem
}
@Override
- public int hashCode()
+ public boolean equals(Object o)
{
- return getJavaScript().hashCode();
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ if (!super.equals(o)) return false;
+ JavaScriptContentHeaderItem that = (JavaScriptContentHeaderItem) o;
+ return Objects.equals(javaScript, that.javaScript);
}
@Override
- public boolean equals(Object obj)
+ public int hashCode()
{
- if (obj instanceof JavaScriptContentHeaderItem)
- return ((JavaScriptContentHeaderItem)obj).getJavaScript().equals(getJavaScript());
- return false;
+ return Objects.hash(super.hashCode(), javaScript);
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptHeaderItem.java
index 920ba5d..0b43443 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptHeaderItem.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.markup.head;
+import java.util.Objects;
+
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.core.util.string.JavaScriptUtils;
import org.apache.wicket.request.Response;
@@ -371,4 +373,20 @@ public abstract class JavaScriptHeaderItem extends HeaderItem
response.write("<![endif]-->\n");
}
}
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ JavaScriptHeaderItem that = (JavaScriptHeaderItem) o;
+ return Objects.equals(condition, that.condition) &&
+ Objects.equals(markupId, that.markupId);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return Objects.hash(condition, markupId);
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptReferenceHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptReferenceHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptReferenceHeaderItem.java
index f130149..ca52cfb 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptReferenceHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptReferenceHeaderItem.java
@@ -20,6 +20,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import org.apache.wicket.core.util.lang.WicketObjects;
import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.Response;
import org.apache.wicket.request.cycle.RequestCycle;
@@ -28,6 +29,7 @@ import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.ResourceReference;
import org.apache.wicket.resource.bundles.IResourceBundle;
import org.apache.wicket.util.lang.Args;
+import org.apache.wicket.util.lang.Objects;
import org.apache.wicket.util.string.Strings;
/**
@@ -133,14 +135,17 @@ public class JavaScriptReferenceHeaderItem extends AbstractJavaScriptReferenceHe
@Override
public int hashCode()
{
- return getReference().hashCode();
+ return java.util.Objects.hash(super.hashCode(), reference, pageParameters);
}
@Override
- public boolean equals(Object obj)
+ public boolean equals(Object o)
{
- if (obj instanceof JavaScriptReferenceHeaderItem)
- return ((JavaScriptReferenceHeaderItem)obj).getReference().equals(getReference());
- return false;
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ if (!super.equals(o)) return false;
+ JavaScriptReferenceHeaderItem that = (JavaScriptReferenceHeaderItem) o;
+ return java.util.Objects.equals(reference, that.reference) &&
+ java.util.Objects.equals(pageParameters, that.pageParameters);
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptUrlReferenceHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptUrlReferenceHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptUrlReferenceHeaderItem.java
index fb4caf9..9c7bdbf 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptUrlReferenceHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptUrlReferenceHeaderItem.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.head;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Objects;
import org.apache.wicket.request.Response;
import org.apache.wicket.request.UrlUtils;
@@ -91,16 +92,18 @@ public class JavaScriptUrlReferenceHeaderItem extends AbstractJavaScriptReferenc
}
@Override
- public int hashCode()
+ public boolean equals(Object o)
{
- return getUrl().hashCode();
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ if (!super.equals(o)) return false;
+ JavaScriptUrlReferenceHeaderItem that = (JavaScriptUrlReferenceHeaderItem) o;
+ return Objects.equals(url, that.url);
}
@Override
- public boolean equals(Object obj)
+ public int hashCode()
{
- if (obj instanceof JavaScriptUrlReferenceHeaderItem)
- return ((JavaScriptUrlReferenceHeaderItem)obj).getUrl().equals(getUrl());
- return false;
+ return Objects.hash(super.hashCode(), url);
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java
index 35b3cbd..1835a75 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/MetaDataHeaderItem.java
@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
@@ -29,7 +30,7 @@ import org.apache.wicket.util.string.Strings;
import org.apache.wicket.util.value.ValueMap;
/**
- * {@link HeaderItem} for meta informations such as <meta> tags or
+ * {@link HeaderItem} for meta information such as <meta> tags or
* canonical <link>
*
* @author andrea del bene
@@ -219,16 +220,21 @@ public class MetaDataHeaderItem extends HeaderItem
return headerItem;
}
-
+
@Override
- public boolean equals(Object obj)
+ public boolean equals(Object o)
{
- return obj instanceof MetaDataHeaderItem && ((MetaDataHeaderItem) obj).generateString().equals(generateString());
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ MetaDataHeaderItem that = (MetaDataHeaderItem) o;
+ return Objects.equals(tagAttributes, that.tagAttributes) &&
+ Objects.equals(tagMinimizedAttributes, that.tagMinimizedAttributes) &&
+ Objects.equals(tagName, that.tagName);
}
@Override
public int hashCode()
{
- return generateString().hashCode();
+ return Objects.hash(tagAttributes, tagMinimizedAttributes, tagName);
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/OnDomReadyHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/OnDomReadyHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/OnDomReadyHeaderItem.java
index 9d3d5d8..45ec472 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/OnDomReadyHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/OnDomReadyHeaderItem.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.head;
import java.util.Collections;
import java.util.List;
+import java.util.Objects;
import org.apache.wicket.Application;
import org.apache.wicket.request.Response;
@@ -103,15 +104,16 @@ public class OnDomReadyHeaderItem extends HeaderItem
@Override
public int hashCode()
{
- return getJavaScript().hashCode();
+ return Objects.hash(javaScript);
}
@Override
- public boolean equals(Object obj)
+ public boolean equals(Object o)
{
- if (obj instanceof OnDomReadyHeaderItem)
- return ((OnDomReadyHeaderItem)obj).getJavaScript().equals(getJavaScript());
- return false;
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ OnDomReadyHeaderItem that = (OnDomReadyHeaderItem) o;
+ return Objects.equals(javaScript, that.javaScript);
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/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 b171616..b69e7a4 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
@@ -19,6 +19,7 @@ package org.apache.wicket.markup.head;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
+import java.util.Objects;
import org.apache.wicket.Application;
import org.apache.wicket.core.util.string.JavaScriptUtils;
@@ -161,19 +162,18 @@ public class OnEventHeaderItem extends HeaderItem
@Override
public int hashCode()
{
- return getTarget().hashCode() ^ getEvent().hashCode() ^ getJavaScript().hashCode();
+ return Objects.hash(target, event, javaScript);
}
@Override
- public boolean equals(Object obj)
+ public boolean equals(Object o)
{
- if (obj instanceof OnEventHeaderItem)
- {
- OnEventHeaderItem other = (OnEventHeaderItem)obj;
- return other.getTarget().equals(getTarget()) && other.getEvent().equals(getEvent()) &&
- other.getJavaScript().equals(getJavaScript());
- }
- return false;
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ OnEventHeaderItem that = (OnEventHeaderItem) o;
+ return Objects.equals(target, that.target) &&
+ Objects.equals(event, that.event) &&
+ Objects.equals(javaScript, that.javaScript);
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java
index 76e45c0..51e34bf 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java
@@ -18,13 +18,13 @@ package org.apache.wicket.markup.head;
import java.util.Collections;
import java.util.List;
+import java.util.Objects;
import org.apache.wicket.Application;
import org.apache.wicket.core.util.string.JavaScriptUtils;
import org.apache.wicket.request.Response;
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;
/**
@@ -102,17 +102,18 @@ public class OnLoadHeaderItem extends HeaderItem
}
@Override
- public int hashCode()
+ public boolean equals(Object o)
{
- return getJavaScript().hashCode();
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ OnLoadHeaderItem that = (OnLoadHeaderItem) o;
+ return Objects.equals(javaScript, that.javaScript);
}
@Override
- public boolean equals(Object obj)
+ public int hashCode()
{
- if (obj instanceof OnLoadHeaderItem)
- return ((OnLoadHeaderItem)obj).getJavaScript().equals(getJavaScript());
- return false;
+ return Objects.hash(javaScript);
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityHeaderItem.java
index 70a72dc..93813e0 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityHeaderItem.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.head;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
import org.apache.wicket.request.Response;
@@ -90,19 +91,18 @@ public class PriorityHeaderItem extends HeaderItem implements IWrappedHeaderItem
}
@Override
- public int hashCode()
+ public boolean equals(Object o)
{
- return getWrapped().hashCode();
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ PriorityHeaderItem that = (PriorityHeaderItem) o;
+ return Objects.equals(wrapped, that.wrapped);
}
@Override
- public boolean equals(Object obj)
+ public int hashCode()
{
- if (obj instanceof PriorityHeaderItem)
- {
- return ((PriorityHeaderItem)obj).getWrapped().equals(getWrapped());
- }
- return false;
+ return Objects.hash(wrapped);
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/StringHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/StringHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/StringHeaderItem.java
index 7d7426f..c1502ff 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/StringHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/StringHeaderItem.java
@@ -17,6 +17,7 @@
package org.apache.wicket.markup.head;
import java.util.Collections;
+import java.util.Objects;
import org.apache.wicket.request.Response;
import org.apache.wicket.util.lang.Args;
@@ -80,16 +81,17 @@ public class StringHeaderItem extends HeaderItem
}
@Override
- public int hashCode()
+ public boolean equals(Object o)
{
- return getString().hashCode();
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ StringHeaderItem that = (StringHeaderItem) o;
+ return Objects.equals(string, that.string);
}
@Override
- public boolean equals(Object obj)
+ public int hashCode()
{
- if (obj instanceof StringHeaderItem)
- return ((StringHeaderItem)obj).getString().equals(getString());
- return false;
+ return Objects.hash(string);
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteredHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteredHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteredHeaderItem.java
index 120f41d..18745a2 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteredHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteredHeaderItem.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.head.filter;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
import org.apache.wicket.markup.head.HeaderItem;
import org.apache.wicket.markup.head.IWrappedHeaderItem;
@@ -109,17 +110,17 @@ public class FilteredHeaderItem extends HeaderItem implements IWrappedHeaderItem
@Override
public int hashCode()
{
- return getWrapped().hashCode();
+ return Objects.hash(wrapped, filterName);
}
@Override
- public boolean equals(Object obj)
+ public boolean equals(Object o)
{
- if (obj instanceof FilteredHeaderItem)
- {
- return ((FilteredHeaderItem)obj).getWrapped().equals(getWrapped());
- }
- return false;
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ FilteredHeaderItem that = (FilteredHeaderItem) o;
+ return Objects.equals(wrapped, that.wrapped) &&
+ Objects.equals(filterName, that.filterName);
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushHeaderItem.java b/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushHeaderItem.java
index bb4c985..1660ef7 100644
--- a/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushHeaderItem.java
+++ b/wicket-experimental/wicket-http2/wicket-http2-core/src/main/java/org/apache/wicket/http2/markup/head/PushHeaderItem.java
@@ -24,6 +24,7 @@ import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
@@ -414,4 +415,22 @@ public class PushHeaderItem extends HeaderItem
}
return (HttpServletRequest)assumedHttpServletRequest;
}
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ PushHeaderItem that = (PushHeaderItem) o;
+ return Objects.equals(urls, that.urls) &&
+ Objects.equals(pageWebResponse, that.pageWebResponse) &&
+ Objects.equals(pageWebRequest, that.pageWebRequest) &&
+ Objects.equals(page, that.page);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return Objects.hash(urls, pageWebResponse, pageWebRequest, page);
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/47aa1461/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java
index 82ed509..7164ee4 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java
@@ -19,6 +19,7 @@ package org.apache.wicket.extensions.ajax.markup.html.autocomplete;
import java.util.Arrays;
import java.util.List;
+import java.util.Objects;
import org.apache.wicket.Application;
import org.apache.wicket.Component;
@@ -92,6 +93,21 @@ public abstract class AbstractAutoCompleteBehavior extends AbstractDefaultAjaxBe
getJavaScriptLibrarySettings().getWicketAjaxReference();
return Arrays.<HeaderItem>asList(JavaScriptHeaderItem.forReference(wicketAjaxReference));
}
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ WrappedHeaderItem that = (WrappedHeaderItem) o;
+ return Objects.equals(item, that.item);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return Objects.hash(item);
+ }
}
public static final ResourceReference AUTOCOMPLETE_JS = new JavaScriptResourceReference(