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 2016/03/08 23:37:07 UTC
[26/52] [abbrv] wicket git commit: WICKET-6104 Rework AjaxFallback**
components to use java.util.Optional for their #onEvent methods
WICKET-6104 Rework AjaxFallback** components to use java.util.Optional for their #onEvent methods
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ec1db0f3
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ec1db0f3
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ec1db0f3
Branch: refs/heads/lambdas
Commit: ec1db0f3392b89af28c18889b11b76b43a4c768e
Parents: ae36388
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri Feb 26 14:16:22 2016 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri Feb 26 14:16:22 2016 +0100
----------------------------------------------------------------------
.../ajax/markup/html/AjaxFallbackLink.java | 11 +-
.../markup/html/form/AjaxFallbackButton.java | 8 +-
.../wicket/util/tester/BaseWicketTester.java | 2 +-
.../org/apache/wicket/MockPanelWithLink.java | 6 +-
.../wicket/ajax/AjaxHeaderContributionPage.java | 16 +--
.../ajax/AjaxHeaderContributionPage2.java | 22 ++--
.../apache/wicket/ajax/DomReadyOrderPage.java | 6 +-
.../java/org/apache/wicket/ajax/HomePage.java | 9 +-
.../ajax/form/AjaxFormSubmitTestPage.java | 4 +-
.../ajax/markup/html/AjaxFallbackLinkTest.java | 6 +-
.../DoubleNestedTransparentContainerPage.java | 9 +-
...inerWithSiblingTransparentContainerPage.java | 9 +-
.../SingleNestedTransparentContainerPage.java | 10 +-
...ntainerWithAutoTransparentContainerPage.java | 7 +-
...ainerWithManualTransparentContainerPage.java | 8 +-
.../html/form/FormWithMultipleButtonsTest.java | 5 +-
.../util/tester/apps_5/AjaxLinkClickTest.java | 11 +-
.../wicket/util/tester/apps_6/LinkPage.java | 6 +-
.../diskstore/browser/BrowserPanel.java | 15 +--
.../devutils/inspector/EnhancedPageView.java | 12 +--
.../examples/ajax/builtin/EffectsPage.java | 11 +-
.../wicket/examples/ajax/builtin/LinksPage.java | 8 +-
.../examples/ajax/builtin/RatingsPage.java | 6 +-
.../wicket/examples/ajax/builtin/TodoList.java | 41 ++++----
.../wicket/examples/source/SourcesPage.java | 8 +-
.../content/CheckedSelectableFolderContent.java | 8 +-
.../tree/content/EditableFolderContent.java | 8 +-
.../content/MultiSelectableFolderContent.java | 12 ++-
.../tree/content/SelectableFolderContent.java | 15 +--
.../markup/html/IndicatingAjaxFallbackLink.java | 5 +-
.../data/sort/AjaxFallbackOrderByBorder.java | 4 +-
.../data/sort/AjaxFallbackOrderByLink.java | 64 +----------
.../repeater/data/sort/AjaxOrderByLink.java | 105 +++++++++++++++++++
.../ajax/markup/html/tabs/AjaxTabbedPanel.java | 16 ++-
.../markup/html/repeater/tree/AbstractTree.java | 5 +-
.../markup/html/repeater/tree/NestedTree.java | 12 +--
.../markup/html/repeater/tree/Node.java | 4 +-
.../markup/html/repeater/tree/TableTree.java | 9 +-
.../html/repeater/tree/content/Folder.java | 7 +-
.../repeater/tree/content/StyledLinkLabel.java | 14 +--
.../html/repeater/util/TreeModelProvider.java | 3 +-
.../wicket/extensions/rating/RatingPanel.java | 20 ++--
42 files changed, 314 insertions(+), 253 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLink.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLink.java b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLink.java
index 18488da..d4f95a3 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLink.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLink.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.ajax.markup.html;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
@@ -39,7 +41,7 @@ import org.apache.wicket.model.IModel;
* @param <T>
* type of model object
*/
-public abstract class AjaxFallbackLink<T> extends Link<T> implements IAjaxLink
+public abstract class AjaxFallbackLink<T> extends Link<T>
{
/** */
private static final long serialVersionUID = 1L;
@@ -87,7 +89,7 @@ public abstract class AjaxFallbackLink<T> extends Link<T> implements IAjaxLink
@Override
protected void onEvent(AjaxRequestTarget target)
{
- onClick(target);
+ onClick(Optional.of(target));
}
@Override
@@ -114,7 +116,7 @@ public abstract class AjaxFallbackLink<T> extends Link<T> implements IAjaxLink
@Override
public final void onClick()
{
- onClick(null);
+ onClick(Optional.empty());
}
/**
@@ -124,8 +126,7 @@ public abstract class AjaxFallbackLink<T> extends Link<T> implements IAjaxLink
* @param target
* ajax target if this linked was invoked using ajax, null otherwise
*/
- @Override
- public abstract void onClick(final AjaxRequestTarget target);
+ public abstract void onClick(final Optional<AjaxRequestTarget> target);
/**
* Removes any inline 'onclick' attributes set by Link#onComponentTag(ComponentTag).
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
index 0d164fd..9f25d9b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.ajax.markup.html.form;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
import org.apache.wicket.ajax.form.AjaxFormSubmitBehavior;
@@ -71,7 +73,7 @@ public abstract class AjaxFallbackButton extends Button
@Override
protected void onSubmit(AjaxRequestTarget target)
{
- AjaxFallbackButton.this.onSubmit(target, AjaxFallbackButton.this.getForm());
+ AjaxFallbackButton.this.onSubmit(Optional.ofNullable(target), AjaxFallbackButton.this.getForm());
}
@Override
@@ -138,7 +140,7 @@ public abstract class AjaxFallbackButton extends Button
{
if (getRequestCycle().find(AjaxRequestTarget.class) == null)
{
- onSubmit(null, getForm());
+ onSubmit(Optional.empty(), getForm());
}
}
@@ -173,7 +175,7 @@ public abstract class AjaxFallbackButton extends Button
* ajax target if this linked was invoked using ajax, null otherwise
* @param form
*/
- protected void onSubmit(final AjaxRequestTarget target, final Form<?> form)
+ protected void onSubmit(final Optional<AjaxRequestTarget> target, final Form<?> form)
{
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
index 0242eb9..a5fb789 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
@@ -1924,7 +1924,7 @@ public class BaseWicketTester
(AjaxFormSubmitBehavior)WicketTesterHelper.findAjaxEventBehavior(link, "click"));
}
// if the link is an IAjaxLink, use it (do check if AJAX is expected)
- else if (linkComponent instanceof IAjaxLink && isAjax)
+ else if (isAjax && (linkComponent instanceof IAjaxLink || linkComponent instanceof AjaxFallbackLink))
{
List<AjaxEventBehavior> behaviors = WicketTesterHelper.findAjaxEventBehaviors(
linkComponent, "click");
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/MockPanelWithLink.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/MockPanelWithLink.java b/wicket-core/src/test/java/org/apache/wicket/MockPanelWithLink.java
index ce20aca..083e888 100644
--- a/wicket-core/src/test/java/org/apache/wicket/MockPanelWithLink.java
+++ b/wicket-core/src/test/java/org/apache/wicket/MockPanelWithLink.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.markup.IMarkupCacheKeyProvider;
@@ -46,9 +48,9 @@ public abstract class MockPanelWithLink extends Panel
add(new AjaxFallbackLink<Void>("link")
{
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- MockPanelWithLink.this.onLinkClick(target);
+ MockPanelWithLink.this.onLinkClick(targetOptional.orElse(null));
}
});
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage.java b/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage.java
index a7ccde9..feff1db 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.ajax;
+import java.util.Optional;
+
import org.apache.wicket.Component;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.markup.html.WebPage;
@@ -43,13 +45,15 @@ public class AjaxHeaderContributionPage extends WebPage
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- target.prependJavaScript("prepend();");
- target.add(test1);
- target.add(test2);
- target.add(test3);
- target.appendJavaScript("append();");
+ targetOptional.ifPresent(target -> {
+ target.prependJavaScript("prepend();");
+ target.add(test1);
+ target.add(test2);
+ target.add(test3);
+ target.appendJavaScript("append();");
+ });
}
});
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2.java b/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2.java
index 44c6d4f..398f036 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2.java
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxHeaderContributionPage2.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.ajax;
+import java.util.Optional;
+
import org.apache.wicket.Component;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.markup.html.WebPage;
@@ -50,16 +52,18 @@ public class AjaxHeaderContributionPage2 extends WebPage
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- target.prependJavaScript("prepend();");
- target.add(test1);
- target.add(test2);
- target.add(test3);
- target.add(btest1);
- target.add(btest2);
- target.add(btest3);
- target.appendJavaScript("append();");
+ targetOptional.ifPresent(target -> {
+ target.prependJavaScript("prepend();");
+ target.add(test1);
+ target.add(test2);
+ target.add(test3);
+ target.add(btest1);
+ target.add(btest2);
+ target.add(btest3);
+ target.appendJavaScript("append();");
+ });
}
});
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage.java b/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage.java
index 17670d3..27a6447 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.ajax;
+import java.util.Optional;
+
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.markup.html.WebPage;
@@ -60,9 +62,9 @@ public class DomReadyOrderPage extends WebPage
}
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- target.add(this);
+ targetOptional.ifPresent(target -> target.add(this));
}
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/ajax/HomePage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/HomePage.java b/wicket-core/src/test/java/org/apache/wicket/ajax/HomePage.java
index cf4d32f..190b0af 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/HomePage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/HomePage.java
@@ -18,6 +18,7 @@ package org.apache.wicket.ajax;
import java.util.LinkedList;
import java.util.List;
+import java.util.Optional;
import org.apache.wicket.ajax.markup.html.form.AjaxFallbackButton;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -63,7 +64,7 @@ public class HomePage extends WebPage
};
add(form);
- form.add(new TextField<String>("textfield", new Model<String>()));
+ form.add(new TextField<>("textfield", new Model<>()));
form.add(new Button("submit"));
final WebMarkupContainer listViewContainer = new WebMarkupContainer("listViewContainer");
@@ -77,7 +78,7 @@ public class HomePage extends WebPage
@Override
public List<Object> getObject()
{
- List<Object> objects = new LinkedList<Object>();
+ List<Object> objects = new LinkedList<>();
for (int i = 0; i < rows; i++)
{
objects.add(new Object());
@@ -97,11 +98,11 @@ public class HomePage extends WebPage
form.add(new AjaxFallbackButton("addButton", form)
{
@Override
- protected void onSubmit(AjaxRequestTarget target, Form<?> form)
+ protected void onSubmit(Optional<AjaxRequestTarget> targetOptional, Form<?> form)
{
rows++;
listView.removeAll();
- target.add(listViewContainer);
+ targetOptional.ifPresent(target -> target.add(listViewContainer));
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/ajax/form/AjaxFormSubmitTestPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/form/AjaxFormSubmitTestPage.java b/wicket-core/src/test/java/org/apache/wicket/ajax/form/AjaxFormSubmitTestPage.java
index acd7c36..b372395 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/form/AjaxFormSubmitTestPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/form/AjaxFormSubmitTestPage.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.ajax.form;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxFallbackButton;
import org.apache.wicket.markup.html.WebPage;
@@ -76,7 +78,7 @@ public class AjaxFormSubmitTestPage extends WebPage
private static final long serialVersionUID = 1L;
@Override
- protected void onSubmit(AjaxRequestTarget target, Form<?> form)
+ protected void onSubmit(Optional<AjaxRequestTarget> target, Form<?> form)
{
formSubmitted = formSubmitted | BUTTON;
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLinkTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLinkTest.java b/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLinkTest.java
index ac047dc..0441436 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLinkTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/AjaxFallbackLinkTest.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.ajax.markup.html;
+import java.util.Optional;
+
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.IMarkupResourceStreamProvider;
@@ -46,10 +48,10 @@ public class AjaxFallbackLinkTest extends WicketTestCase
{
private OnlyAnchorAreaAndLinkPage()
{
- add(new AjaxFallbackLink("l") {
+ add(new AjaxFallbackLink<Void>("l") {
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> optional)
{
}
});
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/markup/html/DoubleNestedTransparentContainerPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/DoubleNestedTransparentContainerPage.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/DoubleNestedTransparentContainerPage.java
index 651d85a..0008abd 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/DoubleNestedTransparentContainerPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/DoubleNestedTransparentContainerPage.java
@@ -16,10 +16,10 @@
*/
package org.apache.wicket.markup.html;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
-import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
-import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
/**
@@ -54,10 +54,9 @@ public class DoubleNestedTransparentContainerPage extends WebPage
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- if (target != null)
- target.add(label);
+ targetOptional.ifPresent(target -> target.add(label));
}
});
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/markup/html/DoubleNestedTransparentContainerWithSiblingTransparentContainerPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/DoubleNestedTransparentContainerWithSiblingTransparentContainerPage.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/DoubleNestedTransparentContainerWithSiblingTransparentContainerPage.java
index b5334a9..84d2bcd 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/DoubleNestedTransparentContainerWithSiblingTransparentContainerPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/DoubleNestedTransparentContainerWithSiblingTransparentContainerPage.java
@@ -16,10 +16,10 @@
*/
package org.apache.wicket.markup.html;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
-import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
-import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
/**
@@ -60,10 +60,9 @@ public class DoubleNestedTransparentContainerWithSiblingTransparentContainerPage
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- if (target != null)
- target.add(label);
+ targetOptional.ifPresent(target -> target.add(label));
}
});
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/markup/html/SingleNestedTransparentContainerPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/SingleNestedTransparentContainerPage.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/SingleNestedTransparentContainerPage.java
index 877e9b6..3a514a5 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/SingleNestedTransparentContainerPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/SingleNestedTransparentContainerPage.java
@@ -16,11 +16,10 @@
*/
package org.apache.wicket.markup.html;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
-import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
/**
@@ -56,10 +55,9 @@ public class SingleNestedTransparentContainerPage extends WebPage
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- if (target != null)
- target.add(label);
+ targetOptional.ifPresent(target -> target.add(label));
}
});
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentContainerWithAutoTransparentContainerPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentContainerWithAutoTransparentContainerPage.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentContainerWithAutoTransparentContainerPage.java
index 287adb4..eaad76b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentContainerWithAutoTransparentContainerPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentContainerWithAutoTransparentContainerPage.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.markup.html;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.ajax.markup.html.AjaxLink;
@@ -68,10 +70,9 @@ public class TransparentContainerWithAutoTransparentContainerPage extends WebPag
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- if (target != null)
- target.add(label);
+ targetOptional.ifPresent(target -> target.add(label));
}
});
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentContainerWithManualTransparentContainerPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentContainerWithManualTransparentContainerPage.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentContainerWithManualTransparentContainerPage.java
index f2c2303..29ed322 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentContainerWithManualTransparentContainerPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentContainerWithManualTransparentContainerPage.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.markup.html;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.ajax.markup.html.AjaxLink;
@@ -74,11 +76,9 @@ public class TransparentContainerWithManualTransparentContainerPage extends WebP
{
private static final long serialVersionUID = 1L;
- @Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- if (target != null)
- target.add(label);
+ targetOptional.ifPresent(target -> target.add(label));
}
});
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java
index 3f94112..081efe2 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormWithMultipleButtonsTest.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.html.form;
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
@@ -53,7 +54,7 @@ public class FormWithMultipleButtonsTest extends WicketTestCase
}
/**
- * @see href https://issues.apache.org/jira/browse/WICKET-1894
+ * @see <a href="https://issues.apache.org/jira/browse/WICKET-1894">WICKET-1894</a>
*/
@Test
public void ajaxFallbackButtonInvokedFirst()
@@ -119,7 +120,7 @@ public class FormWithMultipleButtonsTest extends WicketTestCase
private static final long serialVersionUID = 1L;
@Override
- protected void onSubmit(AjaxRequestTarget target, Form<?> form)
+ protected void onSubmit(Optional<AjaxRequestTarget> target, Form<?> form)
{
submitSequence.add(this);
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxLinkClickTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxLinkClickTest.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxLinkClickTest.java
index 9e79501..8077100 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxLinkClickTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_5/AjaxLinkClickTest.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.util.tester.apps_5;
+import java.util.Optional;
+
import org.apache.wicket.Page;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
@@ -89,11 +91,10 @@ public class AjaxLinkClickTest extends WicketTestCase
{
private static final long serialVersionUID = 1L;
- @Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
linkClicked = true;
- ajaxRequestTarget = target;
+ targetOptional.ifPresent(target -> ajaxRequestTarget = target);
}
});
@@ -119,10 +120,10 @@ public class AjaxLinkClickTest extends WicketTestCase
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
linkClicked = true;
- ajaxRequestTarget = target;
+ targetOptional.ifPresent(target -> ajaxRequestTarget = target);
}
});
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_6/LinkPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_6/LinkPage.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_6/LinkPage.java
index 9e6dc21..6106327 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_6/LinkPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/apps_6/LinkPage.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.util.tester.apps_6;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.ajax.markup.html.AjaxLink;
@@ -91,7 +93,7 @@ public class LinkPage extends WebPage
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
getRequestCycle().setResponsePage(ResultPage.class);
}
@@ -102,7 +104,7 @@ public class LinkPage extends WebPage
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
getRequestCycle().setResponsePage(new ResultPage("A special label"));
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/BrowserPanel.java
----------------------------------------------------------------------
diff --git a/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/BrowserPanel.java b/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/BrowserPanel.java
index 25358cc..51cd5f7 100644
--- a/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/BrowserPanel.java
+++ b/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/BrowserPanel.java
@@ -18,6 +18,7 @@ package org.apache.wicket.devutils.diskstore.browser;
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.AjaxSelfUpdatingTimerBehavior;
@@ -55,12 +56,9 @@ public class BrowserPanel extends Panel
AjaxFallbackLink<Void> refreshLink = new AjaxFallbackLink<Void>("refresh")
{
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- if (target != null)
- {
- target.add(table);
- }
+ targetOptional.ifPresent(target -> target.add(table));
}
};
add(refreshLink);
@@ -68,13 +66,10 @@ public class BrowserPanel extends Panel
AjaxFallbackLink<Void> currentSessionLink = new AjaxFallbackLink<Void>("currentSessionLink")
{
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
sessionsSelector.setModelObject(getCurrentSession().getObject());
- if (target != null)
- {
- target.add(sessionsSelector, table);
- }
+ targetOptional.ifPresent(target -> target.add(sessionsSelector, table));
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/EnhancedPageView.java
----------------------------------------------------------------------
diff --git a/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/EnhancedPageView.java b/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/EnhancedPageView.java
index 0687f75..49fd4c1 100644
--- a/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/EnhancedPageView.java
+++ b/wicket-devutils/src/main/java/org/apache/wicket/devutils/inspector/EnhancedPageView.java
@@ -24,6 +24,7 @@ import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Optional;
import java.util.Set;
import org.apache.wicket.Component;
@@ -307,12 +308,10 @@ public final class EnhancedPageView extends GenericPanel<Page>
{
private static final long serialVersionUID = 1L;
- @Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
expandState.expandAll();
- if (target != null)
- target.add(componentTree);
+ targetOptional.ifPresent(target -> target.add(componentTree));
}
});
add(new AjaxFallbackLink<Void>("collapseAll")
@@ -320,11 +319,10 @@ public final class EnhancedPageView extends GenericPanel<Page>
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
expandState.collapseAll();
- if (target != null)
- target.add(componentTree);
+ targetOptional.ifPresent(target -> target.add(componentTree));
}
});
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/EffectsPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/EffectsPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/EffectsPage.java
index e3763c7..e286584 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/EffectsPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/EffectsPage.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.examples.ajax.builtin;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxChannel;
import org.apache.wicket.ajax.AjaxChannel.Type;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -105,15 +107,14 @@ public class EffectsPage extends BasePage
add(new AjaxFallbackLink<Void>("c2-link")
{
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
counter2++;
- if (target != null)
- {
+ targetOptional.ifPresent(target -> {
target.add(c2);
target.appendJavaScript(String.format("jQuery('#%s').effect('highlight');",
- c2.getMarkupId()));
- }
+ c2.getMarkupId()));
+ });
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LinksPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LinksPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LinksPage.java
index d5d99cb..2dc80bf 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LinksPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LinksPage.java
@@ -17,6 +17,7 @@
package org.apache.wicket.examples.ajax.builtin;
import java.util.List;
+import java.util.Optional;
import org.apache.wicket.Component;
import org.apache.wicket.WicketRuntimeException;
@@ -97,17 +98,14 @@ public class LinksPage extends BasePage
add(new AjaxFallbackLink<Void>("c2-link")
{
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
counter2++;
// notice that for a fallback link we need to makesure the
// target is not null. if the target is null ajax failed and the
// fallback was used, so there is no need to do any ajax-related
// processing.
- if (target != null)
- {
- target.add(c2);
- }
+ targetOptional.ifPresent(target -> target.add(c2));
}
});
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/RatingsPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/RatingsPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/RatingsPage.java
index 6ad0b40..44ad5e6 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/RatingsPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/RatingsPage.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.examples.ajax.builtin;
+import java.util.Optional;
+
import org.apache.wicket.util.io.IClusterable;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.rating.RatingPanel;
@@ -181,7 +183,7 @@ public class RatingsPage extends BasePage
}
@Override
- public void onRated(int rating, AjaxRequestTarget target)
+ public void onRated(int rating, Optional<AjaxRequestTarget> target)
{
RatingsPage.rating1.addRating(rating);
}
@@ -212,7 +214,7 @@ public class RatingsPage extends BasePage
}
@Override
- public void onRated(int rating, AjaxRequestTarget target)
+ public void onRated(int rating, Optional<AjaxRequestTarget> target)
{
// make sure the user can't vote again
hasVoted = Boolean.TRUE;
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/TodoList.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/TodoList.java b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/TodoList.java
index 9c37a48..66cc50a 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/TodoList.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/TodoList.java
@@ -18,6 +18,7 @@ package org.apache.wicket.examples.ajax.builtin;
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
@@ -165,7 +166,7 @@ public class TodoList extends BasePage
private boolean linkVisible = true;
/** Link for displaying the AddTodo form. */
- private final class AddTodoLink extends AjaxFallbackLink
+ private final class AddTodoLink extends AjaxFallbackLink<Void>
{
/** Constructor. */
private AddTodoLink(String id)
@@ -176,13 +177,13 @@ public class TodoList extends BasePage
/**
* onclick handler.
*
- * @param target
+ * @param targetOptional
* the request target.
*/
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- onShowForm(target);
+ onShowForm(targetOptional);
}
/**
@@ -201,7 +202,7 @@ public class TodoList extends BasePage
* Link for removing all completed todos from the list, this link follows the same
* visibility rules as the add link.
*/
- private final class RemoveCompletedTodosLink extends AjaxFallbackLink
+ private final class RemoveCompletedTodosLink extends AjaxFallbackLink<Void>
{
/**
* Constructor.
@@ -214,13 +215,10 @@ public class TodoList extends BasePage
super(id);
}
- /**
- * @see AjaxFallbackLink#onClick(org.apache.wicket.ajax.AjaxRequestTarget)
- */
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- onRemoveCompletedTodos(target);
+ onRemoveCompletedTodos(targetOptional);
}
/**
@@ -318,19 +316,19 @@ public class TodoList extends BasePage
/**
* Called then the add link was clicked, shows the form, and hides the link.
*
- * @param target
+ * @param targetOptional
* the request target.
*/
- void onShowForm(AjaxRequestTarget target)
+ void onShowForm(Optional<AjaxRequestTarget> targetOptional)
{
// toggle the visibility
linkVisible = false;
// redraw the add container.
- target.add(this);
+ targetOptional.ifPresent(target -> target.add(this));
}
- void onRemoveCompletedTodos(AjaxRequestTarget target)
+ void onRemoveCompletedTodos(Optional<AjaxRequestTarget> targetOptional)
{
List<TodoItem> ready = new ArrayList<>();
for (TodoItem todo : items)
@@ -342,11 +340,13 @@ public class TodoList extends BasePage
}
items.removeAll(ready);
- // repaint our panel
- target.add(this);
+ targetOptional.ifPresent(target -> {
+ // repaint our panel
+ target.add(this);
- // repaint the listview as there was a new item added.
- target.add(showItems);
+ // repaint the listview as there was a new item added.
+ target.add(showItems);
+ });
}
/**
@@ -413,11 +413,8 @@ public class TodoList extends BasePage
add(new AjaxFallbackLink<Void>("ajaxback")
{
- /**
- * @see org.apache.wicket.ajax.markup.html.AjaxFallbackLink#onClick(org.apache.wicket.ajax.AjaxRequestTarget)
- */
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
setResponsePage(getPage());
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java
index dd30e07..8632e9d 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java
@@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
+import java.util.Optional;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
@@ -293,15 +294,14 @@ public class SourcesPage extends WebPage
item.getModel())
{
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
setName(getDefaultModelObjectAsString());
- if (target != null)
- {
+ targetOptional.ifPresent(target -> {
target.add(codePanel);
target.add(filename);
- }
+ });
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/CheckedSelectableFolderContent.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/CheckedSelectableFolderContent.java b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/CheckedSelectableFolderContent.java
index 0fab470..8310fe8 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/CheckedSelectableFolderContent.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/CheckedSelectableFolderContent.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.examples.tree.content;
+import java.util.Optional;
+
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.examples.tree.Foo;
@@ -75,9 +77,9 @@ public class CheckedSelectableFolderContent extends SelectableFolderContent
}
@Override
- protected void onClick(AjaxRequestTarget target)
+ protected void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- CheckedSelectableFolderContent.this.select(getModelObject(), tree, target);
+ CheckedSelectableFolderContent.this.select(getModelObject(), tree, targetOptional);
}
@Override
@@ -87,4 +89,4 @@ public class CheckedSelectableFolderContent extends SelectableFolderContent
}
};
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/EditableFolderContent.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/EditableFolderContent.java b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/EditableFolderContent.java
index e202bae..280857b 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/EditableFolderContent.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/EditableFolderContent.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.examples.tree.content;
+import java.util.Optional;
+
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -72,7 +74,7 @@ public class EditableFolderContent extends Content
@Override
protected Component newLabelComponent(String id, final IModel<Foo> model)
{
- return new AjaxEditableLabel<String>(id, new PropertyModel<String>(model, "bar"))
+ return new AjaxEditableLabel<String>(id, new PropertyModel<>(model, "bar"))
{
@Override
protected void onSubmit(AjaxRequestTarget target)
@@ -82,10 +84,10 @@ public class EditableFolderContent extends Content
/**
* update whole node in case we're located inside TableTree
*/
- tree.updateNode(model.getObject(), target);
+ tree.updateNode(model.getObject(), Optional.of(target));
}
};
}
};
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/MultiSelectableFolderContent.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/MultiSelectableFolderContent.java b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/MultiSelectableFolderContent.java
index 0c36fa5..2e70744 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/MultiSelectableFolderContent.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/MultiSelectableFolderContent.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.examples.tree.content;
+import java.util.Optional;
+
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.examples.tree.Foo;
@@ -51,7 +53,7 @@ public class MultiSelectableFolderContent extends Content
return selected.contains(foo);
}
- protected void toggle(Foo foo, AbstractTree<Foo> tree, final AjaxRequestTarget target)
+ protected void toggle(Foo foo, AbstractTree<Foo> tree, final Optional<AjaxRequestTarget> targetOptional)
{
if (isSelected(foo))
{
@@ -62,7 +64,7 @@ public class MultiSelectableFolderContent extends Content
selected.add(foo);
}
- tree.updateNode(foo, target);
+ tree.updateNode(foo, targetOptional);
}
@Override
@@ -82,9 +84,9 @@ public class MultiSelectableFolderContent extends Content
}
@Override
- protected void onClick(AjaxRequestTarget target)
+ protected void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- MultiSelectableFolderContent.this.toggle(getModelObject(), tree, target);
+ MultiSelectableFolderContent.this.toggle(getModelObject(), tree, targetOptional);
}
@Override
@@ -94,4 +96,4 @@ public class MultiSelectableFolderContent extends Content
}
};
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/SelectableFolderContent.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/SelectableFolderContent.java b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/SelectableFolderContent.java
index b2605d5..caafcae 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/SelectableFolderContent.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/SelectableFolderContent.java
@@ -16,8 +16,11 @@
*/
package org.apache.wicket.examples.tree.content;
+import java.util.Optional;
+
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.examples.tree.Foo;
import org.apache.wicket.extensions.markup.html.repeater.tree.AbstractTree;
import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
@@ -64,11 +67,11 @@ public class SelectableFolderContent extends Content
}
}
- protected void select(Foo foo, AbstractTree<Foo> tree, final AjaxRequestTarget target)
+ protected void select(Foo foo, AbstractTree<Foo> tree, final Optional<AjaxRequestTarget> targetOptional)
{
if (selected != null)
{
- tree.updateNode(selected.getObject(), target);
+ tree.updateNode(selected.getObject(), targetOptional);
selected.detach();
selected = null;
@@ -76,7 +79,7 @@ public class SelectableFolderContent extends Content
selected = provider.model(foo);
- tree.updateNode(foo, target);
+ tree.updateNode(foo, targetOptional);
}
@Override
@@ -96,9 +99,9 @@ public class SelectableFolderContent extends Content
}
@Override
- protected void onClick(AjaxRequestTarget target)
+ protected void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- SelectableFolderContent.this.select(getModelObject(), tree, target);
+ SelectableFolderContent.this.select(getModelObject(), tree, targetOptional);
}
@Override
@@ -108,4 +111,4 @@ public class SelectableFolderContent extends Content
}
};
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxFallbackLink.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxFallbackLink.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxFallbackLink.java
index 47df05f..133e273 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxFallbackLink.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxFallbackLink.java
@@ -35,11 +35,8 @@ public abstract class IndicatingAjaxFallbackLink<T> extends AjaxFallbackLink<T>
implements
IAjaxIndicatorAware
{
-
- /**
- *
- */
private static final long serialVersionUID = 1L;
+
private final AjaxIndicatorAppender indicatorAppender = new AjaxIndicatorAppender();
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
index d35433b..e91c949 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
@@ -55,7 +55,7 @@ public abstract class AjaxFallbackOrderByBorder<S> extends OrderByBorder<S>
@Override
protected OrderByLink<S> newOrderByLink(String id, S property, ISortStateLocator<S> stateLocator)
{
- return new AjaxFallbackOrderByLink<S>("orderByLink", property, stateLocator)
+ return new AjaxOrderByLink<S>("orderByLink", property, stateLocator)
{
private static final long serialVersionUID = 1L;
@@ -93,6 +93,4 @@ public abstract class AjaxFallbackOrderByBorder<S> extends OrderByBorder<S>
}
protected abstract void onAjaxClick(AjaxRequestTarget target);
-
-
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
index e937e72..503d226 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
@@ -16,10 +16,6 @@
*/
package org.apache.wicket.extensions.ajax.markup.html.repeater.data.sort;
-import org.apache.wicket.ajax.AjaxEventBehavior;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
-import org.apache.wicket.ajax.markup.html.IAjaxLink;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink;
@@ -34,13 +30,11 @@ import org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink;
* @since 1.2.1
*
* @author Igor Vaynberg (ivaynberg)
- *
+ * @deprecated Use {@link AjaxOrderByLink} instead
*/
-public abstract class AjaxFallbackOrderByLink<S> extends OrderByLink<S> implements IAjaxLink
+@Deprecated
+public abstract class AjaxFallbackOrderByLink<S> extends AjaxOrderByLink<S>
{
- /**
- *
- */
private static final long serialVersionUID = 1L;
/**
@@ -55,56 +49,4 @@ public abstract class AjaxFallbackOrderByLink<S> extends OrderByLink<S> implemen
{
super(id, sortProperty, stateLocator);
}
-
- @Override
- public void onInitialize()
- {
- super.onInitialize();
-
- add(newAjaxEventBehavior("click"));
- }
-
- /**
- * @param event
- * the name of the default event on which this link will listen to
- * @return the ajax behavior which will be executed when the user clicks the link
- */
- protected AjaxEventBehavior newAjaxEventBehavior(final String event)
- {
- return new AjaxEventBehavior(event)
- {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(final AjaxRequestTarget target)
- {
- onClick();
- AjaxFallbackOrderByLink.this.onClick(target);
- }
-
- @Override
- protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
- {
- super.updateAjaxAttributes(attributes);
- attributes.setPreventDefault(true);
-
- AjaxFallbackOrderByLink.this.updateAjaxAttributes(attributes);
- }
- };
- }
-
- protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
- {
- }
-
- /**
- * Callback method when an ajax click occurs. All the behavior of changing the sort, etc is
- * already performed before this is called so this method should primarily be used to configure
- * the target.
- *
- * @param target
- */
- @Override
- public abstract void onClick(AjaxRequestTarget target);
-
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxOrderByLink.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxOrderByLink.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxOrderByLink.java
new file mode 100644
index 0000000..ecca89c
--- /dev/null
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxOrderByLink.java
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.extensions.ajax.markup.html.repeater.data.sort;
+
+import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
+import org.apache.wicket.ajax.markup.html.IAjaxLink;
+import org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator;
+import org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink;
+
+
+/**
+ * Ajaxified {@link OrderByLink}
+ *
+ * @param <S>
+ * the type of the sort property
+ * @see OrderByLink
+ */
+public abstract class AjaxOrderByLink<S> extends OrderByLink<S> implements IAjaxLink
+{
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Constructor
+ *
+ * @param id
+ * @param sortProperty
+ * @param stateLocator
+ */
+ public AjaxOrderByLink(final String id, final S sortProperty,
+ final ISortStateLocator<S> stateLocator)
+ {
+ super(id, sortProperty, stateLocator);
+ }
+
+ @Override
+ public void onInitialize()
+ {
+ super.onInitialize();
+
+ add(newAjaxEventBehavior("click"));
+ }
+
+ /**
+ * @param event
+ * the name of the default event on which this link will listen to
+ * @return the ajax behavior which will be executed when the user clicks the link
+ */
+ protected AjaxEventBehavior newAjaxEventBehavior(final String event)
+ {
+ return new AjaxEventBehavior(event)
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onEvent(final AjaxRequestTarget target)
+ {
+ onClick();
+ AjaxOrderByLink.this.onClick(target);
+ }
+
+ @Override
+ protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
+ {
+ super.updateAjaxAttributes(attributes);
+ attributes.setPreventDefault(true);
+
+ AjaxOrderByLink.this.updateAjaxAttributes(attributes);
+ }
+ };
+ }
+
+ protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
+ {
+ }
+
+ /**
+ * Callback method when an ajax click occurs. All the behavior of changing the sort, etc is
+ * already performed before this is called so this method should primarily be used to configure
+ * the target.
+ *
+ * @param target
+ */
+ @Override
+ public abstract void onClick(AjaxRequestTarget target);
+
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/tabs/AjaxTabbedPanel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/tabs/AjaxTabbedPanel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/tabs/AjaxTabbedPanel.java
index e3e0e6f..db08078 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/tabs/AjaxTabbedPanel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/tabs/AjaxTabbedPanel.java
@@ -17,6 +17,7 @@
package org.apache.wicket.extensions.ajax.markup.html.tabs;
import java.util.List;
+import java.util.Optional;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
@@ -72,20 +73,15 @@ public class AjaxTabbedPanel<T extends ITab> extends TabbedPanel<T>
{
return new AjaxFallbackLink<Void>(linkId)
{
-
private static final long serialVersionUID = 1L;
@Override
- public void onClick(final AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
setSelectedTab(index);
- if (target != null)
- {
- target.add(AjaxTabbedPanel.this);
- }
- onAjaxUpdate(target);
+ targetOptional.ifPresent(target -> target.add(AjaxTabbedPanel.this));
+ onAjaxUpdate(targetOptional);
}
-
};
}
@@ -97,11 +93,11 @@ public class AjaxTabbedPanel<T extends ITab> extends TabbedPanel<T>
* <strong>Note</strong> Since an {@link AjaxFallbackLink} is used to back the ajax update the
* <code>target</code> argument can be null when the client browser does not support ajax and
* the fallback mode is used. See {@link AjaxFallbackLink} for details.
- *
+ *
* @param target
* ajax target used to update this component
*/
- protected void onAjaxUpdate(final AjaxRequestTarget target)
+ protected void onAjaxUpdate(final Optional<AjaxRequestTarget> target)
{
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
index 439c0c7..2bcf921 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.extensions.markup.html.repeater.tree;
+import java.util.Optional;
import java.util.Set;
import org.apache.wicket.Component;
@@ -314,12 +315,12 @@ public abstract class AbstractTree<T> extends Panel implements IGenericComponent
* @param target
* request target or {@code null}
*/
- public abstract void updateNode(T node, final IPartialPageRequestHandler target);
+ public abstract void updateNode(T node, final Optional<? extends IPartialPageRequestHandler> target);
/**
* The state of a node.
*/
- public static enum State {
+ public enum State {
/**
* The node is collapsed, i.e. its children are not iterated.
*/
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
index 41dfa79..f41be80 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
@@ -16,10 +16,10 @@
*/
package org.apache.wicket.extensions.markup.html.repeater.tree;
+import java.util.Optional;
import java.util.Set;
import org.apache.wicket.Component;
-import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.extensions.markup.html.repeater.tree.nested.BranchItem;
import org.apache.wicket.extensions.markup.html.repeater.tree.nested.Subtree;
@@ -37,7 +37,6 @@ import org.apache.wicket.util.visit.IVisitor;
*/
public abstract class NestedTree<T> extends AbstractTree<T>
{
-
private static final long serialVersionUID = 1L;
/**
@@ -89,7 +88,7 @@ public abstract class NestedTree<T> extends AbstractTree<T>
/**
* Overridden to let the node output its markup id.
*
- * @see #updateNode(Object, IPartialPageRequestHandler)
+ * @see #updateNode(Object, Optional<IPartialPageRequestHandler>)
* @see Component#setOutputMarkupId(boolean)
*/
@Override
@@ -132,10 +131,9 @@ public abstract class NestedTree<T> extends AbstractTree<T>
* Overridden to update the corresponding {@link Node} only.
*/
@Override
- public void updateNode(T node, final IPartialPageRequestHandler target)
+ public void updateNode(T node, final Optional<? extends IPartialPageRequestHandler> targetOptional)
{
- if (target != null)
- {
+ targetOptional.ifPresent(target -> {
final IModel<T> model = getProvider().model(node);
visitChildren(Node.class, new IVisitor<Node<T>, Void>()
{
@@ -152,7 +150,7 @@ public abstract class NestedTree<T> extends AbstractTree<T>
}
});
model.detach();
- }
+ });
}
private class RootsModel extends AbstractReadOnlyModel<T>
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
index 26c0685..e48a34c 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.extensions.markup.html.repeater.tree;
+import java.util.Optional;
+
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -115,7 +117,7 @@ public abstract class Node<T> extends Panel
private static final long serialVersionUID = 1L;
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
toggle();
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
index 01d00c1..df61813 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
@@ -17,9 +17,9 @@
package org.apache.wicket.extensions.markup.html.repeater.tree;
import java.util.List;
+import java.util.Optional;
import java.util.Set;
-import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
@@ -184,10 +184,9 @@ public abstract class TableTree<T, S> extends AbstractTree<T>
* For an update of a node the complete row item is added to the ART.
*/
@Override
- public void updateNode(T t, final IPartialPageRequestHandler target)
+ public void updateNode(T t, final Optional<? extends IPartialPageRequestHandler> targetOptional)
{
- if (target != null)
- {
+ targetOptional.ifPresent(target -> {
final IModel<T> model = getProvider().model(t);
visitChildren(Item.class, new IVisitor<Item<T>, Void>()
{
@@ -207,7 +206,7 @@ public abstract class TableTree<T, S> extends AbstractTree<T>
}
});
model.detach();
- }
+ });
}
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/content/Folder.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/content/Folder.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/content/Folder.java
index ee8159f..8130d72 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/content/Folder.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/content/Folder.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.extensions.markup.html.repeater.tree.content;
+import java.util.Optional;
+
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.core.util.string.CssUtils;
import org.apache.wicket.extensions.markup.html.repeater.tree.AbstractTree;
@@ -28,13 +30,12 @@ import org.apache.wicket.model.IModel;
*
* The link is used to expand/collapse the tree depending on the {@link State} of the current node.
* Nodes without children are not clickable. Subclasses may change this behavior by overriding
- * {@link #isClickable()} and {@link #onClick(AjaxRequestTarget)}.
+ * {@link #isClickable()} and {@link #onClick(Optional<AjaxRequestTarget>)}.
*
* @author svenmeier
*/
public class Folder<T> extends StyledLinkLabel<T>
{
-
private static final long serialVersionUID = 1L;
public static final String OTHER_CSS_CLASS_KEY = CssUtils.key(Folder.class, "other");
@@ -71,7 +72,7 @@ public class Folder<T> extends StyledLinkLabel<T>
* Toggle the node's {@link State} on click.
*/
@Override
- protected void onClick(AjaxRequestTarget target)
+ protected void onClick(Optional<AjaxRequestTarget> targetOptional)
{
T t = getModelObject();
if (tree.getState(t) == State.EXPANDED)
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/content/StyledLinkLabel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/content/StyledLinkLabel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/content/StyledLinkLabel.java
index a26c6d3..3d2bd25 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/content/StyledLinkLabel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/content/StyledLinkLabel.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.extensions.markup.html.repeater.tree.content;
+import java.util.Optional;
+
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -66,10 +68,10 @@ public abstract class StyledLinkLabel<T> extends Panel
* Hook method to create a new link component.
*
* This default implementation returns an {@link AjaxFallbackLink} which invokes
- * {@link #onClick(AjaxRequestTarget)} only if {@link #isClickable()} returns <code>true</code>.
+ * {@link #onClick(Optional<AjaxRequestTarget>)} only if {@link #isClickable()} returns <code>true</code>.
*
* @see #isClickable()
- * @see #onClick(AjaxRequestTarget)
+ * @see #onClick(Optional<AjaxRequestTarget>)
*/
protected MarkupContainer newLinkComponent(String id, IModel<T> model)
{
@@ -84,9 +86,9 @@ public abstract class StyledLinkLabel<T> extends Panel
}
@Override
- public void onClick(AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
- StyledLinkLabel.this.onClick(target);
+ StyledLinkLabel.this.onClick(targetOptional);
}
};
}
@@ -140,7 +142,7 @@ public abstract class StyledLinkLabel<T> extends Panel
* @see #newLinkComponent(String, IModel)
* @see #isClickable()
*/
- protected void onClick(AjaxRequestTarget target)
+ protected void onClick(Optional<AjaxRequestTarget> target)
{
}
@@ -163,4 +165,4 @@ public abstract class StyledLinkLabel<T> extends Panel
}
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/TreeModelProvider.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/TreeModelProvider.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/TreeModelProvider.java
index 15a9251..c95ff29 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/TreeModelProvider.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/TreeModelProvider.java
@@ -20,6 +20,7 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Optional;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
@@ -189,7 +190,7 @@ public abstract class TreeModelProvider<T> implements ITreeProvider<T>
{
for (T object : nodeUpdates)
{
- tree.updateNode(object, target);
+ tree.updateNode(object, Optional.of(target));
}
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ec1db0f3/wicket-extensions/src/main/java/org/apache/wicket/extensions/rating/RatingPanel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/rating/RatingPanel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/rating/RatingPanel.java
index 4b4753b..528305b 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/rating/RatingPanel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/rating/RatingPanel.java
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.extensions.rating;
+import java.util.Optional;
+
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -38,7 +40,7 @@ import org.apache.wicket.request.resource.ResourceReference;
/**
* Rating component that generates a number of stars where a user can click on to rate something.
- * Subclasses should implement {@link #onRated(int, org.apache.wicket.ajax.AjaxRequestTarget)} to provide the calculation
+ * Subclasses should implement {@link #onRated(int, Optional)} to provide the calculation
* of the rating, and {@link #onIsStarActive(int)} to indicate whether to render an active star or
* an inactive star.
* <p>
@@ -119,7 +121,7 @@ public abstract class RatingPanel extends Panel
private static final long serialVersionUID = 1L;
@Override
- public void onClick(final AjaxRequestTarget target)
+ public void onClick(Optional<AjaxRequestTarget> targetOptional)
{
LoopItem item = (LoopItem)getParent();
@@ -127,13 +129,11 @@ public abstract class RatingPanel extends Panel
// of our rating component, so other components can also get
// updated in case of an AJAX event.
- onRated(item.getIndex() + 1, target);
+ onRated(item.getIndex() + 1, targetOptional);
// if we process an AJAX event, update this panel
- if (target != null)
- {
- target.add(RatingPanel.this.get("rater"));
- }
+ targetOptional.ifPresent(target -> target.add(RatingPanel.this.get("rater")));
+
}
@Override
@@ -427,11 +427,9 @@ public abstract class RatingPanel extends Panel
* Notification of a click on a rating star. Add your own components to the request target when
* you want to have them updated in the Ajax request. <strong>NB</strong> the target may be null
* when the click isn't handled using AJAX, but using a fallback scenario.
- *
- * @param rating
+ * @param rating
* the number of the star that is clicked, ranging from 1 to nrOfStars
* @param target
- * the request target, null if the request is a regular, non-AJAX request.
*/
- protected abstract void onRated(int rating, AjaxRequestTarget target);
+ protected abstract void onRated(int rating, Optional<AjaxRequestTarget> target);
}