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)

Reply via email to