WICKET-6189 RequestCycle.find() returns Optional now
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/fc92b5d5 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/fc92b5d5 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/fc92b5d5 Branch: refs/heads/master Commit: fc92b5d5d892444106c3b47489e1b06a908e70dc Parents: 52afdbd Author: Sven Meier <[email protected]> Authored: Tue Jun 21 20:02:03 2016 +0200 Committer: Sven Meier <[email protected]> Committed: Fri Jun 24 08:51:57 2016 +0200 ---------------------------------------------------------------------- .../wicket/cdi/ConversationExpiryChecker.java | 2 +- .../wicket/cdi/ConversationExpiryChecker.java | 2 +- .../wicket/ajax/AbstractAjaxTimerBehavior.java | 14 +++------- .../markup/html/form/AjaxFallbackButton.java | 6 ++--- .../wicket/markup/head/CssHeaderItem.java | 2 +- .../markup/head/JavaScriptHeaderItem.java | 2 +- .../wicket/markup/head/ResourceAggregator.java | 6 ++--- .../head/filter/FilteringHeaderResponse.java | 2 +- .../apache/wicket/markup/html/form/Form.java | 6 ++--- .../apache/wicket/markup/html/image/Image.java | 2 +- .../wicket/request/cycle/RequestCycle.java | 27 +++++++++++--------- .../html/internal/HeaderResponseTest.java | 2 ++ .../AbstractTransformerBehaviorTest.java | 2 +- .../extensions/yui/calendar/DatePicker.java | 7 ++--- .../examples/resourcedecoration/HomePage.java | 2 +- .../content/CheckedSelectableFolderContent.java | 2 +- .../ajax/markup/html/AjaxEditableLabel.java | 7 +---- .../ajax/markup/html/AjaxIndicatorAppender.java | 6 ++--- .../markup/html/repeater/tree/AbstractTree.java | 6 ++--- .../markup/html/repeater/tree/NestedTree.java | 7 +++-- .../markup/html/repeater/tree/TableTree.java | 9 +++---- .../html/repeater/util/TreeModelProvider.java | 4 +-- .../protocol/ws/api/WebSocketBehavior.java | 2 +- 23 files changed, 54 insertions(+), 73 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationExpiryChecker.java ---------------------------------------------------------------------- diff --git a/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationExpiryChecker.java b/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationExpiryChecker.java index 1d6d89a..3e2bc94 100644 --- a/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationExpiryChecker.java +++ b/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationExpiryChecker.java @@ -55,7 +55,7 @@ public class ConversationExpiryChecker implements IComponentOnBeforeRenderListen @Override public void onBeforeRender(Component component) { - if (component instanceof Page || RequestCycle.get().find(IPartialPageRequestHandler.class) != null) + if (component instanceof Page || RequestCycle.get().find(IPartialPageRequestHandler.class).isPresent()) { Page page = component.getPage(); String cid = ConversationPropagator.getConversationIdFromPage(page); http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-cdi/src/main/java/org/apache/wicket/cdi/ConversationExpiryChecker.java ---------------------------------------------------------------------- diff --git a/wicket-cdi/src/main/java/org/apache/wicket/cdi/ConversationExpiryChecker.java b/wicket-cdi/src/main/java/org/apache/wicket/cdi/ConversationExpiryChecker.java index 2c442ad..8881485 100644 --- a/wicket-cdi/src/main/java/org/apache/wicket/cdi/ConversationExpiryChecker.java +++ b/wicket-cdi/src/main/java/org/apache/wicket/cdi/ConversationExpiryChecker.java @@ -57,7 +57,7 @@ public class ConversationExpiryChecker implements IComponentOnBeforeRenderListen @Override public void onBeforeRender(Component component) { - if (component instanceof Page || RequestCycle.get().find(IPartialPageRequestHandler.class) != null) + if (component instanceof Page || RequestCycle.get().find(IPartialPageRequestHandler.class).isPresent()) { Page page = component.getPage(); String cid = container.getConversationMarker(page); http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java index da75a99..bcb0cd6 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java @@ -91,7 +91,7 @@ public abstract class AbstractAjaxTimerBehavior extends AbstractDefaultAjaxBehav { super.renderHead(component, response); - if (component.getRequestCycle().find(IPartialPageRequestHandler.class) == null) + if (component.getRequestCycle().find(IPartialPageRequestHandler.class).isPresent() == false) { // complete page is rendered, so timeout has to be rendered again hasTimeout = false; @@ -233,21 +233,13 @@ public abstract class AbstractAjaxTimerBehavior extends AbstractDefaultAjaxBehav @Override public void onRemove(Component component) { - IPartialPageRequestHandler target = component.getRequestCycle().find(IPartialPageRequestHandler.class); - if (target != null) - { - clearTimeout(target.getHeaderResponse()); - } + component.getRequestCycle().find(IPartialPageRequestHandler.class).ifPresent(target -> clearTimeout(target.getHeaderResponse())); } @Override protected void onUnbind() { - IPartialPageRequestHandler target = getComponent().getRequestCycle().find(IPartialPageRequestHandler.class); - if (target != null) - { - clearTimeout(target.getHeaderResponse()); - } + getComponent().getRequestCycle().find(IPartialPageRequestHandler.class).ifPresent(target -> clearTimeout(target.getHeaderResponse())); } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/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 cbe6d0c..8fd7ad8 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 @@ -126,7 +126,7 @@ public abstract class AjaxFallbackButton extends Button @Override public final void onError() { - if (getRequestCycle().find(AjaxRequestTarget.class) == null) + if (getRequestCycle().find(AjaxRequestTarget.class).isPresent() == false) { onError(null); } @@ -138,7 +138,7 @@ public abstract class AjaxFallbackButton extends Button @Override public final void onSubmit() { - if (getRequestCycle().find(AjaxRequestTarget.class) == null) + if (getRequestCycle().find(AjaxRequestTarget.class).isPresent() == false) { onSubmit(Optional.empty()); } @@ -150,7 +150,7 @@ public abstract class AjaxFallbackButton extends Button @Override public final void onAfterSubmit() { - if (getRequestCycle().find(AjaxRequestTarget.class) == null) + if (getRequestCycle().find(AjaxRequestTarget.class).isPresent() == false) { onAfterSubmit(null); } http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/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 4f25a75..aab17c9 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 @@ -275,7 +275,7 @@ public abstract class CssHeaderItem extends HeaderItem boolean hasCondition = Strings.isEmpty(condition) == false; if (hasCondition) { - if (RequestCycle.get().find(IPartialPageRequestHandler.class) != null) + if (RequestCycle.get().find(IPartialPageRequestHandler.class).isPresent()) { // WICKET-4894 logger.warn("IE CSS engine doesn't support dynamically injected links in " + http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/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 41f8372..920ba5d 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 @@ -360,7 +360,7 @@ public abstract class JavaScriptHeaderItem extends HeaderItem response.write("]>"); } - boolean isAjax = RequestCycle.get().find(IPartialPageRequestHandler.class) != null; + boolean isAjax = RequestCycle.get().find(IPartialPageRequestHandler.class).isPresent(); // the url needs to be escaped when Ajax, because it will break the Ajax Response XML (WICKET-4777) CharSequence escapedUrl = isAjax ? Strings.escapeMarkup(url): url; http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java index 2defe59..ad7d366 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java @@ -279,13 +279,13 @@ public class ResourceAggregator extends DecoratingHeaderResponse { renderHeaderItems(); - if (RequestCycle.get().find(IPartialPageRequestHandler.class) == null) + if (RequestCycle.get().find(IPartialPageRequestHandler.class).isPresent()) { - renderCombinedEventScripts(); + renderSeperateEventScripts(); } else { - renderSeperateEventScripts(); + renderCombinedEventScripts(); } super.close(); } http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java index 444bb8c..8dee02e 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java @@ -287,7 +287,7 @@ public class FilteringHeaderResponse extends DecoratingHeaderResponse protected void render(HeaderItem item, List<HeaderItem> filteredItems) { - if (RequestCycle.get().find(IPartialPageRequestHandler.class) != null) + if (RequestCycle.get().find(IPartialPageRequestHandler.class).isPresent()) { // we're in an ajax request, so we don't filter and separate stuff.... getRealResponse().render(item); http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java index ea1788b..e8b61e7 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java @@ -811,9 +811,7 @@ public class Form<T> extends WebMarkupContainer } // update auto labels if we are inside an ajax request - final AjaxRequestTarget target = getRequestCycle().find(AjaxRequestTarget.class); - if (target != null) - { + getRequestCycle().find(AjaxRequestTarget.class).ifPresent(target -> { visitChildren(FormComponent.class, new IVisitor<FormComponent<?>, Void>() { @Override @@ -822,7 +820,7 @@ public class Form<T> extends WebMarkupContainer component.updateAutoLabels(target); } }); - } + }); } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java index ddbc84c..7aa9b85 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java @@ -540,7 +540,7 @@ public class Image extends WebComponent implements IRequestListener */ protected boolean shouldAddAntiCacheParameter() { - return getRequestCycle().find(IPartialPageRequestHandler.class) != null; + return getRequestCycle().find(IPartialPageRequestHandler.class).isPresent(); } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java index ae069bb..272fcde 100644 --- a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java +++ b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java @@ -16,6 +16,8 @@ */ package org.apache.wicket.request.cycle; +import java.util.Optional; + import org.apache.wicket.Application; import org.apache.wicket.MetaDataEntry; import org.apache.wicket.MetaDataKey; @@ -36,10 +38,10 @@ import org.apache.wicket.request.IRequestHandler; import org.apache.wicket.request.IRequestMapper; import org.apache.wicket.request.Request; import org.apache.wicket.request.RequestHandlerExecutor; +import org.apache.wicket.request.RequestHandlerExecutor.ReplaceHandlerException; import org.apache.wicket.request.Response; import org.apache.wicket.request.Url; import org.apache.wicket.request.UrlRenderer; -import org.apache.wicket.request.RequestHandlerExecutor.ReplaceHandlerException; import org.apache.wicket.request.component.IRequestablePage; import org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler; import org.apache.wicket.request.handler.resource.ResourceRequestHandler; @@ -868,28 +870,29 @@ public class RequestCycle implements IRequestCycle, IEventSink * Finds a IRequestHandler which is either the currently executing handler or is scheduled to be * executed. * - * @return the found IRequestHandler or {@code null} + * @return the found IRequestHandler or {@link Optional#empty()} */ @SuppressWarnings("unchecked") - public <T extends IRequestHandler> T find(final Class<T> type) + public <T extends IRequestHandler> Optional<T> find(final Class<T> type) { if (type == null) { - return null; + return Optional.empty(); } IRequestHandler result = getActiveRequestHandler(); - - if (result == null || type.isAssignableFrom(result.getClass()) == false) + if (type.isInstance(result)) { - result = getRequestHandlerScheduledAfterCurrent(); - if (result == null || type.isAssignableFrom(result.getClass()) == false) - { - result = null; - } + return (Optional<T>)Optional.of(result); + } + + result = getRequestHandlerScheduledAfterCurrent(); + if (type.isInstance(result)) + { + return (Optional<T>)Optional.of(result); } - return (T)result; + return Optional.empty(); } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/HeaderResponseTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/HeaderResponseTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/HeaderResponseTest.java index 5c7910e..d0b9978 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/HeaderResponseTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/HeaderResponseTest.java @@ -21,6 +21,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.nio.charset.Charset; +import java.util.Optional; import org.apache.wicket.ThreadContext; import org.apache.wicket.markup.head.CssHeaderItem; @@ -82,6 +83,7 @@ public class HeaderResponseTest RequestCycle requestCycle = mock(RequestCycle.class); when(requestCycle.urlFor(any(IRequestHandler.class))).thenReturn(RESOURCE_NAME); + when(requestCycle.find(any())).thenReturn(Optional.empty()); Request request = mock(Request.class); when(request.getCharset()).thenReturn(Charset.defaultCharset()); http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-core/src/test/java/org/apache/wicket/markup/transformer/AbstractTransformerBehaviorTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/transformer/AbstractTransformerBehaviorTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/transformer/AbstractTransformerBehaviorTest.java index e8e6b10..adc3024 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/transformer/AbstractTransformerBehaviorTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/markup/transformer/AbstractTransformerBehaviorTest.java @@ -88,7 +88,7 @@ public class AbstractTransformerBehaviorTest extends WicketTestCase throws Exception { CharSequence result; - if (getRequestCycle().find(AjaxRequestTarget.class) != null) + if (getRequestCycle().find(AjaxRequestTarget.class).isPresent()) { result = "ajax request"; } http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java ---------------------------------------------------------------------- diff --git a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java index 45f58eb..e83a9d5 100644 --- a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java +++ b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java @@ -33,7 +33,6 @@ import org.apache.wicket.Application; import org.apache.wicket.Component; import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.ajax.AjaxEventBehavior; -import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.behavior.Behavior; import org.apache.wicket.core.request.handler.IPartialPageRequestHandler; import org.apache.wicket.datetime.markup.html.form.DateTextField; @@ -270,9 +269,7 @@ public class DatePicker extends Behavior // remove previously generated markup (see onRendered) via javascript in // ajax requests to not render the yui calendar multiple times - IPartialPageRequestHandler target = component.getRequestCycle().find(IPartialPageRequestHandler.class); - if (target != null) - { + component.getRequestCycle().find(IPartialPageRequestHandler.class).ifPresent(target -> { String escapedComponentMarkupId = getEscapedComponentMarkupId(); String javascript = "var e = Wicket.$('" + escapedComponentMarkupId + "Dp" + "'); if (e != null && typeof(e.parentNode) != 'undefined' && " + @@ -282,7 +279,7 @@ public class DatePicker extends Behavior escapedComponentMarkupId + "DpJs;}"; target.prependJavaScript(javascript); - } + }); } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/HomePage.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/HomePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/HomePage.java index fd59c14..642e3cf 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/HomePage.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/HomePage.java @@ -129,7 +129,7 @@ public class HomePage extends WicketExamplePage @Override public void renderHead(IHeaderResponse response) { - if (getRequestCycle().find(AjaxRequestTarget.class) != null) + if (getRequestCycle().find(AjaxRequestTarget.class).isPresent()) { response.render(CssHeaderItem.forReference(new PackageResourceReference( HomePage.class, "ajax.css"))); http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/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 6dd1532..9ca44d3 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 @@ -63,7 +63,7 @@ public class CheckedSelectableFolderContent extends SelectableFolderContent foo = foo.getParent(); } - tree.updateBranch(foo, target); + tree.updateBranch(foo, Optional.of(target)); } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java index 2c4752e..85d8239 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java @@ -102,12 +102,7 @@ public class AjaxEditableLabel<T> extends Panel implements IGenericComponent<T, { super.renderHead(component, response); - IPartialPageRequestHandler target = getRequestCycle().find(IPartialPageRequestHandler.class); - if (target != null) - { - CharSequence callbackScript = getCallbackScript(component); - target.appendJavaScript(callbackScript); - } + getRequestCycle().find(IPartialPageRequestHandler.class).ifPresent(target -> target.appendJavaScript(getCallbackScript(component))); } @Override http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java index 9d32372..5e9cde1 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxIndicatorAppender.java @@ -65,14 +65,12 @@ public class AjaxIndicatorAppender extends Behavior { super.renderHead(component, response); - IPartialPageRequestHandler target = component.getRequestCycle().find(IPartialPageRequestHandler.class); - if (target != null) - { + component.getRequestCycle().find(IPartialPageRequestHandler.class).ifPresent(target -> { final String javascript = "var e = Wicket.$('" + getMarkupId() + "'); if (e != null && typeof(e.parentNode) != 'undefined') e.parentNode.removeChild(e);"; target.prependJavaScript(javascript); - } + }); } http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/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 3b29de9..ada9f4b 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 @@ -248,18 +248,18 @@ public abstract class AbstractTree<T> extends Panel implements IGenericComponent /** * Convenience method to update a single branch on an {@link AjaxRequestTarget}. Does nothing if - * the given node is currently not visible or target is <code>null</code>. + * the given node is currently not visible or target is not present. * * @param node * node to update * @param target * request target */ - public abstract void updateBranch(T node, final IPartialPageRequestHandler target); + public abstract void updateBranch(T node, final Optional<? extends IPartialPageRequestHandler> target); /** * Convenience method to update a single node on an {@link AjaxRequestTarget}. Does nothing if - * the given node is currently not visible or target is {@code null}. + * the given node is currently not visible or target is not present. * * @param node * node to update http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/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 4f75e19..faa15fd 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 @@ -104,10 +104,9 @@ public abstract class NestedTree<T> extends AbstractTree<T> * Overridden to update the corresponding {@link BranchItem} only. */ @Override - public void updateBranch(T t, final IPartialPageRequestHandler target) + public void updateBranch(T t, final Optional<? extends IPartialPageRequestHandler> handler) { - if (target != null) - { + handler.ifPresent(target -> { final IModel<T> model = getProvider().model(t); visitChildren(BranchItem.class, new IVisitor<BranchItem<T>, Void>() { @@ -123,7 +122,7 @@ public abstract class NestedTree<T> extends AbstractTree<T> } }); model.detach(); - } + }); } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/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 0ae190f..f5831f1 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 @@ -171,13 +171,10 @@ public abstract class TableTree<T, S> extends AbstractTree<T> * For updating of a single branch the whole table is added to the ART. */ @Override - public void updateBranch(T node, IPartialPageRequestHandler target) + public void updateBranch(T node, Optional<? extends IPartialPageRequestHandler> handler) { - if (target != null) - { - // TableTree always outputs markupId - target.add(this); - } + // TableTree always outputs markupId + handler.ifPresent(target -> target.add(this)); } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/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 c95ff29..779e466 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 @@ -33,7 +33,7 @@ import org.apache.wicket.model.IModel; /** * A provider wrapping a Swing {@link TreeModel}. - * + * <br> * EXPERIMENTAL ! * * @author svenmeier @@ -198,7 +198,7 @@ public abstract class TreeModelProvider<T> implements ITreeProvider<T> { for (T object : branchUpdates) { - tree.updateBranch(object, target); + tree.updateBranch(object, Optional.of(target)); } } } http://git-wip-us.apache.org/repos/asf/wicket/blob/fc92b5d5/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketBehavior.java ---------------------------------------------------------------------- diff --git a/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketBehavior.java b/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketBehavior.java index ca5189e..ead801a 100644 --- a/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketBehavior.java +++ b/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketBehavior.java @@ -53,7 +53,7 @@ public abstract class WebSocketBehavior extends BaseWebSocketBehavior public void renderHead(Component component, IHeaderResponse response) { RequestCycle cycle = component.getRequestCycle(); - if (cycle.find(IPartialPageRequestHandler.class) == null) + if (cycle.find(IPartialPageRequestHandler.class).isPresent() == false) { Object contributed = cycle.getMetaData(IS_JAVA_SCRIPT_CONTRIBUTED); if (contributed == null)
