You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2021/05/21 22:00:45 UTC
[wicket] 01/02: WICKET-6886 make methods interface default
This is an automated email from the ASF dual-hosted git repository.
svenmeier pushed a commit to branch wicket-9.x
in repository https://gitbox.apache.org/repos/asf/wicket.git
commit 5829f869afa828b84417a79d62b0d30e0ea4445c
Author: Sven Meier <sv...@apache.org>
AuthorDate: Fri May 21 23:11:21 2021 +0200
WICKET-6886 make methods interface default
---
.../wicket/markup/html/form/ChoiceRenderer.java | 16 ----------------
.../wicket/markup/html/form/IChoiceRenderer.java | 19 +++++++++++++++++--
.../html/form/EscapeAttributesInChoicesPage.java | 8 ++++----
.../wicket/examples/compref/DropDownChoicePage.java | 4 ++--
.../apache/wicket/examples/datetime/DateTimePage.java | 3 +--
.../apache/wicket/examples/forminput/FormInput.java | 6 +++---
.../markup/html/form/palette/PaletteTestPage.java | 3 +--
7 files changed, 28 insertions(+), 31 deletions(-)
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/ChoiceRenderer.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/ChoiceRenderer.java
index 96e4fb2..5a52fa6 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/ChoiceRenderer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/ChoiceRenderer.java
@@ -154,20 +154,4 @@ public class ChoiceRenderer<T> implements IChoiceRenderer<T>, IClusterable
return returnValue.toString();
}
-
- @Override
- public T getObject(String id, IModel<? extends List<? extends T>> choices)
- {
- List<? extends T> _choices = choices.getObject();
- for (int index = 0; index < _choices.size(); index++)
- {
- // Get next choice
- final T choice = _choices.get(index);
- if (getIdValue(choice, index).equals(id))
- {
- return choice;
- }
- }
- return null;
- }
}
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
index 5fcc14e..3e47aaa 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
@@ -55,7 +55,9 @@ public interface IChoiceRenderer<T> extends IDetachable
* The index of the object in the choices list.
* @return String
*/
- String getIdValue(T object, int index);
+ default String getIdValue(T object, int index) {
+ return Integer.toString(index);
+ }
/**
* This method is called to get an object back from its id representation.
@@ -69,7 +71,20 @@ public interface IChoiceRenderer<T> extends IDetachable
* The list of all rendered choices
* @return A choice from the list that has this {@code id}
*/
- T getObject(String id, IModel<? extends List<? extends T>> choices);
+ default T getObject(String id, IModel<? extends List<? extends T>> choices)
+ {
+ List<? extends T> _choices = choices.getObject();
+ for (int index = 0; index < _choices.size(); index++)
+ {
+ // Get next choice
+ final T choice = _choices.get(index);
+ if (getIdValue(choice, index).equals(id))
+ {
+ return choice;
+ }
+ }
+ return null;
+ }
/**
* Override when needed.
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/EscapeAttributesInChoicesPage.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/EscapeAttributesInChoicesPage.java
index a6051fa..cfcd006 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/EscapeAttributesInChoicesPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/EscapeAttributesInChoicesPage.java
@@ -16,13 +16,13 @@
*/
package org.apache.wicket.markup.html.form;
-import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
-
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+
public class EscapeAttributesInChoicesPage extends WebPage {
private static final long serialVersionUID = 1L;
@@ -32,7 +32,7 @@ public class EscapeAttributesInChoicesPage extends WebPage {
final Map<String, String> fruits = new HashMap<>();
fruits.put("apple\" onmouseover=\"alert('hi');\" \"", "Apple");
- IChoiceRenderer<String> iChoiceRenderer = new ChoiceRenderer<String>() {
+ IChoiceRenderer<String> iChoiceRenderer = new IChoiceRenderer<String>() {
@Override
public Object getDisplayValue(final String s) {
return fruits.get(s);
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/DropDownChoicePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/DropDownChoicePage.java
index 78931cb..250e4c8 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/DropDownChoicePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/DropDownChoicePage.java
@@ -20,9 +20,9 @@ import java.util.Arrays;
import java.util.List;
import org.apache.wicket.examples.WicketExamplePage;
-import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.util.io.IClusterable;
@@ -84,7 +84,7 @@ public class DropDownChoicePage extends WicketExamplePage
// like the example below. Don't forget to check out the default
// implementation of
// IChoiceRenderer, ChoiceRenderer.
- form.add(new DropDownChoice<>("integer", INTEGERS, new ChoiceRenderer<Integer>()
+ form.add(new DropDownChoice<>("integer", INTEGERS, new IChoiceRenderer<Integer>()
{
/**
* Gets the display value that is visible to the end user.
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/datetime/DateTimePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/datetime/DateTimePage.java
index 3548c09..e3e0b97 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/datetime/DateTimePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/datetime/DateTimePage.java
@@ -39,7 +39,6 @@ import org.apache.wicket.extensions.markup.html.form.datetime.ZonedDateTimeField
import org.apache.wicket.extensions.markup.html.form.datetime.ZonedToLocalDateTimeModel;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
-import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.FormComponentUpdatingBehavior;
@@ -211,7 +210,7 @@ public class DateTimePage extends WicketExamplePage
/**
* Choice for a locale.
*/
- private final class LocaleChoiceRenderer extends ChoiceRenderer<Locale>
+ private final class LocaleChoiceRenderer implements IChoiceRenderer<Locale>
{
private static final long serialVersionUID = 1L;
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java b/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
index 0ff4681..b2e5fd8 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
@@ -28,14 +28,14 @@ import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.Check;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.CheckGroup;
-import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.FormComponentUpdatingBehavior;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.markup.html.form.ListMultipleChoice;
import org.apache.wicket.markup.html.form.Radio;
import org.apache.wicket.markup.html.form.RadioChoice;
import org.apache.wicket.markup.html.form.RadioGroup;
-import org.apache.wicket.markup.html.form.FormComponentUpdatingBehavior;
import org.apache.wicket.markup.html.form.SimpleFormComponentLabel;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.link.Link;
@@ -222,7 +222,7 @@ public class FormInput extends WicketExamplePage
/**
* Choice for a locale.
*/
- private final class LocaleChoiceRenderer extends ChoiceRenderer<Locale>
+ private final class LocaleChoiceRenderer implements IChoiceRenderer<Locale>
{
@Override
public Object getDisplayValue(Locale locale)
diff --git a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/palette/PaletteTestPage.java b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/palette/PaletteTestPage.java
index 59a0357..ccb62c0 100644
--- a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/palette/PaletteTestPage.java
+++ b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/palette/PaletteTestPage.java
@@ -19,7 +19,6 @@ package org.apache.wicket.extensions.markup.html.form.palette;
import java.util.List;
import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.model.CompoundPropertyModel;
@@ -45,7 +44,7 @@ public class PaletteTestPage extends WebPage
form = new Form<>("form", new CompoundPropertyModel<Object>("WICKET-5086"));
add(form);
- IChoiceRenderer<String> choiceRenderer = new ChoiceRenderer<String>()
+ IChoiceRenderer<String> choiceRenderer = new IChoiceRenderer<String>()
{
@Override
public Object getDisplayValue(String s)