You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Martin Grigorov <mg...@apache.org> on 2017/01/30 16:01:03 UTC
Re: wicket git commit: WICKET-6137 renamed ListenerInterfaceRequestHandler
to ListenerRequestHandler
What
about org.apache.wicket.core.request.handler.BookmarkableListenerInterfaceRequestHandler
?
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov
On Mon, Jan 30, 2017 at 4:51 PM, <sv...@apache.org> wrote:
> Repository: wicket
> Updated Branches:
> refs/heads/master 16e44ce98 -> 8342e4ef9
>
>
> WICKET-6137 renamed ListenerInterfaceRequestHandler to
> ListenerRequestHandler
>
> there isn't a ..ListenerInterface any more
>
>
> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8342e4ef
> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8342e4ef
> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8342e4ef
>
> Branch: refs/heads/master
> Commit: 8342e4ef9acd442ddfe7ad78d04838d17c1b9fec
> Parents: 16e44ce
> Author: Sven Meier <sv...@apache.org>
> Authored: Mon Jan 30 16:50:26 2017 +0100
> Committer: Sven Meier <sv...@apache.org>
> Committed: Mon Jan 30 16:50:26 2017 +0100
>
> ----------------------------------------------------------------------
> .../main/java/org/apache/wicket/Component.java | 4 +-
> ...markableListenerInterfaceRequestHandler.java | 2 +-
> .../ListenerInterfaceRequestHandler.java | 327 -------------------
> .../request/handler/ListenerRequestHandler.java | 327 +++++++++++++++++++
> .../logger/ListenerInterfaceLogData.java | 214 ------------
> .../request/handler/logger/ListenerLogData.java | 214 ++++++++++++
> .../mapper/AbstractBookmarkableMapper.java | 4 +-
> .../core/request/mapper/MountedMapper.java | 6 +-
> .../core/request/mapper/PageInstanceMapper.java | 8 +-
> .../wicket/util/tester/BaseWicketTester.java | 6 +-
> .../org/apache/wicket/BehaviorRequestTest.java | 4 +-
> .../ComponentWithLazyModelCreationTest.java | 4 +-
> .../ListenerInterfaceRequestHandlerTest.java | 208 ------------
> .../handler/ListenerRequestHandlerTest.java | 208 ++++++++++++
> .../request/mapper/BookmarkableMapperTest.java | 18 +-
> .../core/request/mapper/CryptoMapperTest.java | 14 +-
> .../core/request/mapper/MountedMapperTest.java | 26 +-
> .../core/request/mapper/PackageMapperTest.java | 18 +-
> .../request/mapper/PageInstanceMapperTest.java | 16 +-
> .../wicket/examples/ajax/prototype/Index.java | 5 +-
> 20 files changed, 816 insertions(+), 817 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/Component.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java
> b/wicket-core/src/main/java/org/apache/wicket/Component.java
> index 97262ed..a6aa54f 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/Component.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
> @@ -32,7 +32,7 @@ import org.apache.wicket.authorization.
> UnauthorizedActionException;
> import org.apache.wicket.authorization.strategies.page.
> SimplePageAuthorizationStrategy;
> import org.apache.wicket.behavior.Behavior;
> import org.apache.wicket.core.request.handler.
> BookmarkableListenerInterfaceRequestHandler;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.core.util.lang.WicketObjects;
> import org.apache.wicket.core.util.string.ComponentStrings;
> @@ -3396,7 +3396,7 @@ public abstract class Component
> }
> else
> {
> - return new ListenerInterfaceRequestHandler(provider,
> id);
> + return new ListenerRequestHandler(provider, id);
> }
> }
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
> BookmarkableListenerInterfaceRequestHandler.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
> request/handler/BookmarkableListenerInterfaceRequestHandler.java
> b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
> BookmarkableListenerInterfaceRequestHandler.java
> index b3de191..772e215 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
> BookmarkableListenerInterfaceRequestHandler.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
> BookmarkableListenerInterfaceRequestHandler.java
> @@ -25,7 +25,7 @@ import org.apache.wicket.util.lang.Args;
>
> /**
> * Request handler for bookmarkable pages with an {@link
> IRequestListener}. This handler is only used to
> - * generate URLs. Rendering is always handled by {@link
> ListenerInterfaceRequestHandler}.
> + * generate URLs. Rendering is always handled by {@link
> ListenerRequestHandler}.
> *
> * @author Matej Knopp
> */
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
> ListenerInterfaceRequestHandler.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
> request/handler/ListenerInterfaceRequestHandler.java
> b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
> ListenerInterfaceRequestHandler.java
> deleted file mode 100644
> index c976a42..0000000
> --- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
> ListenerInterfaceRequestHandler.java
> +++ /dev/null
> @@ -1,327 +0,0 @@
> -/*
> - * 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.core.request.handler;
> -
> -import org.apache.wicket.Component;
> -import org.apache.wicket.IRequestListener;
> -import org.apache.wicket.Page;
> -import org.apache.wicket.WicketRuntimeException;
> -import org.apache.wicket.behavior.Behavior;
> -import org.apache.wicket.core.request.handler.RenderPageRequestHandler.
> RedirectPolicy;
> -import org.apache.wicket.core.request.handler.logger.
> ListenerInterfaceLogData;
> -import org.apache.wicket.request.ILoggableRequestHandler;
> -import org.apache.wicket.request.IRequestCycle;
> -import org.apache.wicket.request.component.IRequestableComponent;
> -import org.apache.wicket.request.component.IRequestablePage;
> -import org.apache.wicket.request.http.WebRequest;
> -import org.apache.wicket.request.mapper.parameter.PageParameters;
> -import org.apache.wicket.util.lang.Args;
> -import org.slf4j.Logger;
> -import org.slf4j.LoggerFactory;
> -
> -/**
> - * Request handler that invokes an {@link IRequestListener} on component
> or behavior and renders page afterwards.
> - *
> - * @author Matej Knopp
> - */
> -public class ListenerInterfaceRequestHandler
> - implements
> - IPageRequestHandler,
> - IComponentRequestHandler,
> - ILoggableRequestHandler
> -{
> -
> - private static final Logger LOG = LoggerFactory.getLogger(
> ListenerInterfaceRequestHandler.class);
> -
> - private final IPageAndComponentProvider pageComponentProvider;
> -
> - private final Integer behaviorId;
> -
> - private ListenerInterfaceLogData logData;
> -
> - /**
> - * Construct.
> - *
> - * @param pageComponentProvider
> - * @param behaviorIndex
> - */
> - public ListenerInterfaceRequestHandler(IPageAndComponentProvider
> pageComponentProvider, Integer behaviorIndex)
> - {
> - Args.notNull(pageComponentProvider,
> "pageComponentProvider");
> -
> - this.pageComponentProvider = pageComponentProvider;
> - behaviorId = behaviorIndex;
> - }
> -
> - /**
> - * Construct.
> - *
> - * @param pageComponentProvider
> - */
> - public ListenerInterfaceRequestHandler(PageAndComponentProvider
> pageComponentProvider)
> - {
> - this(pageComponentProvider, null);
> - }
> -
> - public boolean includeRenderCount() {
> - if (behaviorId == null) {
> - return ((IRequestListener)
> getComponent()).rendersPage();
> - } else {
> - return ((IRequestListener)getComponent().
> getBehaviorById(getBehaviorIndex())).rendersPage();
> - }
> - }
> -
> - @Override
> - public IRequestableComponent getComponent()
> - {
> - return pageComponentProvider.getComponent();
> - }
> -
> - @Override
> - public IRequestablePage getPage()
> - {
> - return pageComponentProvider.getPageInstance();
> - }
> -
> - @Override
> - public Class<? extends IRequestablePage> getPageClass()
> - {
> - return pageComponentProvider.getPageClass();
> - }
> -
> - @Override
> - public Integer getPageId()
> - {
> - return pageComponentProvider.getPageId();
> - }
> -
> - @Override
> - public PageParameters getPageParameters()
> - {
> - return pageComponentProvider.getPageParameters();
> - }
> -
> - @Override
> - public void detach(IRequestCycle requestCycle)
> - {
> - if (logData == null)
> - {
> - logData = new ListenerInterfaceLogData(pageComponentProvider,
> behaviorId);
> - }
> - pageComponentProvider.detach();
> - }
> -
> - /**
> - * Index of target behavior or <code>null</code> if component is
> the target.
> - *
> - * @return behavior index or <code>null</code>
> - */
> - public Integer getBehaviorIndex()
> - {
> - return behaviorId;
> - }
> -
> - @Override
> - public void respond(final IRequestCycle requestCycle)
> - {
> - final IRequestablePage page = getPage();
> - final boolean freshPage = pageComponentProvider.
> isPageInstanceFresh();
> - final boolean isAjax = ((WebRequest)requestCycle.
> getRequest()).isAjax();
> -
> - IRequestableComponent component;
> - try
> - {
> - component = getComponent();
> - }
> - catch (ComponentNotFoundException e)
> - {
> - // either the page is stateless and the component
> we are looking for is not added in the
> - // constructor
> - // or the page is stateful+stale and a new
> instances was created by pageprovider
> - // we denote this by setting component to null
> - component = null;
> - }
> -
> - if ((component == null && !freshPage) || (component !=
> null && component.getPage() != page))
> - {
> - throw new ComponentNotFoundException("Component
> '" + getComponentPath()
> - + "' has been removed from page.");
> - }
> -
> - if (page instanceof Page)
> - {
> - // initialize the page to be able to check whether
> it is stateless
> - ((Page)page).internalInitialize();
> - }
> -
> - RedirectPolicy policy = page.isPageStateless()
> - ? RedirectPolicy.NEVER_REDIRECT
> - : RedirectPolicy.AUTO_REDIRECT;
> -
> - boolean blockIfExpired = component != null && !component.
> canCallListenerInterfaceAfterExpiry();
> -
> - boolean lateComponent = component == null && freshPage;
> -
> - if ((pageComponentProvider.wasExpired() &&
> blockIfExpired) || lateComponent)
> - {
> - // A request listener is invoked on an expired
> page or the component couldn't be
> - // determined. The best we can do is to re-paint
> the newly constructed page.
> - // Reference: WICKET-4454, WICKET-6288
> -
> - if (LOG.isDebugEnabled())
> - {
> - LOG.debug(
> - "An IRequestListener was called
> but its page/component({}) couldn't be resolved. "
> - + "Scheduling re-create of
> the page and ignoring the listener interface...",
> - getComponentPath());
> - }
> -
> - if (isAjax)
> - {
> - policy = RedirectPolicy.ALWAYS_REDIRECT;
> - }
> -
> - requestCycle.scheduleRequestHandlerAfterCurrent(new
> RenderPageRequestHandler(
> - new PageProvider(page), policy));
> - return;
> - }
> -
> - invokeListener(requestCycle, policy, isAjax);
> - }
> -
> - private void invokeListener(IRequestCycle requestCycle,
> RedirectPolicy policy, boolean ajax)
> - {
> - if (getBehaviorIndex() == null)
> - {
> - invoke(requestCycle, policy, ajax, getComponent());
> - }
> - else
> - {
> - try
> - {
> - Behavior behavior = getComponent().
> getBehaviorById(behaviorId);
> - invoke(requestCycle, policy, ajax,
> getComponent(), behavior);
> - }
> - catch (IndexOutOfBoundsException e)
> - {
> - throw new WicketRuntimeException("Couldn't
> find component behavior.", e);
> - }
> -
> - }
> - }
> -
> - /**
> - * Invokes a given interface on a component.
> - *
> - * @param rcomponent
> - * The component
> - *
> - * @throws ListenerInvocationNotAllowedException
> - * when listener invocation attempted on a component
> that does not allow it
> - */
> - private final void invoke(final IRequestCycle requestCycle,
> RedirectPolicy policy, boolean ajax, final IRequestableComponent rcomponent)
> - {
> - // we are in Wicket core land
> - final Component component = (Component)rcomponent;
> -
> - if (!component.canCallListenerInterface())
> - {
> - // just return so that we have a silent fail and
> just re-render the
> - // page
> - LOG.info("component not enabled or visible;
> ignoring call. Component: " + component);
> - throw new ListenerInvocationNotAllowedException(component,
> null,
> - "Component rejected interface invocation");
> - }
> -
> - internalInvoke(requestCycle, policy, ajax, component,
> component);
> - }
> -
> - /**
> - * Invokes a given interface on a component's behavior.
> - *
> - * @param rcomponent
> - * The component
> - * @param behavior
> - * @throws ListenerInvocationNotAllowedException
> - * when listener invocation attempted on a component
> that does not allow it
> - */
> - private final void invoke(final IRequestCycle requestCycle,
> RedirectPolicy policy, boolean ajax, final IRequestableComponent
> rcomponent, final Behavior behavior)
> - {
> - // we are in Wicket core land
> - final Component component = (Component)rcomponent;
> -
> - if (!behavior.canCallListenerInterface(component))
> - {
> - LOG.warn("behavior not enabled; ignore call.
> Behavior {} at component {}", behavior,
> - component);
> - throw new ListenerInvocationNotAllowedException(component,
> behavior,
> - "Behavior rejected interface invocation.
> ");
> - }
> -
> - internalInvoke(requestCycle, policy, ajax, component,
> behavior);
> - }
> -
> - private void internalInvoke(final IRequestCycle requestCycle,
> RedirectPolicy policy, boolean ajax, final Component component, final
> Object target)
> - {
> - // save a reference to the page because the component can
> be removed
> - // during the invocation of the listener and thus lose its
> parent
> - Page page = component.getPage();
> -
> - // initialization is required for stateless pages
> - if (!page.isInitialized())
> - {
> - page.internalInitialize();
> - }
> -
> - IRequestListener requestListener =
> (IRequestListener)target;
> -
> - if (requestListener.rendersPage() && !ajax)
> - {
> - // schedule page render after current request
> handler is done. this can be
> - // overridden during invocation of listener
> - // method (i.e. by calling
> RequestCycle#setResponsePage)
> - requestCycle.scheduleRequestHandlerAfterCurrent(new
> RenderPageRequestHandler(
> - new PageProvider(page), policy));
> - }
> -
> - requestListener.onRequest();
> - }
> -
> - @Override
> - public final boolean isPageInstanceCreated()
> - {
> - return pageComponentProvider.hasPageInstance();
> - }
> -
> - @Override
> - public final String getComponentPath()
> - {
> - return pageComponentProvider.getComponentPath();
> - }
> -
> - @Override
> - public final Integer getRenderCount()
> - {
> - return pageComponentProvider.getRenderCount();
> - }
> -
> - @Override
> - public ListenerInterfaceLogData getLogData()
> - {
> - return logData;
> - }
> -}
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
> ListenerRequestHandler.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
> request/handler/ListenerRequestHandler.java b/wicket-core/src/main/java/
> org/apache/wicket/core/request/handler/ListenerRequestHandler.java
> new file mode 100644
> index 0000000..3f131e3
> --- /dev/null
> +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
> ListenerRequestHandler.java
> @@ -0,0 +1,327 @@
> +/*
> + * 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.core.request.handler;
> +
> +import org.apache.wicket.Component;
> +import org.apache.wicket.IRequestListener;
> +import org.apache.wicket.Page;
> +import org.apache.wicket.WicketRuntimeException;
> +import org.apache.wicket.behavior.Behavior;
> +import org.apache.wicket.core.request.handler.RenderPageRequestHandler.
> RedirectPolicy;
> +import org.apache.wicket.core.request.handler.logger.ListenerLogData;
> +import org.apache.wicket.request.ILoggableRequestHandler;
> +import org.apache.wicket.request.IRequestCycle;
> +import org.apache.wicket.request.component.IRequestableComponent;
> +import org.apache.wicket.request.component.IRequestablePage;
> +import org.apache.wicket.request.http.WebRequest;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
> +import org.apache.wicket.util.lang.Args;
> +import org.slf4j.Logger;
> +import org.slf4j.LoggerFactory;
> +
> +/**
> + * Request handler that invokes an {@link IRequestListener} on component
> or behavior and renders page afterwards.
> + *
> + * @author Matej Knopp
> + */
> +public class ListenerRequestHandler
> + implements
> + IPageRequestHandler,
> + IComponentRequestHandler,
> + ILoggableRequestHandler
> +{
> +
> + private static final Logger LOG = LoggerFactory.getLogger(
> ListenerRequestHandler.class);
> +
> + private final IPageAndComponentProvider pageComponentProvider;
> +
> + private final Integer behaviorId;
> +
> + private ListenerLogData logData;
> +
> + /**
> + * Construct.
> + *
> + * @param pageComponentProvider
> + * @param behaviorIndex
> + */
> + public ListenerRequestHandler(IPageAndComponentProvider
> pageComponentProvider, Integer behaviorIndex)
> + {
> + Args.notNull(pageComponentProvider,
> "pageComponentProvider");
> +
> + this.pageComponentProvider = pageComponentProvider;
> + behaviorId = behaviorIndex;
> + }
> +
> + /**
> + * Construct.
> + *
> + * @param pageComponentProvider
> + */
> + public ListenerRequestHandler(PageAndComponentProvider
> pageComponentProvider)
> + {
> + this(pageComponentProvider, null);
> + }
> +
> + public boolean includeRenderCount() {
> + if (behaviorId == null) {
> + return ((IRequestListener)
> getComponent()).rendersPage();
> + } else {
> + return ((IRequestListener)getComponent().
> getBehaviorById(getBehaviorIndex())).rendersPage();
> + }
> + }
> +
> + @Override
> + public IRequestableComponent getComponent()
> + {
> + return pageComponentProvider.getComponent();
> + }
> +
> + @Override
> + public IRequestablePage getPage()
> + {
> + return pageComponentProvider.getPageInstance();
> + }
> +
> + @Override
> + public Class<? extends IRequestablePage> getPageClass()
> + {
> + return pageComponentProvider.getPageClass();
> + }
> +
> + @Override
> + public Integer getPageId()
> + {
> + return pageComponentProvider.getPageId();
> + }
> +
> + @Override
> + public PageParameters getPageParameters()
> + {
> + return pageComponentProvider.getPageParameters();
> + }
> +
> + @Override
> + public void detach(IRequestCycle requestCycle)
> + {
> + if (logData == null)
> + {
> + logData = new ListenerLogData(pageComponentProvider,
> behaviorId);
> + }
> + pageComponentProvider.detach();
> + }
> +
> + /**
> + * Index of target behavior or <code>null</code> if component is
> the target.
> + *
> + * @return behavior index or <code>null</code>
> + */
> + public Integer getBehaviorIndex()
> + {
> + return behaviorId;
> + }
> +
> + @Override
> + public void respond(final IRequestCycle requestCycle)
> + {
> + final IRequestablePage page = getPage();
> + final boolean freshPage = pageComponentProvider.
> isPageInstanceFresh();
> + final boolean isAjax = ((WebRequest)requestCycle.
> getRequest()).isAjax();
> +
> + IRequestableComponent component;
> + try
> + {
> + component = getComponent();
> + }
> + catch (ComponentNotFoundException e)
> + {
> + // either the page is stateless and the component
> we are looking for is not added in the
> + // constructor
> + // or the page is stateful+stale and a new
> instances was created by pageprovider
> + // we denote this by setting component to null
> + component = null;
> + }
> +
> + if ((component == null && !freshPage) || (component !=
> null && component.getPage() != page))
> + {
> + throw new ComponentNotFoundException("Component
> '" + getComponentPath()
> + + "' has been removed from page.");
> + }
> +
> + if (page instanceof Page)
> + {
> + // initialize the page to be able to check whether
> it is stateless
> + ((Page)page).internalInitialize();
> + }
> +
> + RedirectPolicy policy = page.isPageStateless()
> + ? RedirectPolicy.NEVER_REDIRECT
> + : RedirectPolicy.AUTO_REDIRECT;
> +
> + boolean blockIfExpired = component != null && !component.
> canCallListenerInterfaceAfterExpiry();
> +
> + boolean lateComponent = component == null && freshPage;
> +
> + if ((pageComponentProvider.wasExpired() &&
> blockIfExpired) || lateComponent)
> + {
> + // A request listener is invoked on an expired
> page or the component couldn't be
> + // determined. The best we can do is to re-paint
> the newly constructed page.
> + // Reference: WICKET-4454, WICKET-6288
> +
> + if (LOG.isDebugEnabled())
> + {
> + LOG.debug(
> + "An IRequestListener was called
> but its page/component({}) couldn't be resolved. "
> + + "Scheduling re-create of
> the page and ignoring the listener interface...",
> + getComponentPath());
> + }
> +
> + if (isAjax)
> + {
> + policy = RedirectPolicy.ALWAYS_REDIRECT;
> + }
> +
> + requestCycle.scheduleRequestHandlerAfterCurrent(new
> RenderPageRequestHandler(
> + new PageProvider(page), policy));
> + return;
> + }
> +
> + invokeListener(requestCycle, policy, isAjax);
> + }
> +
> + private void invokeListener(IRequestCycle requestCycle,
> RedirectPolicy policy, boolean ajax)
> + {
> + if (getBehaviorIndex() == null)
> + {
> + invoke(requestCycle, policy, ajax, getComponent());
> + }
> + else
> + {
> + try
> + {
> + Behavior behavior = getComponent().
> getBehaviorById(behaviorId);
> + invoke(requestCycle, policy, ajax,
> getComponent(), behavior);
> + }
> + catch (IndexOutOfBoundsException e)
> + {
> + throw new WicketRuntimeException("Couldn't
> find component behavior.", e);
> + }
> +
> + }
> + }
> +
> + /**
> + * Invokes a given interface on a component.
> + *
> + * @param rcomponent
> + * The component
> + *
> + * @throws ListenerInvocationNotAllowedException
> + * when listener invocation attempted on a component
> that does not allow it
> + */
> + private final void invoke(final IRequestCycle requestCycle,
> RedirectPolicy policy, boolean ajax, final IRequestableComponent rcomponent)
> + {
> + // we are in Wicket core land
> + final Component component = (Component)rcomponent;
> +
> + if (!component.canCallListenerInterface())
> + {
> + // just return so that we have a silent fail and
> just re-render the
> + // page
> + LOG.info("component not enabled or visible;
> ignoring call. Component: " + component);
> + throw new ListenerInvocationNotAllowedException(component,
> null,
> + "Component rejected interface invocation");
> + }
> +
> + internalInvoke(requestCycle, policy, ajax, component,
> component);
> + }
> +
> + /**
> + * Invokes a given interface on a component's behavior.
> + *
> + * @param rcomponent
> + * The component
> + * @param behavior
> + * @throws ListenerInvocationNotAllowedException
> + * when listener invocation attempted on a component
> that does not allow it
> + */
> + private final void invoke(final IRequestCycle requestCycle,
> RedirectPolicy policy, boolean ajax, final IRequestableComponent
> rcomponent, final Behavior behavior)
> + {
> + // we are in Wicket core land
> + final Component component = (Component)rcomponent;
> +
> + if (!behavior.canCallListenerInterface(component))
> + {
> + LOG.warn("behavior not enabled; ignore call.
> Behavior {} at component {}", behavior,
> + component);
> + throw new ListenerInvocationNotAllowedException(component,
> behavior,
> + "Behavior rejected interface invocation.
> ");
> + }
> +
> + internalInvoke(requestCycle, policy, ajax, component,
> behavior);
> + }
> +
> + private void internalInvoke(final IRequestCycle requestCycle,
> RedirectPolicy policy, boolean ajax, final Component component, final
> Object target)
> + {
> + // save a reference to the page because the component can
> be removed
> + // during the invocation of the listener and thus lose its
> parent
> + Page page = component.getPage();
> +
> + // initialization is required for stateless pages
> + if (!page.isInitialized())
> + {
> + page.internalInitialize();
> + }
> +
> + IRequestListener requestListener =
> (IRequestListener)target;
> +
> + if (requestListener.rendersPage() && !ajax)
> + {
> + // schedule page render after current request
> handler is done. this can be
> + // overridden during invocation of listener
> + // method (i.e. by calling
> RequestCycle#setResponsePage)
> + requestCycle.scheduleRequestHandlerAfterCurrent(new
> RenderPageRequestHandler(
> + new PageProvider(page), policy));
> + }
> +
> + requestListener.onRequest();
> + }
> +
> + @Override
> + public final boolean isPageInstanceCreated()
> + {
> + return pageComponentProvider.hasPageInstance();
> + }
> +
> + @Override
> + public final String getComponentPath()
> + {
> + return pageComponentProvider.getComponentPath();
> + }
> +
> + @Override
> + public final Integer getRenderCount()
> + {
> + return pageComponentProvider.getRenderCount();
> + }
> +
> + @Override
> + public ListenerLogData getLogData()
> + {
> + return logData;
> + }
> +}
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/
> request/handler/logger/ListenerInterfaceLogData.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
> request/handler/logger/ListenerInterfaceLogData.java
> b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/logger/
> ListenerInterfaceLogData.java
> deleted file mode 100644
> index 5ed97a7..0000000
> --- a/wicket-core/src/main/java/org/apache/wicket/core/
> request/handler/logger/ListenerInterfaceLogData.java
> +++ /dev/null
> @@ -1,214 +0,0 @@
> -/*
> - * 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.core.request.handler.logger;
> -
> -import org.apache.wicket.Component;
> -import org.apache.wicket.behavior.Behavior;
> -import org.apache.wicket.core.request.handler.IPageAndComponentProvider;
> -import org.apache.wicket.markup.html.form.Form;
> -import org.apache.wicket.markup.html.form.IFormSubmitter;
> -import org.apache.wicket.request.component.IRequestableComponent;
> -
> -/**
> - * Contains logging data for component/listener-interface request
> handlers.
> - *
> - * @author Emond Papegaaij
> - */
> -public class ListenerInterfaceLogData extends PageLogData
> -{
> - private static final long serialVersionUID = 1L;
> -
> - private final Class<? extends IRequestableComponent>
> componentClass;
> - private final String componentPath;
> - private final Integer behaviorIndex;
> - private Class<? extends Behavior> behaviorClass;
> - private Class<? extends IRequestableComponent>
> submittingComponentClass;
> - private String submittingComponentPath;
> -
> - /**
> - * Construct.
> - *
> - * @param pageAndComponentProvider
> - * @param listenerInterface
> - * @param behaviorIndex
> - */
> - public ListenerInterfaceLogData(IPageAndComponentProvider
> pageAndComponentProvider, Integer behaviorIndex)
> - {
> - super(pageAndComponentProvider);
> - componentClass = tryToGetComponentClass(
> pageAndComponentProvider);
> - componentPath = tryToGetComponentPath(
> pageAndComponentProvider);
> - this.behaviorIndex = behaviorIndex;
> - if (behaviorIndex != null && componentClass != null)
> - {
> - try
> - {
> - behaviorClass = pageAndComponentProvider.
> getComponent()
> - .getBehaviorById(behaviorIndex)
> - .getClass();
> - }
> - catch (Exception ignore)
> - {
> - behaviorClass = null;
> - }
> - }
> - else
> - {
> - behaviorClass = null;
> - }
> -
> - final Component formSubmitter =
> tryToGetFormSubmittingComponent(pageAndComponentProvider);
> - if (formSubmitter != null)
> - {
> - submittingComponentClass =
> formSubmitter.getClass();
> - submittingComponentPath = formSubmitter.
> getPageRelativePath();
> - }
> - }
> -
> - private static Class<? extends IRequestableComponent>
> tryToGetComponentClass(
> - IPageAndComponentProvider pageAndComponentProvider)
> - {
> - try
> - {
> - return pageAndComponentProvider.
> getComponent().getClass();
> - }
> - catch (Exception e)
> - {
> - // getComponent might fail if the page does not
> exist (ie session timeout)
> - return null;
> - }
> - }
> -
> -
> - private static String tryToGetComponentPath(IPageAndComponentProvider
> pageAndComponentProvider)
> - {
> - try
> - {
> - return pageAndComponentProvider.
> getComponentPath();
> - }
> - catch (Exception e)
> - {
> - // getComponentPath might fail if the page does
> not exist (ie session timeout)
> - return null;
> - }
> - }
> -
> - private static Component tryToGetFormSubmittingComponent(
> - IPageAndComponentProvider pageAndComponentProvider)
> - {
> - try
> - {
> - final IRequestableComponent component =
> pageAndComponentProvider.getComponent();
> - if (component instanceof Form)
> - {
> - final IFormSubmitter submitter =
> ((Form<?>)component).findSubmittingButton();
> - return submitter instanceof Component ?
> (Component)submitter : null;
> - }
> - return null;
> - }
> - catch (Exception e)
> - {
> - // getComponent might fail if the page does not
> exist (ie session timeout)
> - return null;
> - }
> - }
> -
> - /**
> - * @return componentClass
> - */
> - public final Class<? extends IRequestableComponent>
> getComponentClass()
> - {
> - return componentClass;
> - }
> -
> - /**
> - * @return componentPath
> - */
> - public final String getComponentPath()
> - {
> - return componentPath;
> - }
> -
> - /**
> - * @return behaviorIndex
> - */
> - public final Integer getBehaviorIndex()
> - {
> - return behaviorIndex;
> - }
> -
> - /**
> - * @return behaviorClass
> - */
> - public final Class<? extends Behavior> getBehaviorClass()
> - {
> - return behaviorClass;
> - }
> -
> - /**
> - * @return submittingComponentClass
> - */
> - public Class<? extends IRequestableComponent>
> getSubmittingComponentClass()
> - {
> - return submittingComponentClass;
> - }
> -
> - /**
> - * @return submittingComponentPath
> - */
> - public String getSubmittingComponentPath()
> - {
> - return submittingComponentPath;
> - }
> -
> - @Override
> - public String toString()
> - {
> - StringBuilder sb = new StringBuilder(super.toString());
> - sb.setCharAt(sb.length() - 1, ',');
> - if (getComponentClass() != null)
> - {
> - sb.append("componentClass=");
> - sb.append(getComponentClass().getName());
> - sb.append(',');
> - }
> - if (getComponentPath() != null)
> - {
> - sb.append("componentPath=");
> - sb.append(getComponentPath());
> - sb.append(',');
> - }
> - sb.append("behaviorIndex=");
> - sb.append(getBehaviorIndex());
> - if (getBehaviorClass() != null)
> - {
> - sb.append(",behaviorClass=");
> - sb.append(getBehaviorClass().getName());
> - }
> - if (getSubmittingComponentClass() != null)
> - {
> - sb.append(",submittingComponentClass=");
> - sb.append(getSubmittingComponentClass().
> getName());
> - }
> - if (getSubmittingComponentPath() != null)
> - {
> - sb.append(",submittingComponentPath=");
> - sb.append(getSubmittingComponentPath());
> - }
> - sb.append("}");
> - return sb.toString();
> - }
> -}
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/
> request/handler/logger/ListenerLogData.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
> request/handler/logger/ListenerLogData.java b/wicket-core/src/main/java/
> org/apache/wicket/core/request/handler/logger/ListenerLogData.java
> new file mode 100644
> index 0000000..d06fe69
> --- /dev/null
> +++ b/wicket-core/src/main/java/org/apache/wicket/core/
> request/handler/logger/ListenerLogData.java
> @@ -0,0 +1,214 @@
> +/*
> + * 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.core.request.handler.logger;
> +
> +import org.apache.wicket.Component;
> +import org.apache.wicket.behavior.Behavior;
> +import org.apache.wicket.core.request.handler.IPageAndComponentProvider;
> +import org.apache.wicket.markup.html.form.Form;
> +import org.apache.wicket.markup.html.form.IFormSubmitter;
> +import org.apache.wicket.request.component.IRequestableComponent;
> +
> +/**
> + * Contains logging data for component/listener-interface request
> handlers.
> + *
> + * @author Emond Papegaaij
> + */
> +public class ListenerLogData extends PageLogData
> +{
> + private static final long serialVersionUID = 1L;
> +
> + private final Class<? extends IRequestableComponent>
> componentClass;
> + private final String componentPath;
> + private final Integer behaviorIndex;
> + private Class<? extends Behavior> behaviorClass;
> + private Class<? extends IRequestableComponent>
> submittingComponentClass;
> + private String submittingComponentPath;
> +
> + /**
> + * Construct.
> + *
> + * @param pageAndComponentProvider
> + * @param listenerInterface
> + * @param behaviorIndex
> + */
> + public ListenerLogData(IPageAndComponentProvider
> pageAndComponentProvider, Integer behaviorIndex)
> + {
> + super(pageAndComponentProvider);
> + componentClass = tryToGetComponentClass(
> pageAndComponentProvider);
> + componentPath = tryToGetComponentPath(
> pageAndComponentProvider);
> + this.behaviorIndex = behaviorIndex;
> + if (behaviorIndex != null && componentClass != null)
> + {
> + try
> + {
> + behaviorClass = pageAndComponentProvider.
> getComponent()
> + .getBehaviorById(behaviorIndex)
> + .getClass();
> + }
> + catch (Exception ignore)
> + {
> + behaviorClass = null;
> + }
> + }
> + else
> + {
> + behaviorClass = null;
> + }
> +
> + final Component formSubmitter =
> tryToGetFormSubmittingComponent(pageAndComponentProvider);
> + if (formSubmitter != null)
> + {
> + submittingComponentClass =
> formSubmitter.getClass();
> + submittingComponentPath = formSubmitter.
> getPageRelativePath();
> + }
> + }
> +
> + private static Class<? extends IRequestableComponent>
> tryToGetComponentClass(
> + IPageAndComponentProvider pageAndComponentProvider)
> + {
> + try
> + {
> + return pageAndComponentProvider.
> getComponent().getClass();
> + }
> + catch (Exception e)
> + {
> + // getComponent might fail if the page does not
> exist (ie session timeout)
> + return null;
> + }
> + }
> +
> +
> + private static String tryToGetComponentPath(IPageAndComponentProvider
> pageAndComponentProvider)
> + {
> + try
> + {
> + return pageAndComponentProvider.
> getComponentPath();
> + }
> + catch (Exception e)
> + {
> + // getComponentPath might fail if the page does
> not exist (ie session timeout)
> + return null;
> + }
> + }
> +
> + private static Component tryToGetFormSubmittingComponent(
> + IPageAndComponentProvider pageAndComponentProvider)
> + {
> + try
> + {
> + final IRequestableComponent component =
> pageAndComponentProvider.getComponent();
> + if (component instanceof Form)
> + {
> + final IFormSubmitter submitter =
> ((Form<?>)component).findSubmittingButton();
> + return submitter instanceof Component ?
> (Component)submitter : null;
> + }
> + return null;
> + }
> + catch (Exception e)
> + {
> + // getComponent might fail if the page does not
> exist (ie session timeout)
> + return null;
> + }
> + }
> +
> + /**
> + * @return componentClass
> + */
> + public final Class<? extends IRequestableComponent>
> getComponentClass()
> + {
> + return componentClass;
> + }
> +
> + /**
> + * @return componentPath
> + */
> + public final String getComponentPath()
> + {
> + return componentPath;
> + }
> +
> + /**
> + * @return behaviorIndex
> + */
> + public final Integer getBehaviorIndex()
> + {
> + return behaviorIndex;
> + }
> +
> + /**
> + * @return behaviorClass
> + */
> + public final Class<? extends Behavior> getBehaviorClass()
> + {
> + return behaviorClass;
> + }
> +
> + /**
> + * @return submittingComponentClass
> + */
> + public Class<? extends IRequestableComponent>
> getSubmittingComponentClass()
> + {
> + return submittingComponentClass;
> + }
> +
> + /**
> + * @return submittingComponentPath
> + */
> + public String getSubmittingComponentPath()
> + {
> + return submittingComponentPath;
> + }
> +
> + @Override
> + public String toString()
> + {
> + StringBuilder sb = new StringBuilder(super.toString());
> + sb.setCharAt(sb.length() - 1, ',');
> + if (getComponentClass() != null)
> + {
> + sb.append("componentClass=");
> + sb.append(getComponentClass().getName());
> + sb.append(',');
> + }
> + if (getComponentPath() != null)
> + {
> + sb.append("componentPath=");
> + sb.append(getComponentPath());
> + sb.append(',');
> + }
> + sb.append("behaviorIndex=");
> + sb.append(getBehaviorIndex());
> + if (getBehaviorClass() != null)
> + {
> + sb.append(",behaviorClass=");
> + sb.append(getBehaviorClass().getName());
> + }
> + if (getSubmittingComponentClass() != null)
> + {
> + sb.append(",submittingComponentClass=");
> + sb.append(getSubmittingComponentClass().
> getName());
> + }
> + if (getSubmittingComponentPath() != null)
> + {
> + sb.append(",submittingComponentPath=");
> + sb.append(getSubmittingComponentPath());
> + }
> + sb.append("}");
> + return sb.toString();
> + }
> +}
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
> AbstractBookmarkableMapper.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
> request/mapper/AbstractBookmarkableMapper.java
> b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
> AbstractBookmarkableMapper.java
> index cb372d8..ecb50a2 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
> AbstractBookmarkableMapper.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
> AbstractBookmarkableMapper.java
> @@ -23,7 +23,7 @@ import org.apache.wicket.IRequestListener;
> import org.apache.wicket.core.request.handler.
> BookmarkableListenerInterfaceRequestHandler;
> import org.apache.wicket.core.request.handler.
> BookmarkablePageRequestHandler;
> import org.apache.wicket.core.request.handler.IPageRequestHandler;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.core.request.handler.PageProvider;
> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
> @@ -304,7 +304,7 @@ public abstract class AbstractBookmarkableMapper
> extends AbstractComponentMapper
>
> checkExpiration(provider, pageInfo);
>
> - return new ListenerInterfaceRequestHandler(provider,
> componentInfo.getBehaviorId());
> + return new ListenerRequestHandler(provider,
> componentInfo.getBehaviorId());
> }
>
> private void checkExpiration(PageProvider provider, PageInfo
> pageInfo)
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/
> request/mapper/MountedMapper.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
> request/mapper/MountedMapper.java b/wicket-core/src/main/java/
> org/apache/wicket/core/request/mapper/MountedMapper.java
> index 1b6aa28..f9edf11 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/core/
> request/mapper/MountedMapper.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/core/
> request/mapper/MountedMapper.java
> @@ -18,7 +18,7 @@ package org.apache.wicket.core.request.mapper;
>
> import java.util.function.Supplier;
>
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.request.IRequestHandler;
> import org.apache.wicket.request.Request;
> import org.apache.wicket.request.Url;
> @@ -158,10 +158,10 @@ public class MountedMapper extends
> AbstractBookmarkableMapper
> {
> Url url = super.mapHandler(requestHandler);
>
> - if (url == null && requestHandler instanceof
> ListenerInterfaceRequestHandler &&
> + if (url == null && requestHandler instanceof
> ListenerRequestHandler &&
> getRecreateMountedPagesAfterExpiry())
> {
> - ListenerInterfaceRequestHandler handler = (
> ListenerInterfaceRequestHandler)requestHandler;
> + ListenerRequestHandler handler =
> (ListenerRequestHandler)requestHandler;
> IRequestablePage page = handler.getPage();
> if (checkPageInstance(page))
> {
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
> PageInstanceMapper.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
> request/mapper/PageInstanceMapper.java b/wicket-core/src/main/java/
> org/apache/wicket/core/request/mapper/PageInstanceMapper.java
> index e983131..f90ea87 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
> PageInstanceMapper.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
> PageInstanceMapper.java
> @@ -16,7 +16,7 @@
> */
> package org.apache.wicket.core.request.mapper;
>
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.core.request.handler.PageProvider;
> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
> @@ -85,7 +85,7 @@ public class PageInstanceMapper extends
> AbstractComponentMapper
>
> provider.setPageSource(
> getContext());
>
> - return new
> ListenerInterfaceRequestHandler(provider, componentInfo.getBehaviorId());
> + return new ListenerRequestHandler(provider,
> componentInfo.getBehaviorId());
> }
> }
> }
> @@ -107,9 +107,9 @@ public class PageInstanceMapper extends
> AbstractComponentMapper
> PageInfo i = new PageInfo(page.getPageId());
> info = new PageComponentInfo(i, null);
> }
> - else if (requestHandler instanceof
> ListenerInterfaceRequestHandler)
> + else if (requestHandler instanceof ListenerRequestHandler)
> {
> - ListenerInterfaceRequestHandler handler = (
> ListenerInterfaceRequestHandler)requestHandler;
> + ListenerRequestHandler handler =
> (ListenerRequestHandler)requestHandler;
> IRequestablePage page = handler.getPage();
> String componentPath = handler.getComponentPath();
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/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 b5a15ec..0b30c92 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
> @@ -62,7 +62,7 @@ import org.apache.wicket.ajax.markup.
> html.form.AjaxSubmitLink;
> import org.apache.wicket.behavior.AbstractAjaxBehavior;
> import org.apache.wicket.core.request.handler.
> BookmarkablePageRequestHandler;
> import org.apache.wicket.core.request.handler.IPageProvider;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.core.request.handler.PageProvider;
> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
> @@ -1093,7 +1093,7 @@ public class BaseWicketTester
>
> // there are two ways to do this. RequestCycle could be
> forced to call the handler
> // directly but constructing and parsing the URL increases
> the chance of triggering bugs
> - IRequestHandler handler = new
> ListenerInterfaceRequestHandler(new PageAndComponentProvider(
> + IRequestHandler handler = new ListenerRequestHandler(new
> PageAndComponentProvider(
> component.getPage(), component));
>
> Url url = urlFor(handler);
> @@ -1119,7 +1119,7 @@ public class BaseWicketTester
>
> // there are two ways to do this. RequestCycle could be
> forced to call the handler
> // directly but constructing and parsing the URL increases
> the chance of triggering bugs
> - IRequestHandler handler = new
> ListenerInterfaceRequestHandler(new PageAndComponentProvider(
> + IRequestHandler handler = new ListenerRequestHandler(new
> PageAndComponentProvider(
> component.getPage(), component));
>
> processRequest(handler);
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/
> BehaviorRequestTest.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
> b/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
> index 909ee23..1e5227c 100644
> --- a/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
> +++ b/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
> @@ -18,7 +18,7 @@ package org.apache.wicket;
>
> import org.apache.wicket.behavior.Behavior;
> import org.apache.wicket.core.request.handler.IPageAndComponentProvider;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.
> ListenerInvocationNotAllowedException;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.markup.ComponentTag;
> @@ -83,7 +83,7 @@ public class BehaviorRequestTest extends WicketTestCase
> final int index = page.container.getBehaviorId(
> behaviorUnderTest);
> final IPageAndComponentProvider provider = new
> PageAndComponentProvider(page,
> page.container);
> - final IRequestHandler handler = new
> ListenerInterfaceRequestHandler(provider, index);
> + final IRequestHandler handler = new ListenerRequestHandler(provider,
> index);
>
> return tester.urlFor(handler).toString();
> }
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/
> ComponentWithLazyModelCreationTest.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/test/java/org/apache/wicket/
> ComponentWithLazyModelCreationTest.java b/wicket-core/src/test/java/
> org/apache/wicket/ComponentWithLazyModelCreationTest.java
> index 59cd19e..9361351 100644
> --- a/wicket-core/src/test/java/org/apache/wicket/
> ComponentWithLazyModelCreationTest.java
> +++ b/wicket-core/src/test/java/org/apache/wicket/
> ComponentWithLazyModelCreationTest.java
> @@ -17,7 +17,7 @@
> package org.apache.wicket;
>
> import org.apache.wicket.behavior.Behavior;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.markup.ComponentTag;
> import org.apache.wicket.markup.IMarkupResourceStreamProvider;
> @@ -120,7 +120,7 @@ public class ComponentWithLazyModelCreationTest
> extends WicketTestCase
> {
> super.onComponentTag(component, tag);
> int index = component.getBehaviorId(this);
> - IRequestHandler handler = new
> ListenerInterfaceRequestHandler(
> + IRequestHandler handler = new
> ListenerRequestHandler(
> new PageAndComponentProvider(component.getPage(),
> component), index);
> statefullUrl = component.getRequestCycle().
> mapUrlFor(handler).toString();
> }
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
> ListenerInterfaceRequestHandlerTest.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
> request/handler/ListenerInterfaceRequestHandlerTest.java
> b/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
> ListenerInterfaceRequestHandlerTest.java
> deleted file mode 100644
> index d1c0592..0000000
> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
> ListenerInterfaceRequestHandlerTest.java
> +++ /dev/null
> @@ -1,208 +0,0 @@
> -/*
> - * 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.core.request.handler;
> -
> -import static org.hamcrest.Matchers.is;
> -
> -import java.io.IOException;
> -import java.text.ParseException;
> -
> -import org.apache.wicket.MarkupContainer;
> -import org.apache.wicket.Page;
> -import org.apache.wicket.Session;
> -import org.apache.wicket.WicketRuntimeException;
> -import org.apache.wicket.ajax.AjaxRequestTarget;
> -import org.apache.wicket.ajax.markup.html.AjaxLink;
> -import org.apache.wicket.core.request.mapper.MountedMapper;
> -import org.apache.wicket.markup.IMarkupFragment;
> -import org.apache.wicket.markup.IMarkupResourceStreamProvider;
> -import org.apache.wicket.markup.Markup;
> -import org.apache.wicket.markup.html.WebPage;
> -import org.apache.wicket.markup.html.link.Link;
> -import org.apache.wicket.markup.html.link.StatelessLink;
> -import org.apache.wicket.request.Url;
> -import org.apache.wicket.request.mapper.parameter.PageParameters;
> -import org.apache.wicket.resource.DummyPage;
> -import org.apache.wicket.util.resource.IResourceStream;
> -import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
> -import org.apache.wicket.util.resource.StringResourceStream;
> -import org.apache.wicket.util.tester.WicketTestCase;
> -import org.junit.Test;
> -
> -/**
> - * Tests for {@link ListenerInterfaceRequestHandler}
> - */
> -public class ListenerInterfaceRequestHandlerTest extends WicketTestCase
> -{
> -
> - /**
> - * WICKET-5466
> - */
> - @Test
> - public void removedComponent()
> - {
> - // non-existing component on fresh page is ignored
> - PageAndComponentProvider freshPage = new
> PageAndComponentProvider(DummyPage.class, null,
> - "foo");
> - new ListenerInterfaceRequestHandle
> r(freshPage).respond(tester
> - .getRequestCycle());
> -
> - // non-existing component on old page fails
> - PageAndComponentProvider oldPage = new
> PageAndComponentProvider(new DummyPage(), "foo");
> - try
> - {
> - new ListenerInterfaceRequestHandler(oldPage)
> - .respond(tester.getRequestCycle());
> - fail();
> - }
> - catch (WicketRuntimeException ex)
> - {
> - assertEquals("Component 'foo' has been removed
> from page.", ex.getMessage());
> - }
> - }
> -
> - /**
> - * https://issues.apache.org/jira/browse/WICKET-4116
> - *
> - * @throws Exception
> - */
> - @Test
> - public void recreateThePageWhenListenereIn
> terfaceIsExecutedOnExpiredPage() throws Exception
> - {
> - tester.getApplication().mountPage("ajaxLink",
> AjaxLinkExpirePage.class);
> - AjaxLinkExpirePage page = tester.startPage(
> AjaxLinkExpirePage.class);
> -
> - int initialPageId = page.getPageId();
> -
> - Url urlToAjaxLink = tester.urlFor(page.link);
> - Session session = tester.getSession();
> - session.clear();
> -
> - // fire a request to the ajax link on the expired page
> - executeAjaxUrlWithLastBaseUrl(urlToAjaxLink);
> -
> - Page lastRenderedPage = tester.getLastRenderedPage();
> - int lastRenderedPageId = lastRenderedPage.getPageId();
> - assertTrue("A new page must be create ",
> lastRenderedPageId > initialPageId);
> - }
> -
> - private void executeAjaxUrlWithLastBaseUrl(Url url) throws
> IOException,
> - ResourceStreamNotFoundException, ParseException
> - {
> - tester.getRequest().setUrl(url);
> - tester.getRequest().addHeader("Wicket-Ajax-BaseURL",
> - tester.getWicketAjaxBaseUrlEncodedInL
> astResponse());
> - tester.getRequest().addHeader("Wicket-Ajax", "true");
> - tester.processRequest();
> - }
> -
> - /**
> - * Test page for #recreateThePageWhenListenereIn
> terfaceIsExecutedOnExpiredPage()
> - */
> - public static class AjaxLinkExpirePage extends WebPage implements
> IMarkupResourceStreamProvider
> - {
> - private static final long serialVersionUID = 1L;
> -
> - private AjaxLink<Void> link;
> -
> - /**
> - * Constructor.
> - */
> - public AjaxLinkExpirePage()
> - {
> - add(link = new AjaxLink<Void>("test")
> - {
> - private static final long serialVersionUID
> = 1L;
> -
> - @Override
> - public void onClick(AjaxRequestTarget
> target)
> - {
> - System.err.println("clicked");
> - }
> - });
> - }
> -
> - @Override
> - public IResourceStream getMarkupResourceStream(MarkupContainer
> container,
> - Class<?> containerClass)
> - {
> -
> - return new StringResourceStream(
> - "<html><body><a wicket:id='test'>Link</a></
> body></html>");
> - }
> -
> - }
> -
> - /**
> - * Testcase for WICKET-4185
> - */
> - @Test
> - public void isPageInstanceCreatedOnClassLinks()
> - {
> - PageAndComponentProvider provider = new
> PageAndComponentProvider(Page.class, "link");
> - ListenerInterfaceRequestHandler handler = new
> ListenerInterfaceRequestHandler(provider);
> - assertFalse("Handler should not report a page instance is
> available ",
> - handler.isPageInstanceCreated());
> - }
> -
> - @Test
> - public void skipListenerIfExpiredPage()
> - {
> - tester.getApplication().getRootRequestMapperAsCompound()
> .add(new MountedMapper("/segment", NotExpiredPage.class));
> - tester.startPage(NotExpiredPage.class);
> - tester.clickLink("statelessLink");
> - NotExpiredPage page = (NotExpiredPage)tester.
> getLastRenderedPage();
> - assertThat(page.invoked, is(true));
> - }
> -
> - public static class NotExpiredPage extends WebPage
> - {
> - public boolean invoked;
> -
> - public NotExpiredPage(PageParameters pageParameters)
> - {
> - super(pageParameters);
> - add(new StatelessLink<Object>("statelessLink")
> - {
> - public void onClick()
> - {
> - invoked = true;
> - }
> - });
> - add(new Link<Object>("statefullLink")
> - {
> - public void onClick()
> - {
> - }
> - });
> - }
> -
> - @Override
> - public IMarkupFragment getMarkup()
> - {
> - return Markup.of(
> - "<html><body><a
> wicket:id=\"statelessLink\"></a><a wicket:id=\"statefullLink\"></
> a></body></html>");
> - }
> -
> - @Override
> - protected void onBeforeRender()
> - {
> - get("statefullLink").setVisible(false);
> - super.onBeforeRender();
> - }
> - }
> -}
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
> ListenerRequestHandlerTest.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
> request/handler/ListenerRequestHandlerTest.java
> b/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
> ListenerRequestHandlerTest.java
> new file mode 100644
> index 0000000..b212c9c
> --- /dev/null
> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
> ListenerRequestHandlerTest.java
> @@ -0,0 +1,208 @@
> +/*
> + * 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.core.request.handler;
> +
> +import static org.hamcrest.Matchers.is;
> +
> +import java.io.IOException;
> +import java.text.ParseException;
> +
> +import org.apache.wicket.MarkupContainer;
> +import org.apache.wicket.Page;
> +import org.apache.wicket.Session;
> +import org.apache.wicket.WicketRuntimeException;
> +import org.apache.wicket.ajax.AjaxRequestTarget;
> +import org.apache.wicket.ajax.markup.html.AjaxLink;
> +import org.apache.wicket.core.request.mapper.MountedMapper;
> +import org.apache.wicket.markup.IMarkupFragment;
> +import org.apache.wicket.markup.IMarkupResourceStreamProvider;
> +import org.apache.wicket.markup.Markup;
> +import org.apache.wicket.markup.html.WebPage;
> +import org.apache.wicket.markup.html.link.Link;
> +import org.apache.wicket.markup.html.link.StatelessLink;
> +import org.apache.wicket.request.Url;
> +import org.apache.wicket.request.mapper.parameter.PageParameters;
> +import org.apache.wicket.resource.DummyPage;
> +import org.apache.wicket.util.resource.IResourceStream;
> +import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
> +import org.apache.wicket.util.resource.StringResourceStream;
> +import org.apache.wicket.util.tester.WicketTestCase;
> +import org.junit.Test;
> +
> +/**
> + * Tests for {@link ListenerRequestHandler}
> + */
> +public class ListenerRequestHandlerTest extends WicketTestCase
> +{
> +
> + /**
> + * WICKET-5466
> + */
> + @Test
> + public void removedComponent()
> + {
> + // non-existing component on fresh page is ignored
> + PageAndComponentProvider freshPage = new
> PageAndComponentProvider(DummyPage.class, null,
> + "foo");
> + new ListenerRequestHandler(freshPage).respond(tester
> + .getRequestCycle());
> +
> + // non-existing component on old page fails
> + PageAndComponentProvider oldPage = new
> PageAndComponentProvider(new DummyPage(), "foo");
> + try
> + {
> + new ListenerRequestHandler(oldPage)
> + .respond(tester.getRequestCycle());
> + fail();
> + }
> + catch (WicketRuntimeException ex)
> + {
> + assertEquals("Component 'foo' has been removed
> from page.", ex.getMessage());
> + }
> + }
> +
> + /**
> + * https://issues.apache.org/jira/browse/WICKET-4116
> + *
> + * @throws Exception
> + */
> + @Test
> + public void recreateThePageWhenListenereIn
> terfaceIsExecutedOnExpiredPage() throws Exception
> + {
> + tester.getApplication().mountPage("ajaxLink",
> AjaxLinkExpirePage.class);
> + AjaxLinkExpirePage page = tester.startPage(
> AjaxLinkExpirePage.class);
> +
> + int initialPageId = page.getPageId();
> +
> + Url urlToAjaxLink = tester.urlFor(page.link);
> + Session session = tester.getSession();
> + session.clear();
> +
> + // fire a request to the ajax link on the expired page
> + executeAjaxUrlWithLastBaseUrl(urlToAjaxLink);
> +
> + Page lastRenderedPage = tester.getLastRenderedPage();
> + int lastRenderedPageId = lastRenderedPage.getPageId();
> + assertTrue("A new page must be create ",
> lastRenderedPageId > initialPageId);
> + }
> +
> + private void executeAjaxUrlWithLastBaseUrl(Url url) throws
> IOException,
> + ResourceStreamNotFoundException, ParseException
> + {
> + tester.getRequest().setUrl(url);
> + tester.getRequest().addHeader("Wicket-Ajax-BaseURL",
> + tester.getWicketAjaxBaseUrlEncodedInL
> astResponse());
> + tester.getRequest().addHeader("Wicket-Ajax", "true");
> + tester.processRequest();
> + }
> +
> + /**
> + * Test page for #recreateThePageWhenListenereIn
> terfaceIsExecutedOnExpiredPage()
> + */
> + public static class AjaxLinkExpirePage extends WebPage implements
> IMarkupResourceStreamProvider
> + {
> + private static final long serialVersionUID = 1L;
> +
> + private AjaxLink<Void> link;
> +
> + /**
> + * Constructor.
> + */
> + public AjaxLinkExpirePage()
> + {
> + add(link = new AjaxLink<Void>("test")
> + {
> + private static final long serialVersionUID
> = 1L;
> +
> + @Override
> + public void onClick(AjaxRequestTarget
> target)
> + {
> + System.err.println("clicked");
> + }
> + });
> + }
> +
> + @Override
> + public IResourceStream getMarkupResourceStream(MarkupContainer
> container,
> + Class<?> containerClass)
> + {
> +
> + return new StringResourceStream(
> + "<html><body><a wicket:id='test'>Link</a></
> body></html>");
> + }
> +
> + }
> +
> + /**
> + * Testcase for WICKET-4185
> + */
> + @Test
> + public void isPageInstanceCreatedOnClassLinks()
> + {
> + PageAndComponentProvider provider = new
> PageAndComponentProvider(Page.class, "link");
> + ListenerRequestHandler handler = new
> ListenerRequestHandler(provider);
> + assertFalse("Handler should not report a page instance is
> available ",
> + handler.isPageInstanceCreated());
> + }
> +
> + @Test
> + public void skipListenerIfExpiredPage()
> + {
> + tester.getApplication().getRootRequestMapperAsCompound()
> .add(new MountedMapper("/segment", NotExpiredPage.class));
> + tester.startPage(NotExpiredPage.class);
> + tester.clickLink("statelessLink");
> + NotExpiredPage page = (NotExpiredPage)tester.
> getLastRenderedPage();
> + assertThat(page.invoked, is(true));
> + }
> +
> + public static class NotExpiredPage extends WebPage
> + {
> + public boolean invoked;
> +
> + public NotExpiredPage(PageParameters pageParameters)
> + {
> + super(pageParameters);
> + add(new StatelessLink<Object>("statelessLink")
> + {
> + public void onClick()
> + {
> + invoked = true;
> + }
> + });
> + add(new Link<Object>("statefullLink")
> + {
> + public void onClick()
> + {
> + }
> + });
> + }
> +
> + @Override
> + public IMarkupFragment getMarkup()
> + {
> + return Markup.of(
> + "<html><body><a
> wicket:id=\"statelessLink\"></a><a wicket:id=\"statefullLink\"></
> a></body></html>");
> + }
> +
> + @Override
> + protected void onBeforeRender()
> + {
> + get("statefullLink").setVisible(false);
> + super.onBeforeRender();
> + }
> + }
> +}
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> BookmarkableMapperTest.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
> request/mapper/BookmarkableMapperTest.java b/wicket-core/src/test/java/
> org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
> index f4fc1aa..e22210b 100644
> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> BookmarkableMapperTest.java
> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> BookmarkableMapperTest.java
> @@ -28,7 +28,7 @@ import org.apache.wicket.core.request.handler.
> BookmarkableListenerInterfaceReque
> import org.apache.wicket.core.request.handler.
> BookmarkablePageRequestHandler;
> import org.apache.wicket.core.request.handler.IPageProvider;
> import org.apache.wicket.core.request.handler.IPageRequestHandler;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.core.request.handler.PageProvider;
> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
> @@ -177,9 +177,9 @@ public class BookmarkableMapperTest extends
> AbstractMapperTest
> Url url = Url.parse("wicket/bookmarkable/" +
> PAGE_CLASS_NAME + "?15--foo-bar");
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> checkPage(page, 15);
> @@ -198,8 +198,8 @@ public class BookmarkableMapperTest extends
> AbstractMapperTest
> + "/i1/i2?15--foo-bar&a=b&b=c");
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> checkPage(page, 15);
> @@ -222,9 +222,9 @@ public class BookmarkableMapperTest extends
> AbstractMapperTest
> + "?15-ILinkListener.4-foo-bar");
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> checkPage(page, 15);
> @@ -246,8 +246,8 @@ public class BookmarkableMapperTest extends
> AbstractMapperTest
>
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> assertEquals(page.getRenderCount(), 5);
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> CryptoMapperTest.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
> request/mapper/CryptoMapperTest.java b/wicket-core/src/test/java/
> org/apache/wicket/core/request/mapper/CryptoMapperTest.java
> index 98696fd..f87dcc8 100644
> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> CryptoMapperTest.java
> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> CryptoMapperTest.java
> @@ -22,7 +22,7 @@ import java.util.function.Supplier;
>
> import org.apache.wicket.MockPage;
> import org.apache.wicket.core.request.handler.
> BookmarkableListenerInterfaceRequestHandler;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.core.request.handler.PageProvider;
> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
> @@ -358,7 +358,7 @@ public class CryptoMapperTest extends
> AbstractMapperTest
> final String componentPath = "link";
>
> PageAndComponentProvider provider = new
> PageAndComponentProvider(Page1.class, componentPath);
> - IRequestHandler requestHandler = new
> ListenerInterfaceRequestHandler(provider);
> + IRequestHandler requestHandler = new
> ListenerRequestHandler(provider);
>
> Url plainUrl = mapper.getDelegateMapper().
> mapHandler(requestHandler);
> assertTrue(plainUrl.toString().startsWith(MOUNTED_URL));
> @@ -391,9 +391,9 @@ public class CryptoMapperTest extends
> AbstractMapperTest
>
> requestHandler = unwrapRequestHandlerDelegate(
> requestHandler);
>
> - assertThat(requestHandler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(requestHandler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler handler = (
> ListenerInterfaceRequestHandler) requestHandler;
> + ListenerRequestHandler handler = (ListenerRequestHandler)
> requestHandler;
> assertEquals(componentPath, handler.getComponentPath());
> assertEquals(Page1.class, handler.getPageClass());
>
> @@ -407,9 +407,9 @@ public class CryptoMapperTest extends
> AbstractMapperTest
>
> requestHandler = unwrapRequestHandlerDelegate(
> requestHandler);
>
> - assertThat(requestHandler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(requestHandler, instanceOf(
> ListenerRequestHandler.class));
>
> - handler = (ListenerInterfaceRequestHandler)
> requestHandler;
> + handler = (ListenerRequestHandler) requestHandler;
> assertEquals(componentPath, handler.getComponentPath());
> assertEquals(Page1.class, handler.getPageClass());
> }
> @@ -603,7 +603,7 @@ public class CryptoMapperTest extends
> AbstractMapperTest
> MockPage page = new MockPage();
> IRequestableComponent c = page.get("foo:bar");
> PageAndComponentProvider provider = new
> PageAndComponentProvider(page, c);
> - IRequestHandler handler = new
> ListenerInterfaceRequestHandler(provider);
> + IRequestHandler handler = new ListenerRequestHandler(
> provider);
>
> Url url = mapper.mapHandler(handler);
> url.addQueryParameter("q", "foo");
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> MountedMapperTest.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
> request/mapper/MountedMapperTest.java b/wicket-core/src/test/java/
> org/apache/wicket/core/request/mapper/MountedMapperTest.java
> index d92cc83..f19d866 100644
> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> MountedMapperTest.java
> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> MountedMapperTest.java
> @@ -23,7 +23,7 @@ import org.apache.wicket.core.request.handler.
> BookmarkableListenerInterfaceReque
> import org.apache.wicket.core.request.handler.
> BookmarkablePageRequestHandler;
> import org.apache.wicket.core.request.handler.IPageProvider;
> import org.apache.wicket.core.request.handler.IPageRequestHandler;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.core.request.handler.PageProvider;
> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
> @@ -210,9 +210,9 @@ public class MountedMapperTest extends
> AbstractMapperTest
> Url url = Url.parse("some/mount/path?15--foo-bar");
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> checkPage(page, 15);
> @@ -230,8 +230,8 @@ public class MountedMapperTest extends
> AbstractMapperTest
> Url url = Url.parse("some/mount/path/i1/
> i2?15--foo-bar&a=b&b=c");
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> checkPage(page, 15);
> @@ -253,9 +253,9 @@ public class MountedMapperTest extends
> AbstractMapperTest
> Url url = Url.parse("some/mount/path?
> param1=value1&15-.4-foo-bar");
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> checkPage(page, 15);
> @@ -298,9 +298,9 @@ public class MountedMapperTest extends
> AbstractMapperTest
> context.setNextPageRenderCount(5);
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> assertEquals(5, page.getRenderCount());
> @@ -329,9 +329,9 @@ public class MountedMapperTest extends
> AbstractMapperTest
> Url url = Url.parse("some/mount/path/i1/
> i2?-1.-foo-bar&a=b&b=c");
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
> IRequestablePage page = h.getPage();
> checkPage(page, 1);
>
> @@ -497,7 +497,7 @@ public class MountedMapperTest extends
> AbstractMapperTest
> IRequestableComponent c = page.get("foo:bar");
>
> PageAndComponentProvider provider = new
> PageAndComponentProvider(page, c);
> - IRequestHandler handler = new
> ListenerInterfaceRequestHandler(provider);
> + IRequestHandler handler = new ListenerRequestHandler(
> provider);
>
> Url url = encoder.mapHandler(handler);
>
> @@ -555,7 +555,7 @@ public class MountedMapperTest extends
> AbstractMapperTest
> IRequestableComponent c = page.get("foo:bar");
>
> PageAndComponentProvider provider = new
> PageAndComponentProvider(page, c);
> - IRequestHandler handler = new
> ListenerInterfaceRequestHandler(provider, 4);
> + IRequestHandler handler = new ListenerRequestHandler(provider,
> 4);
>
> Url url = encoder.mapHandler(handler);
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> PackageMapperTest.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
> request/mapper/PackageMapperTest.java b/wicket-core/src/test/java/
> org/apache/wicket/core/request/mapper/PackageMapperTest.java
> index 6a620ad..b0bb221 100644
> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> PackageMapperTest.java
> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> PackageMapperTest.java
> @@ -25,7 +25,7 @@ import org.apache.wicket.core.request.handler.
> BookmarkableListenerInterfaceReque
> import org.apache.wicket.core.request.handler.
> BookmarkablePageRequestHandler;
> import org.apache.wicket.core.request.handler.IPageProvider;
> import org.apache.wicket.core.request.handler.IPageRequestHandler;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.core.request.handler.PageProvider;
> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
> @@ -243,9 +243,9 @@ public class PackageMapperTest extends
> AbstractMapperTest
> Url url = Url.parse(MOUNT_PATH + '/' + PAGE_CLASS_NAME +
> "?15--foo-bar");
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> checkPage(page, 15);
> @@ -263,8 +263,8 @@ public class PackageMapperTest extends
> AbstractMapperTest
> Url url = Url.parse(MOUNT_PATH + '/' + PAGE_CLASS_NAME +
> "/i1/i2?15--foo-bar&a=b&b=c");
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> checkPage(page, 15);
> @@ -286,9 +286,9 @@ public class PackageMapperTest extends
> AbstractMapperTest
> Url url = Url.parse(MOUNT_PATH + '/' + PAGE_CLASS_NAME +
> "?15-.4-foo-bar");
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> checkPage(page, 15);
> @@ -309,8 +309,8 @@ public class PackageMapperTest extends
> AbstractMapperTest
>
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
>
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
>
> IRequestablePage page = h.getPage();
> assertEquals(page.getRenderCount(), 5);
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> PageInstanceMapperTest.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
> request/mapper/PageInstanceMapperTest.java b/wicket-core/src/test/java/
> org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java
> index 9a2eaf0..2691070 100644
> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> PageInstanceMapperTest.java
> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
> PageInstanceMapperTest.java
> @@ -24,7 +24,7 @@ import java.util.Locale;
> import org.apache.wicket.MockPage;
> import org.apache.wicket.core.request.handler.IPageProvider;
> import org.apache.wicket.core.request.handler.IPageRequestHandler;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.core.request.handler.PageProvider;
> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
> @@ -90,9 +90,9 @@ public class PageInstanceMapperTest extends
> AbstractMapperTest
> Url url = Url.parse("wicket/page?4--a-b-c");
>
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
> checkPage(h.getPage(), 4);
> assertEquals(h.getComponent().getPageRelativePath(),
> "a:b:c");
> assertNull(h.getBehaviorIndex());
> @@ -131,9 +131,9 @@ public class PageInstanceMapperTest extends
> AbstractMapperTest
> Url url = Url.parse("wicket/page?4-
> ILinkListener.5-a-b-c");
>
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
> checkPage(h.getPage(), 4);
> assertEquals(h.getComponent().getPageRelativePath(),
> "a:b:c");
> assertEquals((Object)5, h.getBehaviorIndex());
> @@ -150,9 +150,9 @@ public class PageInstanceMapperTest extends
> AbstractMapperTest
> context.setNextPageRenderCount(6);
>
> IRequestHandler handler = encoder.mapRequest(getRequest(
> url));
> - assertThat(handler, instanceOf(
> ListenerInterfaceRequestHandler.class));
> + assertThat(handler, instanceOf(
> ListenerRequestHandler.class));
>
> - ListenerInterfaceRequestHandler h = (
> ListenerInterfaceRequestHandler)handler;
> + ListenerRequestHandler h = (ListenerRequestHandler)
> handler;
> assertEquals(6, h.getPage().getRenderCount());
> }
>
> @@ -287,7 +287,7 @@ public class PageInstanceMapperTest extends
> AbstractMapperTest
> IRequestableComponent c = page.get("a:b:c");
>
> PageAndComponentProvider provider = new
> PageAndComponentProvider(page, c);
> - IRequestHandler handler = new
> ListenerInterfaceRequestHandler(provider);
> + IRequestHandler handler = new ListenerRequestHandler(
> provider);
>
> Url url = encoder.mapHandler(handler);
> assertEquals("wicket/page?15-5.-a-b-c", url.toString());
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> 8342e4ef/wicket-examples/src/main/java/org/apache/wicket/
> examples/ajax/prototype/Index.java
> ----------------------------------------------------------------------
> diff --git a/wicket-examples/src/main/java/org/apache/wicket/
> examples/ajax/prototype/Index.java b/wicket-examples/src/main/
> java/org/apache/wicket/examples/ajax/prototype/Index.java
> index 2795eb5..c62ce4b 100644
> --- a/wicket-examples/src/main/java/org/apache/wicket/
> examples/ajax/prototype/Index.java
> +++ b/wicket-examples/src/main/java/org/apache/wicket/
> examples/ajax/prototype/Index.java
> @@ -17,7 +17,7 @@
> package org.apache.wicket.examples.ajax.prototype;
>
> import org.apache.wicket.core.request.handler.
> ComponentRenderingRequestHandler;
> -import org.apache.wicket.core.request.handler.
> ListenerInterfaceRequestHandler;
> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
> import org.apache.wicket.examples.WicketExamplePage;
> import org.apache.wicket.markup.html.basic.Label;
> @@ -79,8 +79,7 @@ public class Index extends WicketExamplePage
> @Override
> protected String getOnClickScript(CharSequence url)
> {
> - IRequestHandler handler = new
> ListenerInterfaceRequestHandler(
> - new PageAndComponentProvider(getPage(),
> this));
> + IRequestHandler handler = new
> ListenerRequestHandler(new PageAndComponentProvider(getPage(), this));
> Url componentUrl =
> RequestCycle.get().mapUrlFor(handler);
> componentUrl.addQueryParameter("anticache",
> Math.random());
> return new AppendingStringBuffer("new
> Ajax.Updater('counter', '").append(
>
>
Re: wicket git commit: WICKET-6137 renamed
ListenerInterfaceRequestHandler to ListenerRequestHandler
Posted by Sven Meier <sv...@meiers.net>.
Oh yes, there goes another one.
I'll do a text search ...
Thanks
Sven
On 30.01.2017 17:01, Martin Grigorov wrote:
> What
> about org.apache.wicket.core.request.handler.BookmarkableListenerInterfaceRequestHandler
> ?
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Mon, Jan 30, 2017 at 4:51 PM, <sv...@apache.org> wrote:
>
>> Repository: wicket
>> Updated Branches:
>> refs/heads/master 16e44ce98 -> 8342e4ef9
>>
>>
>> WICKET-6137 renamed ListenerInterfaceRequestHandler to
>> ListenerRequestHandler
>>
>> there isn't a ..ListenerInterface any more
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8342e4ef
>> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8342e4ef
>> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8342e4ef
>>
>> Branch: refs/heads/master
>> Commit: 8342e4ef9acd442ddfe7ad78d04838d17c1b9fec
>> Parents: 16e44ce
>> Author: Sven Meier <sv...@apache.org>
>> Authored: Mon Jan 30 16:50:26 2017 +0100
>> Committer: Sven Meier <sv...@apache.org>
>> Committed: Mon Jan 30 16:50:26 2017 +0100
>>
>> ----------------------------------------------------------------------
>> .../main/java/org/apache/wicket/Component.java | 4 +-
>> ...markableListenerInterfaceRequestHandler.java | 2 +-
>> .../ListenerInterfaceRequestHandler.java | 327 -------------------
>> .../request/handler/ListenerRequestHandler.java | 327 +++++++++++++++++++
>> .../logger/ListenerInterfaceLogData.java | 214 ------------
>> .../request/handler/logger/ListenerLogData.java | 214 ++++++++++++
>> .../mapper/AbstractBookmarkableMapper.java | 4 +-
>> .../core/request/mapper/MountedMapper.java | 6 +-
>> .../core/request/mapper/PageInstanceMapper.java | 8 +-
>> .../wicket/util/tester/BaseWicketTester.java | 6 +-
>> .../org/apache/wicket/BehaviorRequestTest.java | 4 +-
>> .../ComponentWithLazyModelCreationTest.java | 4 +-
>> .../ListenerInterfaceRequestHandlerTest.java | 208 ------------
>> .../handler/ListenerRequestHandlerTest.java | 208 ++++++++++++
>> .../request/mapper/BookmarkableMapperTest.java | 18 +-
>> .../core/request/mapper/CryptoMapperTest.java | 14 +-
>> .../core/request/mapper/MountedMapperTest.java | 26 +-
>> .../core/request/mapper/PackageMapperTest.java | 18 +-
>> .../request/mapper/PageInstanceMapperTest.java | 16 +-
>> .../wicket/examples/ajax/prototype/Index.java | 5 +-
>> 20 files changed, 816 insertions(+), 817 deletions(-)
>> ----------------------------------------------------------------------
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/Component.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java
>> b/wicket-core/src/main/java/org/apache/wicket/Component.java
>> index 97262ed..a6aa54f 100644
>> --- a/wicket-core/src/main/java/org/apache/wicket/Component.java
>> +++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
>> @@ -32,7 +32,7 @@ import org.apache.wicket.authorization.
>> UnauthorizedActionException;
>> import org.apache.wicket.authorization.strategies.page.
>> SimplePageAuthorizationStrategy;
>> import org.apache.wicket.behavior.Behavior;
>> import org.apache.wicket.core.request.handler.
>> BookmarkableListenerInterfaceRequestHandler;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.core.util.lang.WicketObjects;
>> import org.apache.wicket.core.util.string.ComponentStrings;
>> @@ -3396,7 +3396,7 @@ public abstract class Component
>> }
>> else
>> {
>> - return new ListenerInterfaceRequestHandler(provider,
>> id);
>> + return new ListenerRequestHandler(provider, id);
>> }
>> }
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
>> BookmarkableListenerInterfaceRequestHandler.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
>> request/handler/BookmarkableListenerInterfaceRequestHandler.java
>> b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
>> BookmarkableListenerInterfaceRequestHandler.java
>> index b3de191..772e215 100644
>> --- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
>> BookmarkableListenerInterfaceRequestHandler.java
>> +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
>> BookmarkableListenerInterfaceRequestHandler.java
>> @@ -25,7 +25,7 @@ import org.apache.wicket.util.lang.Args;
>>
>> /**
>> * Request handler for bookmarkable pages with an {@link
>> IRequestListener}. This handler is only used to
>> - * generate URLs. Rendering is always handled by {@link
>> ListenerInterfaceRequestHandler}.
>> + * generate URLs. Rendering is always handled by {@link
>> ListenerRequestHandler}.
>> *
>> * @author Matej Knopp
>> */
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
>> ListenerInterfaceRequestHandler.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
>> request/handler/ListenerInterfaceRequestHandler.java
>> b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
>> ListenerInterfaceRequestHandler.java
>> deleted file mode 100644
>> index c976a42..0000000
>> --- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
>> ListenerInterfaceRequestHandler.java
>> +++ /dev/null
>> @@ -1,327 +0,0 @@
>> -/*
>> - * 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.core.request.handler;
>> -
>> -import org.apache.wicket.Component;
>> -import org.apache.wicket.IRequestListener;
>> -import org.apache.wicket.Page;
>> -import org.apache.wicket.WicketRuntimeException;
>> -import org.apache.wicket.behavior.Behavior;
>> -import org.apache.wicket.core.request.handler.RenderPageRequestHandler.
>> RedirectPolicy;
>> -import org.apache.wicket.core.request.handler.logger.
>> ListenerInterfaceLogData;
>> -import org.apache.wicket.request.ILoggableRequestHandler;
>> -import org.apache.wicket.request.IRequestCycle;
>> -import org.apache.wicket.request.component.IRequestableComponent;
>> -import org.apache.wicket.request.component.IRequestablePage;
>> -import org.apache.wicket.request.http.WebRequest;
>> -import org.apache.wicket.request.mapper.parameter.PageParameters;
>> -import org.apache.wicket.util.lang.Args;
>> -import org.slf4j.Logger;
>> -import org.slf4j.LoggerFactory;
>> -
>> -/**
>> - * Request handler that invokes an {@link IRequestListener} on component
>> or behavior and renders page afterwards.
>> - *
>> - * @author Matej Knopp
>> - */
>> -public class ListenerInterfaceRequestHandler
>> - implements
>> - IPageRequestHandler,
>> - IComponentRequestHandler,
>> - ILoggableRequestHandler
>> -{
>> -
>> - private static final Logger LOG = LoggerFactory.getLogger(
>> ListenerInterfaceRequestHandler.class);
>> -
>> - private final IPageAndComponentProvider pageComponentProvider;
>> -
>> - private final Integer behaviorId;
>> -
>> - private ListenerInterfaceLogData logData;
>> -
>> - /**
>> - * Construct.
>> - *
>> - * @param pageComponentProvider
>> - * @param behaviorIndex
>> - */
>> - public ListenerInterfaceRequestHandler(IPageAndComponentProvider
>> pageComponentProvider, Integer behaviorIndex)
>> - {
>> - Args.notNull(pageComponentProvider,
>> "pageComponentProvider");
>> -
>> - this.pageComponentProvider = pageComponentProvider;
>> - behaviorId = behaviorIndex;
>> - }
>> -
>> - /**
>> - * Construct.
>> - *
>> - * @param pageComponentProvider
>> - */
>> - public ListenerInterfaceRequestHandler(PageAndComponentProvider
>> pageComponentProvider)
>> - {
>> - this(pageComponentProvider, null);
>> - }
>> -
>> - public boolean includeRenderCount() {
>> - if (behaviorId == null) {
>> - return ((IRequestListener)
>> getComponent()).rendersPage();
>> - } else {
>> - return ((IRequestListener)getComponent().
>> getBehaviorById(getBehaviorIndex())).rendersPage();
>> - }
>> - }
>> -
>> - @Override
>> - public IRequestableComponent getComponent()
>> - {
>> - return pageComponentProvider.getComponent();
>> - }
>> -
>> - @Override
>> - public IRequestablePage getPage()
>> - {
>> - return pageComponentProvider.getPageInstance();
>> - }
>> -
>> - @Override
>> - public Class<? extends IRequestablePage> getPageClass()
>> - {
>> - return pageComponentProvider.getPageClass();
>> - }
>> -
>> - @Override
>> - public Integer getPageId()
>> - {
>> - return pageComponentProvider.getPageId();
>> - }
>> -
>> - @Override
>> - public PageParameters getPageParameters()
>> - {
>> - return pageComponentProvider.getPageParameters();
>> - }
>> -
>> - @Override
>> - public void detach(IRequestCycle requestCycle)
>> - {
>> - if (logData == null)
>> - {
>> - logData = new ListenerInterfaceLogData(pageComponentProvider,
>> behaviorId);
>> - }
>> - pageComponentProvider.detach();
>> - }
>> -
>> - /**
>> - * Index of target behavior or <code>null</code> if component is
>> the target.
>> - *
>> - * @return behavior index or <code>null</code>
>> - */
>> - public Integer getBehaviorIndex()
>> - {
>> - return behaviorId;
>> - }
>> -
>> - @Override
>> - public void respond(final IRequestCycle requestCycle)
>> - {
>> - final IRequestablePage page = getPage();
>> - final boolean freshPage = pageComponentProvider.
>> isPageInstanceFresh();
>> - final boolean isAjax = ((WebRequest)requestCycle.
>> getRequest()).isAjax();
>> -
>> - IRequestableComponent component;
>> - try
>> - {
>> - component = getComponent();
>> - }
>> - catch (ComponentNotFoundException e)
>> - {
>> - // either the page is stateless and the component
>> we are looking for is not added in the
>> - // constructor
>> - // or the page is stateful+stale and a new
>> instances was created by pageprovider
>> - // we denote this by setting component to null
>> - component = null;
>> - }
>> -
>> - if ((component == null && !freshPage) || (component !=
>> null && component.getPage() != page))
>> - {
>> - throw new ComponentNotFoundException("Component
>> '" + getComponentPath()
>> - + "' has been removed from page.");
>> - }
>> -
>> - if (page instanceof Page)
>> - {
>> - // initialize the page to be able to check whether
>> it is stateless
>> - ((Page)page).internalInitialize();
>> - }
>> -
>> - RedirectPolicy policy = page.isPageStateless()
>> - ? RedirectPolicy.NEVER_REDIRECT
>> - : RedirectPolicy.AUTO_REDIRECT;
>> -
>> - boolean blockIfExpired = component != null && !component.
>> canCallListenerInterfaceAfterExpiry();
>> -
>> - boolean lateComponent = component == null && freshPage;
>> -
>> - if ((pageComponentProvider.wasExpired() &&
>> blockIfExpired) || lateComponent)
>> - {
>> - // A request listener is invoked on an expired
>> page or the component couldn't be
>> - // determined. The best we can do is to re-paint
>> the newly constructed page.
>> - // Reference: WICKET-4454, WICKET-6288
>> -
>> - if (LOG.isDebugEnabled())
>> - {
>> - LOG.debug(
>> - "An IRequestListener was called
>> but its page/component({}) couldn't be resolved. "
>> - + "Scheduling re-create of
>> the page and ignoring the listener interface...",
>> - getComponentPath());
>> - }
>> -
>> - if (isAjax)
>> - {
>> - policy = RedirectPolicy.ALWAYS_REDIRECT;
>> - }
>> -
>> - requestCycle.scheduleRequestHandlerAfterCurrent(new
>> RenderPageRequestHandler(
>> - new PageProvider(page), policy));
>> - return;
>> - }
>> -
>> - invokeListener(requestCycle, policy, isAjax);
>> - }
>> -
>> - private void invokeListener(IRequestCycle requestCycle,
>> RedirectPolicy policy, boolean ajax)
>> - {
>> - if (getBehaviorIndex() == null)
>> - {
>> - invoke(requestCycle, policy, ajax, getComponent());
>> - }
>> - else
>> - {
>> - try
>> - {
>> - Behavior behavior = getComponent().
>> getBehaviorById(behaviorId);
>> - invoke(requestCycle, policy, ajax,
>> getComponent(), behavior);
>> - }
>> - catch (IndexOutOfBoundsException e)
>> - {
>> - throw new WicketRuntimeException("Couldn't
>> find component behavior.", e);
>> - }
>> -
>> - }
>> - }
>> -
>> - /**
>> - * Invokes a given interface on a component.
>> - *
>> - * @param rcomponent
>> - * The component
>> - *
>> - * @throws ListenerInvocationNotAllowedException
>> - * when listener invocation attempted on a component
>> that does not allow it
>> - */
>> - private final void invoke(final IRequestCycle requestCycle,
>> RedirectPolicy policy, boolean ajax, final IRequestableComponent rcomponent)
>> - {
>> - // we are in Wicket core land
>> - final Component component = (Component)rcomponent;
>> -
>> - if (!component.canCallListenerInterface())
>> - {
>> - // just return so that we have a silent fail and
>> just re-render the
>> - // page
>> - LOG.info("component not enabled or visible;
>> ignoring call. Component: " + component);
>> - throw new ListenerInvocationNotAllowedException(component,
>> null,
>> - "Component rejected interface invocation");
>> - }
>> -
>> - internalInvoke(requestCycle, policy, ajax, component,
>> component);
>> - }
>> -
>> - /**
>> - * Invokes a given interface on a component's behavior.
>> - *
>> - * @param rcomponent
>> - * The component
>> - * @param behavior
>> - * @throws ListenerInvocationNotAllowedException
>> - * when listener invocation attempted on a component
>> that does not allow it
>> - */
>> - private final void invoke(final IRequestCycle requestCycle,
>> RedirectPolicy policy, boolean ajax, final IRequestableComponent
>> rcomponent, final Behavior behavior)
>> - {
>> - // we are in Wicket core land
>> - final Component component = (Component)rcomponent;
>> -
>> - if (!behavior.canCallListenerInterface(component))
>> - {
>> - LOG.warn("behavior not enabled; ignore call.
>> Behavior {} at component {}", behavior,
>> - component);
>> - throw new ListenerInvocationNotAllowedException(component,
>> behavior,
>> - "Behavior rejected interface invocation.
>> ");
>> - }
>> -
>> - internalInvoke(requestCycle, policy, ajax, component,
>> behavior);
>> - }
>> -
>> - private void internalInvoke(final IRequestCycle requestCycle,
>> RedirectPolicy policy, boolean ajax, final Component component, final
>> Object target)
>> - {
>> - // save a reference to the page because the component can
>> be removed
>> - // during the invocation of the listener and thus lose its
>> parent
>> - Page page = component.getPage();
>> -
>> - // initialization is required for stateless pages
>> - if (!page.isInitialized())
>> - {
>> - page.internalInitialize();
>> - }
>> -
>> - IRequestListener requestListener =
>> (IRequestListener)target;
>> -
>> - if (requestListener.rendersPage() && !ajax)
>> - {
>> - // schedule page render after current request
>> handler is done. this can be
>> - // overridden during invocation of listener
>> - // method (i.e. by calling
>> RequestCycle#setResponsePage)
>> - requestCycle.scheduleRequestHandlerAfterCurrent(new
>> RenderPageRequestHandler(
>> - new PageProvider(page), policy));
>> - }
>> -
>> - requestListener.onRequest();
>> - }
>> -
>> - @Override
>> - public final boolean isPageInstanceCreated()
>> - {
>> - return pageComponentProvider.hasPageInstance();
>> - }
>> -
>> - @Override
>> - public final String getComponentPath()
>> - {
>> - return pageComponentProvider.getComponentPath();
>> - }
>> -
>> - @Override
>> - public final Integer getRenderCount()
>> - {
>> - return pageComponentProvider.getRenderCount();
>> - }
>> -
>> - @Override
>> - public ListenerInterfaceLogData getLogData()
>> - {
>> - return logData;
>> - }
>> -}
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
>> ListenerRequestHandler.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
>> request/handler/ListenerRequestHandler.java b/wicket-core/src/main/java/
>> org/apache/wicket/core/request/handler/ListenerRequestHandler.java
>> new file mode 100644
>> index 0000000..3f131e3
>> --- /dev/null
>> +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/
>> ListenerRequestHandler.java
>> @@ -0,0 +1,327 @@
>> +/*
>> + * 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.core.request.handler;
>> +
>> +import org.apache.wicket.Component;
>> +import org.apache.wicket.IRequestListener;
>> +import org.apache.wicket.Page;
>> +import org.apache.wicket.WicketRuntimeException;
>> +import org.apache.wicket.behavior.Behavior;
>> +import org.apache.wicket.core.request.handler.RenderPageRequestHandler.
>> RedirectPolicy;
>> +import org.apache.wicket.core.request.handler.logger.ListenerLogData;
>> +import org.apache.wicket.request.ILoggableRequestHandler;
>> +import org.apache.wicket.request.IRequestCycle;
>> +import org.apache.wicket.request.component.IRequestableComponent;
>> +import org.apache.wicket.request.component.IRequestablePage;
>> +import org.apache.wicket.request.http.WebRequest;
>> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>> +import org.apache.wicket.util.lang.Args;
>> +import org.slf4j.Logger;
>> +import org.slf4j.LoggerFactory;
>> +
>> +/**
>> + * Request handler that invokes an {@link IRequestListener} on component
>> or behavior and renders page afterwards.
>> + *
>> + * @author Matej Knopp
>> + */
>> +public class ListenerRequestHandler
>> + implements
>> + IPageRequestHandler,
>> + IComponentRequestHandler,
>> + ILoggableRequestHandler
>> +{
>> +
>> + private static final Logger LOG = LoggerFactory.getLogger(
>> ListenerRequestHandler.class);
>> +
>> + private final IPageAndComponentProvider pageComponentProvider;
>> +
>> + private final Integer behaviorId;
>> +
>> + private ListenerLogData logData;
>> +
>> + /**
>> + * Construct.
>> + *
>> + * @param pageComponentProvider
>> + * @param behaviorIndex
>> + */
>> + public ListenerRequestHandler(IPageAndComponentProvider
>> pageComponentProvider, Integer behaviorIndex)
>> + {
>> + Args.notNull(pageComponentProvider,
>> "pageComponentProvider");
>> +
>> + this.pageComponentProvider = pageComponentProvider;
>> + behaviorId = behaviorIndex;
>> + }
>> +
>> + /**
>> + * Construct.
>> + *
>> + * @param pageComponentProvider
>> + */
>> + public ListenerRequestHandler(PageAndComponentProvider
>> pageComponentProvider)
>> + {
>> + this(pageComponentProvider, null);
>> + }
>> +
>> + public boolean includeRenderCount() {
>> + if (behaviorId == null) {
>> + return ((IRequestListener)
>> getComponent()).rendersPage();
>> + } else {
>> + return ((IRequestListener)getComponent().
>> getBehaviorById(getBehaviorIndex())).rendersPage();
>> + }
>> + }
>> +
>> + @Override
>> + public IRequestableComponent getComponent()
>> + {
>> + return pageComponentProvider.getComponent();
>> + }
>> +
>> + @Override
>> + public IRequestablePage getPage()
>> + {
>> + return pageComponentProvider.getPageInstance();
>> + }
>> +
>> + @Override
>> + public Class<? extends IRequestablePage> getPageClass()
>> + {
>> + return pageComponentProvider.getPageClass();
>> + }
>> +
>> + @Override
>> + public Integer getPageId()
>> + {
>> + return pageComponentProvider.getPageId();
>> + }
>> +
>> + @Override
>> + public PageParameters getPageParameters()
>> + {
>> + return pageComponentProvider.getPageParameters();
>> + }
>> +
>> + @Override
>> + public void detach(IRequestCycle requestCycle)
>> + {
>> + if (logData == null)
>> + {
>> + logData = new ListenerLogData(pageComponentProvider,
>> behaviorId);
>> + }
>> + pageComponentProvider.detach();
>> + }
>> +
>> + /**
>> + * Index of target behavior or <code>null</code> if component is
>> the target.
>> + *
>> + * @return behavior index or <code>null</code>
>> + */
>> + public Integer getBehaviorIndex()
>> + {
>> + return behaviorId;
>> + }
>> +
>> + @Override
>> + public void respond(final IRequestCycle requestCycle)
>> + {
>> + final IRequestablePage page = getPage();
>> + final boolean freshPage = pageComponentProvider.
>> isPageInstanceFresh();
>> + final boolean isAjax = ((WebRequest)requestCycle.
>> getRequest()).isAjax();
>> +
>> + IRequestableComponent component;
>> + try
>> + {
>> + component = getComponent();
>> + }
>> + catch (ComponentNotFoundException e)
>> + {
>> + // either the page is stateless and the component
>> we are looking for is not added in the
>> + // constructor
>> + // or the page is stateful+stale and a new
>> instances was created by pageprovider
>> + // we denote this by setting component to null
>> + component = null;
>> + }
>> +
>> + if ((component == null && !freshPage) || (component !=
>> null && component.getPage() != page))
>> + {
>> + throw new ComponentNotFoundException("Component
>> '" + getComponentPath()
>> + + "' has been removed from page.");
>> + }
>> +
>> + if (page instanceof Page)
>> + {
>> + // initialize the page to be able to check whether
>> it is stateless
>> + ((Page)page).internalInitialize();
>> + }
>> +
>> + RedirectPolicy policy = page.isPageStateless()
>> + ? RedirectPolicy.NEVER_REDIRECT
>> + : RedirectPolicy.AUTO_REDIRECT;
>> +
>> + boolean blockIfExpired = component != null && !component.
>> canCallListenerInterfaceAfterExpiry();
>> +
>> + boolean lateComponent = component == null && freshPage;
>> +
>> + if ((pageComponentProvider.wasExpired() &&
>> blockIfExpired) || lateComponent)
>> + {
>> + // A request listener is invoked on an expired
>> page or the component couldn't be
>> + // determined. The best we can do is to re-paint
>> the newly constructed page.
>> + // Reference: WICKET-4454, WICKET-6288
>> +
>> + if (LOG.isDebugEnabled())
>> + {
>> + LOG.debug(
>> + "An IRequestListener was called
>> but its page/component({}) couldn't be resolved. "
>> + + "Scheduling re-create of
>> the page and ignoring the listener interface...",
>> + getComponentPath());
>> + }
>> +
>> + if (isAjax)
>> + {
>> + policy = RedirectPolicy.ALWAYS_REDIRECT;
>> + }
>> +
>> + requestCycle.scheduleRequestHandlerAfterCurrent(new
>> RenderPageRequestHandler(
>> + new PageProvider(page), policy));
>> + return;
>> + }
>> +
>> + invokeListener(requestCycle, policy, isAjax);
>> + }
>> +
>> + private void invokeListener(IRequestCycle requestCycle,
>> RedirectPolicy policy, boolean ajax)
>> + {
>> + if (getBehaviorIndex() == null)
>> + {
>> + invoke(requestCycle, policy, ajax, getComponent());
>> + }
>> + else
>> + {
>> + try
>> + {
>> + Behavior behavior = getComponent().
>> getBehaviorById(behaviorId);
>> + invoke(requestCycle, policy, ajax,
>> getComponent(), behavior);
>> + }
>> + catch (IndexOutOfBoundsException e)
>> + {
>> + throw new WicketRuntimeException("Couldn't
>> find component behavior.", e);
>> + }
>> +
>> + }
>> + }
>> +
>> + /**
>> + * Invokes a given interface on a component.
>> + *
>> + * @param rcomponent
>> + * The component
>> + *
>> + * @throws ListenerInvocationNotAllowedException
>> + * when listener invocation attempted on a component
>> that does not allow it
>> + */
>> + private final void invoke(final IRequestCycle requestCycle,
>> RedirectPolicy policy, boolean ajax, final IRequestableComponent rcomponent)
>> + {
>> + // we are in Wicket core land
>> + final Component component = (Component)rcomponent;
>> +
>> + if (!component.canCallListenerInterface())
>> + {
>> + // just return so that we have a silent fail and
>> just re-render the
>> + // page
>> + LOG.info("component not enabled or visible;
>> ignoring call. Component: " + component);
>> + throw new ListenerInvocationNotAllowedException(component,
>> null,
>> + "Component rejected interface invocation");
>> + }
>> +
>> + internalInvoke(requestCycle, policy, ajax, component,
>> component);
>> + }
>> +
>> + /**
>> + * Invokes a given interface on a component's behavior.
>> + *
>> + * @param rcomponent
>> + * The component
>> + * @param behavior
>> + * @throws ListenerInvocationNotAllowedException
>> + * when listener invocation attempted on a component
>> that does not allow it
>> + */
>> + private final void invoke(final IRequestCycle requestCycle,
>> RedirectPolicy policy, boolean ajax, final IRequestableComponent
>> rcomponent, final Behavior behavior)
>> + {
>> + // we are in Wicket core land
>> + final Component component = (Component)rcomponent;
>> +
>> + if (!behavior.canCallListenerInterface(component))
>> + {
>> + LOG.warn("behavior not enabled; ignore call.
>> Behavior {} at component {}", behavior,
>> + component);
>> + throw new ListenerInvocationNotAllowedException(component,
>> behavior,
>> + "Behavior rejected interface invocation.
>> ");
>> + }
>> +
>> + internalInvoke(requestCycle, policy, ajax, component,
>> behavior);
>> + }
>> +
>> + private void internalInvoke(final IRequestCycle requestCycle,
>> RedirectPolicy policy, boolean ajax, final Component component, final
>> Object target)
>> + {
>> + // save a reference to the page because the component can
>> be removed
>> + // during the invocation of the listener and thus lose its
>> parent
>> + Page page = component.getPage();
>> +
>> + // initialization is required for stateless pages
>> + if (!page.isInitialized())
>> + {
>> + page.internalInitialize();
>> + }
>> +
>> + IRequestListener requestListener =
>> (IRequestListener)target;
>> +
>> + if (requestListener.rendersPage() && !ajax)
>> + {
>> + // schedule page render after current request
>> handler is done. this can be
>> + // overridden during invocation of listener
>> + // method (i.e. by calling
>> RequestCycle#setResponsePage)
>> + requestCycle.scheduleRequestHandlerAfterCurrent(new
>> RenderPageRequestHandler(
>> + new PageProvider(page), policy));
>> + }
>> +
>> + requestListener.onRequest();
>> + }
>> +
>> + @Override
>> + public final boolean isPageInstanceCreated()
>> + {
>> + return pageComponentProvider.hasPageInstance();
>> + }
>> +
>> + @Override
>> + public final String getComponentPath()
>> + {
>> + return pageComponentProvider.getComponentPath();
>> + }
>> +
>> + @Override
>> + public final Integer getRenderCount()
>> + {
>> + return pageComponentProvider.getRenderCount();
>> + }
>> +
>> + @Override
>> + public ListenerLogData getLogData()
>> + {
>> + return logData;
>> + }
>> +}
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/
>> request/handler/logger/ListenerInterfaceLogData.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
>> request/handler/logger/ListenerInterfaceLogData.java
>> b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/logger/
>> ListenerInterfaceLogData.java
>> deleted file mode 100644
>> index 5ed97a7..0000000
>> --- a/wicket-core/src/main/java/org/apache/wicket/core/
>> request/handler/logger/ListenerInterfaceLogData.java
>> +++ /dev/null
>> @@ -1,214 +0,0 @@
>> -/*
>> - * 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.core.request.handler.logger;
>> -
>> -import org.apache.wicket.Component;
>> -import org.apache.wicket.behavior.Behavior;
>> -import org.apache.wicket.core.request.handler.IPageAndComponentProvider;
>> -import org.apache.wicket.markup.html.form.Form;
>> -import org.apache.wicket.markup.html.form.IFormSubmitter;
>> -import org.apache.wicket.request.component.IRequestableComponent;
>> -
>> -/**
>> - * Contains logging data for component/listener-interface request
>> handlers.
>> - *
>> - * @author Emond Papegaaij
>> - */
>> -public class ListenerInterfaceLogData extends PageLogData
>> -{
>> - private static final long serialVersionUID = 1L;
>> -
>> - private final Class<? extends IRequestableComponent>
>> componentClass;
>> - private final String componentPath;
>> - private final Integer behaviorIndex;
>> - private Class<? extends Behavior> behaviorClass;
>> - private Class<? extends IRequestableComponent>
>> submittingComponentClass;
>> - private String submittingComponentPath;
>> -
>> - /**
>> - * Construct.
>> - *
>> - * @param pageAndComponentProvider
>> - * @param listenerInterface
>> - * @param behaviorIndex
>> - */
>> - public ListenerInterfaceLogData(IPageAndComponentProvider
>> pageAndComponentProvider, Integer behaviorIndex)
>> - {
>> - super(pageAndComponentProvider);
>> - componentClass = tryToGetComponentClass(
>> pageAndComponentProvider);
>> - componentPath = tryToGetComponentPath(
>> pageAndComponentProvider);
>> - this.behaviorIndex = behaviorIndex;
>> - if (behaviorIndex != null && componentClass != null)
>> - {
>> - try
>> - {
>> - behaviorClass = pageAndComponentProvider.
>> getComponent()
>> - .getBehaviorById(behaviorIndex)
>> - .getClass();
>> - }
>> - catch (Exception ignore)
>> - {
>> - behaviorClass = null;
>> - }
>> - }
>> - else
>> - {
>> - behaviorClass = null;
>> - }
>> -
>> - final Component formSubmitter =
>> tryToGetFormSubmittingComponent(pageAndComponentProvider);
>> - if (formSubmitter != null)
>> - {
>> - submittingComponentClass =
>> formSubmitter.getClass();
>> - submittingComponentPath = formSubmitter.
>> getPageRelativePath();
>> - }
>> - }
>> -
>> - private static Class<? extends IRequestableComponent>
>> tryToGetComponentClass(
>> - IPageAndComponentProvider pageAndComponentProvider)
>> - {
>> - try
>> - {
>> - return pageAndComponentProvider.
>> getComponent().getClass();
>> - }
>> - catch (Exception e)
>> - {
>> - // getComponent might fail if the page does not
>> exist (ie session timeout)
>> - return null;
>> - }
>> - }
>> -
>> -
>> - private static String tryToGetComponentPath(IPageAndComponentProvider
>> pageAndComponentProvider)
>> - {
>> - try
>> - {
>> - return pageAndComponentProvider.
>> getComponentPath();
>> - }
>> - catch (Exception e)
>> - {
>> - // getComponentPath might fail if the page does
>> not exist (ie session timeout)
>> - return null;
>> - }
>> - }
>> -
>> - private static Component tryToGetFormSubmittingComponent(
>> - IPageAndComponentProvider pageAndComponentProvider)
>> - {
>> - try
>> - {
>> - final IRequestableComponent component =
>> pageAndComponentProvider.getComponent();
>> - if (component instanceof Form)
>> - {
>> - final IFormSubmitter submitter =
>> ((Form<?>)component).findSubmittingButton();
>> - return submitter instanceof Component ?
>> (Component)submitter : null;
>> - }
>> - return null;
>> - }
>> - catch (Exception e)
>> - {
>> - // getComponent might fail if the page does not
>> exist (ie session timeout)
>> - return null;
>> - }
>> - }
>> -
>> - /**
>> - * @return componentClass
>> - */
>> - public final Class<? extends IRequestableComponent>
>> getComponentClass()
>> - {
>> - return componentClass;
>> - }
>> -
>> - /**
>> - * @return componentPath
>> - */
>> - public final String getComponentPath()
>> - {
>> - return componentPath;
>> - }
>> -
>> - /**
>> - * @return behaviorIndex
>> - */
>> - public final Integer getBehaviorIndex()
>> - {
>> - return behaviorIndex;
>> - }
>> -
>> - /**
>> - * @return behaviorClass
>> - */
>> - public final Class<? extends Behavior> getBehaviorClass()
>> - {
>> - return behaviorClass;
>> - }
>> -
>> - /**
>> - * @return submittingComponentClass
>> - */
>> - public Class<? extends IRequestableComponent>
>> getSubmittingComponentClass()
>> - {
>> - return submittingComponentClass;
>> - }
>> -
>> - /**
>> - * @return submittingComponentPath
>> - */
>> - public String getSubmittingComponentPath()
>> - {
>> - return submittingComponentPath;
>> - }
>> -
>> - @Override
>> - public String toString()
>> - {
>> - StringBuilder sb = new StringBuilder(super.toString());
>> - sb.setCharAt(sb.length() - 1, ',');
>> - if (getComponentClass() != null)
>> - {
>> - sb.append("componentClass=");
>> - sb.append(getComponentClass().getName());
>> - sb.append(',');
>> - }
>> - if (getComponentPath() != null)
>> - {
>> - sb.append("componentPath=");
>> - sb.append(getComponentPath());
>> - sb.append(',');
>> - }
>> - sb.append("behaviorIndex=");
>> - sb.append(getBehaviorIndex());
>> - if (getBehaviorClass() != null)
>> - {
>> - sb.append(",behaviorClass=");
>> - sb.append(getBehaviorClass().getName());
>> - }
>> - if (getSubmittingComponentClass() != null)
>> - {
>> - sb.append(",submittingComponentClass=");
>> - sb.append(getSubmittingComponentClass().
>> getName());
>> - }
>> - if (getSubmittingComponentPath() != null)
>> - {
>> - sb.append(",submittingComponentPath=");
>> - sb.append(getSubmittingComponentPath());
>> - }
>> - sb.append("}");
>> - return sb.toString();
>> - }
>> -}
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/
>> request/handler/logger/ListenerLogData.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
>> request/handler/logger/ListenerLogData.java b/wicket-core/src/main/java/
>> org/apache/wicket/core/request/handler/logger/ListenerLogData.java
>> new file mode 100644
>> index 0000000..d06fe69
>> --- /dev/null
>> +++ b/wicket-core/src/main/java/org/apache/wicket/core/
>> request/handler/logger/ListenerLogData.java
>> @@ -0,0 +1,214 @@
>> +/*
>> + * 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.core.request.handler.logger;
>> +
>> +import org.apache.wicket.Component;
>> +import org.apache.wicket.behavior.Behavior;
>> +import org.apache.wicket.core.request.handler.IPageAndComponentProvider;
>> +import org.apache.wicket.markup.html.form.Form;
>> +import org.apache.wicket.markup.html.form.IFormSubmitter;
>> +import org.apache.wicket.request.component.IRequestableComponent;
>> +
>> +/**
>> + * Contains logging data for component/listener-interface request
>> handlers.
>> + *
>> + * @author Emond Papegaaij
>> + */
>> +public class ListenerLogData extends PageLogData
>> +{
>> + private static final long serialVersionUID = 1L;
>> +
>> + private final Class<? extends IRequestableComponent>
>> componentClass;
>> + private final String componentPath;
>> + private final Integer behaviorIndex;
>> + private Class<? extends Behavior> behaviorClass;
>> + private Class<? extends IRequestableComponent>
>> submittingComponentClass;
>> + private String submittingComponentPath;
>> +
>> + /**
>> + * Construct.
>> + *
>> + * @param pageAndComponentProvider
>> + * @param listenerInterface
>> + * @param behaviorIndex
>> + */
>> + public ListenerLogData(IPageAndComponentProvider
>> pageAndComponentProvider, Integer behaviorIndex)
>> + {
>> + super(pageAndComponentProvider);
>> + componentClass = tryToGetComponentClass(
>> pageAndComponentProvider);
>> + componentPath = tryToGetComponentPath(
>> pageAndComponentProvider);
>> + this.behaviorIndex = behaviorIndex;
>> + if (behaviorIndex != null && componentClass != null)
>> + {
>> + try
>> + {
>> + behaviorClass = pageAndComponentProvider.
>> getComponent()
>> + .getBehaviorById(behaviorIndex)
>> + .getClass();
>> + }
>> + catch (Exception ignore)
>> + {
>> + behaviorClass = null;
>> + }
>> + }
>> + else
>> + {
>> + behaviorClass = null;
>> + }
>> +
>> + final Component formSubmitter =
>> tryToGetFormSubmittingComponent(pageAndComponentProvider);
>> + if (formSubmitter != null)
>> + {
>> + submittingComponentClass =
>> formSubmitter.getClass();
>> + submittingComponentPath = formSubmitter.
>> getPageRelativePath();
>> + }
>> + }
>> +
>> + private static Class<? extends IRequestableComponent>
>> tryToGetComponentClass(
>> + IPageAndComponentProvider pageAndComponentProvider)
>> + {
>> + try
>> + {
>> + return pageAndComponentProvider.
>> getComponent().getClass();
>> + }
>> + catch (Exception e)
>> + {
>> + // getComponent might fail if the page does not
>> exist (ie session timeout)
>> + return null;
>> + }
>> + }
>> +
>> +
>> + private static String tryToGetComponentPath(IPageAndComponentProvider
>> pageAndComponentProvider)
>> + {
>> + try
>> + {
>> + return pageAndComponentProvider.
>> getComponentPath();
>> + }
>> + catch (Exception e)
>> + {
>> + // getComponentPath might fail if the page does
>> not exist (ie session timeout)
>> + return null;
>> + }
>> + }
>> +
>> + private static Component tryToGetFormSubmittingComponent(
>> + IPageAndComponentProvider pageAndComponentProvider)
>> + {
>> + try
>> + {
>> + final IRequestableComponent component =
>> pageAndComponentProvider.getComponent();
>> + if (component instanceof Form)
>> + {
>> + final IFormSubmitter submitter =
>> ((Form<?>)component).findSubmittingButton();
>> + return submitter instanceof Component ?
>> (Component)submitter : null;
>> + }
>> + return null;
>> + }
>> + catch (Exception e)
>> + {
>> + // getComponent might fail if the page does not
>> exist (ie session timeout)
>> + return null;
>> + }
>> + }
>> +
>> + /**
>> + * @return componentClass
>> + */
>> + public final Class<? extends IRequestableComponent>
>> getComponentClass()
>> + {
>> + return componentClass;
>> + }
>> +
>> + /**
>> + * @return componentPath
>> + */
>> + public final String getComponentPath()
>> + {
>> + return componentPath;
>> + }
>> +
>> + /**
>> + * @return behaviorIndex
>> + */
>> + public final Integer getBehaviorIndex()
>> + {
>> + return behaviorIndex;
>> + }
>> +
>> + /**
>> + * @return behaviorClass
>> + */
>> + public final Class<? extends Behavior> getBehaviorClass()
>> + {
>> + return behaviorClass;
>> + }
>> +
>> + /**
>> + * @return submittingComponentClass
>> + */
>> + public Class<? extends IRequestableComponent>
>> getSubmittingComponentClass()
>> + {
>> + return submittingComponentClass;
>> + }
>> +
>> + /**
>> + * @return submittingComponentPath
>> + */
>> + public String getSubmittingComponentPath()
>> + {
>> + return submittingComponentPath;
>> + }
>> +
>> + @Override
>> + public String toString()
>> + {
>> + StringBuilder sb = new StringBuilder(super.toString());
>> + sb.setCharAt(sb.length() - 1, ',');
>> + if (getComponentClass() != null)
>> + {
>> + sb.append("componentClass=");
>> + sb.append(getComponentClass().getName());
>> + sb.append(',');
>> + }
>> + if (getComponentPath() != null)
>> + {
>> + sb.append("componentPath=");
>> + sb.append(getComponentPath());
>> + sb.append(',');
>> + }
>> + sb.append("behaviorIndex=");
>> + sb.append(getBehaviorIndex());
>> + if (getBehaviorClass() != null)
>> + {
>> + sb.append(",behaviorClass=");
>> + sb.append(getBehaviorClass().getName());
>> + }
>> + if (getSubmittingComponentClass() != null)
>> + {
>> + sb.append(",submittingComponentClass=");
>> + sb.append(getSubmittingComponentClass().
>> getName());
>> + }
>> + if (getSubmittingComponentPath() != null)
>> + {
>> + sb.append(",submittingComponentPath=");
>> + sb.append(getSubmittingComponentPath());
>> + }
>> + sb.append("}");
>> + return sb.toString();
>> + }
>> +}
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
>> AbstractBookmarkableMapper.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
>> request/mapper/AbstractBookmarkableMapper.java
>> b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
>> AbstractBookmarkableMapper.java
>> index cb372d8..ecb50a2 100644
>> --- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
>> AbstractBookmarkableMapper.java
>> +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
>> AbstractBookmarkableMapper.java
>> @@ -23,7 +23,7 @@ import org.apache.wicket.IRequestListener;
>> import org.apache.wicket.core.request.handler.
>> BookmarkableListenerInterfaceRequestHandler;
>> import org.apache.wicket.core.request.handler.
>> BookmarkablePageRequestHandler;
>> import org.apache.wicket.core.request.handler.IPageRequestHandler;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.core.request.handler.PageProvider;
>> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
>> @@ -304,7 +304,7 @@ public abstract class AbstractBookmarkableMapper
>> extends AbstractComponentMapper
>>
>> checkExpiration(provider, pageInfo);
>>
>> - return new ListenerInterfaceRequestHandler(provider,
>> componentInfo.getBehaviorId());
>> + return new ListenerRequestHandler(provider,
>> componentInfo.getBehaviorId());
>> }
>>
>> private void checkExpiration(PageProvider provider, PageInfo
>> pageInfo)
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/
>> request/mapper/MountedMapper.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
>> request/mapper/MountedMapper.java b/wicket-core/src/main/java/
>> org/apache/wicket/core/request/mapper/MountedMapper.java
>> index 1b6aa28..f9edf11 100644
>> --- a/wicket-core/src/main/java/org/apache/wicket/core/
>> request/mapper/MountedMapper.java
>> +++ b/wicket-core/src/main/java/org/apache/wicket/core/
>> request/mapper/MountedMapper.java
>> @@ -18,7 +18,7 @@ package org.apache.wicket.core.request.mapper;
>>
>> import java.util.function.Supplier;
>>
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.request.IRequestHandler;
>> import org.apache.wicket.request.Request;
>> import org.apache.wicket.request.Url;
>> @@ -158,10 +158,10 @@ public class MountedMapper extends
>> AbstractBookmarkableMapper
>> {
>> Url url = super.mapHandler(requestHandler);
>>
>> - if (url == null && requestHandler instanceof
>> ListenerInterfaceRequestHandler &&
>> + if (url == null && requestHandler instanceof
>> ListenerRequestHandler &&
>> getRecreateMountedPagesAfterExpiry())
>> {
>> - ListenerInterfaceRequestHandler handler = (
>> ListenerInterfaceRequestHandler)requestHandler;
>> + ListenerRequestHandler handler =
>> (ListenerRequestHandler)requestHandler;
>> IRequestablePage page = handler.getPage();
>> if (checkPageInstance(page))
>> {
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
>> PageInstanceMapper.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/main/java/org/apache/wicket/core/
>> request/mapper/PageInstanceMapper.java b/wicket-core/src/main/java/
>> org/apache/wicket/core/request/mapper/PageInstanceMapper.java
>> index e983131..f90ea87 100644
>> --- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
>> PageInstanceMapper.java
>> +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/
>> PageInstanceMapper.java
>> @@ -16,7 +16,7 @@
>> */
>> package org.apache.wicket.core.request.mapper;
>>
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.core.request.handler.PageProvider;
>> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
>> @@ -85,7 +85,7 @@ public class PageInstanceMapper extends
>> AbstractComponentMapper
>>
>> provider.setPageSource(
>> getContext());
>>
>> - return new
>> ListenerInterfaceRequestHandler(provider, componentInfo.getBehaviorId());
>> + return new ListenerRequestHandler(provider,
>> componentInfo.getBehaviorId());
>> }
>> }
>> }
>> @@ -107,9 +107,9 @@ public class PageInstanceMapper extends
>> AbstractComponentMapper
>> PageInfo i = new PageInfo(page.getPageId());
>> info = new PageComponentInfo(i, null);
>> }
>> - else if (requestHandler instanceof
>> ListenerInterfaceRequestHandler)
>> + else if (requestHandler instanceof ListenerRequestHandler)
>> {
>> - ListenerInterfaceRequestHandler handler = (
>> ListenerInterfaceRequestHandler)requestHandler;
>> + ListenerRequestHandler handler =
>> (ListenerRequestHandler)requestHandler;
>> IRequestablePage page = handler.getPage();
>> String componentPath = handler.getComponentPath();
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/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 b5a15ec..0b30c92 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
>> @@ -62,7 +62,7 @@ import org.apache.wicket.ajax.markup.
>> html.form.AjaxSubmitLink;
>> import org.apache.wicket.behavior.AbstractAjaxBehavior;
>> import org.apache.wicket.core.request.handler.
>> BookmarkablePageRequestHandler;
>> import org.apache.wicket.core.request.handler.IPageProvider;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.core.request.handler.PageProvider;
>> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
>> @@ -1093,7 +1093,7 @@ public class BaseWicketTester
>>
>> // there are two ways to do this. RequestCycle could be
>> forced to call the handler
>> // directly but constructing and parsing the URL increases
>> the chance of triggering bugs
>> - IRequestHandler handler = new
>> ListenerInterfaceRequestHandler(new PageAndComponentProvider(
>> + IRequestHandler handler = new ListenerRequestHandler(new
>> PageAndComponentProvider(
>> component.getPage(), component));
>>
>> Url url = urlFor(handler);
>> @@ -1119,7 +1119,7 @@ public class BaseWicketTester
>>
>> // there are two ways to do this. RequestCycle could be
>> forced to call the handler
>> // directly but constructing and parsing the URL increases
>> the chance of triggering bugs
>> - IRequestHandler handler = new
>> ListenerInterfaceRequestHandler(new PageAndComponentProvider(
>> + IRequestHandler handler = new ListenerRequestHandler(new
>> PageAndComponentProvider(
>> component.getPage(), component));
>>
>> processRequest(handler);
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/
>> BehaviorRequestTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
>> b/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
>> index 909ee23..1e5227c 100644
>> --- a/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
>> +++ b/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
>> @@ -18,7 +18,7 @@ package org.apache.wicket;
>>
>> import org.apache.wicket.behavior.Behavior;
>> import org.apache.wicket.core.request.handler.IPageAndComponentProvider;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.
>> ListenerInvocationNotAllowedException;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.markup.ComponentTag;
>> @@ -83,7 +83,7 @@ public class BehaviorRequestTest extends WicketTestCase
>> final int index = page.container.getBehaviorId(
>> behaviorUnderTest);
>> final IPageAndComponentProvider provider = new
>> PageAndComponentProvider(page,
>> page.container);
>> - final IRequestHandler handler = new
>> ListenerInterfaceRequestHandler(provider, index);
>> + final IRequestHandler handler = new ListenerRequestHandler(provider,
>> index);
>>
>> return tester.urlFor(handler).toString();
>> }
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/
>> ComponentWithLazyModelCreationTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/test/java/org/apache/wicket/
>> ComponentWithLazyModelCreationTest.java b/wicket-core/src/test/java/
>> org/apache/wicket/ComponentWithLazyModelCreationTest.java
>> index 59cd19e..9361351 100644
>> --- a/wicket-core/src/test/java/org/apache/wicket/
>> ComponentWithLazyModelCreationTest.java
>> +++ b/wicket-core/src/test/java/org/apache/wicket/
>> ComponentWithLazyModelCreationTest.java
>> @@ -17,7 +17,7 @@
>> package org.apache.wicket;
>>
>> import org.apache.wicket.behavior.Behavior;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.markup.ComponentTag;
>> import org.apache.wicket.markup.IMarkupResourceStreamProvider;
>> @@ -120,7 +120,7 @@ public class ComponentWithLazyModelCreationTest
>> extends WicketTestCase
>> {
>> super.onComponentTag(component, tag);
>> int index = component.getBehaviorId(this);
>> - IRequestHandler handler = new
>> ListenerInterfaceRequestHandler(
>> + IRequestHandler handler = new
>> ListenerRequestHandler(
>> new PageAndComponentProvider(component.getPage(),
>> component), index);
>> statefullUrl = component.getRequestCycle().
>> mapUrlFor(handler).toString();
>> }
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
>> ListenerInterfaceRequestHandlerTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
>> request/handler/ListenerInterfaceRequestHandlerTest.java
>> b/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
>> ListenerInterfaceRequestHandlerTest.java
>> deleted file mode 100644
>> index d1c0592..0000000
>> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
>> ListenerInterfaceRequestHandlerTest.java
>> +++ /dev/null
>> @@ -1,208 +0,0 @@
>> -/*
>> - * 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.core.request.handler;
>> -
>> -import static org.hamcrest.Matchers.is;
>> -
>> -import java.io.IOException;
>> -import java.text.ParseException;
>> -
>> -import org.apache.wicket.MarkupContainer;
>> -import org.apache.wicket.Page;
>> -import org.apache.wicket.Session;
>> -import org.apache.wicket.WicketRuntimeException;
>> -import org.apache.wicket.ajax.AjaxRequestTarget;
>> -import org.apache.wicket.ajax.markup.html.AjaxLink;
>> -import org.apache.wicket.core.request.mapper.MountedMapper;
>> -import org.apache.wicket.markup.IMarkupFragment;
>> -import org.apache.wicket.markup.IMarkupResourceStreamProvider;
>> -import org.apache.wicket.markup.Markup;
>> -import org.apache.wicket.markup.html.WebPage;
>> -import org.apache.wicket.markup.html.link.Link;
>> -import org.apache.wicket.markup.html.link.StatelessLink;
>> -import org.apache.wicket.request.Url;
>> -import org.apache.wicket.request.mapper.parameter.PageParameters;
>> -import org.apache.wicket.resource.DummyPage;
>> -import org.apache.wicket.util.resource.IResourceStream;
>> -import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
>> -import org.apache.wicket.util.resource.StringResourceStream;
>> -import org.apache.wicket.util.tester.WicketTestCase;
>> -import org.junit.Test;
>> -
>> -/**
>> - * Tests for {@link ListenerInterfaceRequestHandler}
>> - */
>> -public class ListenerInterfaceRequestHandlerTest extends WicketTestCase
>> -{
>> -
>> - /**
>> - * WICKET-5466
>> - */
>> - @Test
>> - public void removedComponent()
>> - {
>> - // non-existing component on fresh page is ignored
>> - PageAndComponentProvider freshPage = new
>> PageAndComponentProvider(DummyPage.class, null,
>> - "foo");
>> - new ListenerInterfaceRequestHandle
>> r(freshPage).respond(tester
>> - .getRequestCycle());
>> -
>> - // non-existing component on old page fails
>> - PageAndComponentProvider oldPage = new
>> PageAndComponentProvider(new DummyPage(), "foo");
>> - try
>> - {
>> - new ListenerInterfaceRequestHandler(oldPage)
>> - .respond(tester.getRequestCycle());
>> - fail();
>> - }
>> - catch (WicketRuntimeException ex)
>> - {
>> - assertEquals("Component 'foo' has been removed
>> from page.", ex.getMessage());
>> - }
>> - }
>> -
>> - /**
>> - * https://issues.apache.org/jira/browse/WICKET-4116
>> - *
>> - * @throws Exception
>> - */
>> - @Test
>> - public void recreateThePageWhenListenereIn
>> terfaceIsExecutedOnExpiredPage() throws Exception
>> - {
>> - tester.getApplication().mountPage("ajaxLink",
>> AjaxLinkExpirePage.class);
>> - AjaxLinkExpirePage page = tester.startPage(
>> AjaxLinkExpirePage.class);
>> -
>> - int initialPageId = page.getPageId();
>> -
>> - Url urlToAjaxLink = tester.urlFor(page.link);
>> - Session session = tester.getSession();
>> - session.clear();
>> -
>> - // fire a request to the ajax link on the expired page
>> - executeAjaxUrlWithLastBaseUrl(urlToAjaxLink);
>> -
>> - Page lastRenderedPage = tester.getLastRenderedPage();
>> - int lastRenderedPageId = lastRenderedPage.getPageId();
>> - assertTrue("A new page must be create ",
>> lastRenderedPageId > initialPageId);
>> - }
>> -
>> - private void executeAjaxUrlWithLastBaseUrl(Url url) throws
>> IOException,
>> - ResourceStreamNotFoundException, ParseException
>> - {
>> - tester.getRequest().setUrl(url);
>> - tester.getRequest().addHeader("Wicket-Ajax-BaseURL",
>> - tester.getWicketAjaxBaseUrlEncodedInL
>> astResponse());
>> - tester.getRequest().addHeader("Wicket-Ajax", "true");
>> - tester.processRequest();
>> - }
>> -
>> - /**
>> - * Test page for #recreateThePageWhenListenereIn
>> terfaceIsExecutedOnExpiredPage()
>> - */
>> - public static class AjaxLinkExpirePage extends WebPage implements
>> IMarkupResourceStreamProvider
>> - {
>> - private static final long serialVersionUID = 1L;
>> -
>> - private AjaxLink<Void> link;
>> -
>> - /**
>> - * Constructor.
>> - */
>> - public AjaxLinkExpirePage()
>> - {
>> - add(link = new AjaxLink<Void>("test")
>> - {
>> - private static final long serialVersionUID
>> = 1L;
>> -
>> - @Override
>> - public void onClick(AjaxRequestTarget
>> target)
>> - {
>> - System.err.println("clicked");
>> - }
>> - });
>> - }
>> -
>> - @Override
>> - public IResourceStream getMarkupResourceStream(MarkupContainer
>> container,
>> - Class<?> containerClass)
>> - {
>> -
>> - return new StringResourceStream(
>> - "<html><body><a wicket:id='test'>Link</a></
>> body></html>");
>> - }
>> -
>> - }
>> -
>> - /**
>> - * Testcase for WICKET-4185
>> - */
>> - @Test
>> - public void isPageInstanceCreatedOnClassLinks()
>> - {
>> - PageAndComponentProvider provider = new
>> PageAndComponentProvider(Page.class, "link");
>> - ListenerInterfaceRequestHandler handler = new
>> ListenerInterfaceRequestHandler(provider);
>> - assertFalse("Handler should not report a page instance is
>> available ",
>> - handler.isPageInstanceCreated());
>> - }
>> -
>> - @Test
>> - public void skipListenerIfExpiredPage()
>> - {
>> - tester.getApplication().getRootRequestMapperAsCompound()
>> .add(new MountedMapper("/segment", NotExpiredPage.class));
>> - tester.startPage(NotExpiredPage.class);
>> - tester.clickLink("statelessLink");
>> - NotExpiredPage page = (NotExpiredPage)tester.
>> getLastRenderedPage();
>> - assertThat(page.invoked, is(true));
>> - }
>> -
>> - public static class NotExpiredPage extends WebPage
>> - {
>> - public boolean invoked;
>> -
>> - public NotExpiredPage(PageParameters pageParameters)
>> - {
>> - super(pageParameters);
>> - add(new StatelessLink<Object>("statelessLink")
>> - {
>> - public void onClick()
>> - {
>> - invoked = true;
>> - }
>> - });
>> - add(new Link<Object>("statefullLink")
>> - {
>> - public void onClick()
>> - {
>> - }
>> - });
>> - }
>> -
>> - @Override
>> - public IMarkupFragment getMarkup()
>> - {
>> - return Markup.of(
>> - "<html><body><a
>> wicket:id=\"statelessLink\"></a><a wicket:id=\"statefullLink\"></
>> a></body></html>");
>> - }
>> -
>> - @Override
>> - protected void onBeforeRender()
>> - {
>> - get("statefullLink").setVisible(false);
>> - super.onBeforeRender();
>> - }
>> - }
>> -}
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
>> ListenerRequestHandlerTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
>> request/handler/ListenerRequestHandlerTest.java
>> b/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
>> ListenerRequestHandlerTest.java
>> new file mode 100644
>> index 0000000..b212c9c
>> --- /dev/null
>> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/handler/
>> ListenerRequestHandlerTest.java
>> @@ -0,0 +1,208 @@
>> +/*
>> + * 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.core.request.handler;
>> +
>> +import static org.hamcrest.Matchers.is;
>> +
>> +import java.io.IOException;
>> +import java.text.ParseException;
>> +
>> +import org.apache.wicket.MarkupContainer;
>> +import org.apache.wicket.Page;
>> +import org.apache.wicket.Session;
>> +import org.apache.wicket.WicketRuntimeException;
>> +import org.apache.wicket.ajax.AjaxRequestTarget;
>> +import org.apache.wicket.ajax.markup.html.AjaxLink;
>> +import org.apache.wicket.core.request.mapper.MountedMapper;
>> +import org.apache.wicket.markup.IMarkupFragment;
>> +import org.apache.wicket.markup.IMarkupResourceStreamProvider;
>> +import org.apache.wicket.markup.Markup;
>> +import org.apache.wicket.markup.html.WebPage;
>> +import org.apache.wicket.markup.html.link.Link;
>> +import org.apache.wicket.markup.html.link.StatelessLink;
>> +import org.apache.wicket.request.Url;
>> +import org.apache.wicket.request.mapper.parameter.PageParameters;
>> +import org.apache.wicket.resource.DummyPage;
>> +import org.apache.wicket.util.resource.IResourceStream;
>> +import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
>> +import org.apache.wicket.util.resource.StringResourceStream;
>> +import org.apache.wicket.util.tester.WicketTestCase;
>> +import org.junit.Test;
>> +
>> +/**
>> + * Tests for {@link ListenerRequestHandler}
>> + */
>> +public class ListenerRequestHandlerTest extends WicketTestCase
>> +{
>> +
>> + /**
>> + * WICKET-5466
>> + */
>> + @Test
>> + public void removedComponent()
>> + {
>> + // non-existing component on fresh page is ignored
>> + PageAndComponentProvider freshPage = new
>> PageAndComponentProvider(DummyPage.class, null,
>> + "foo");
>> + new ListenerRequestHandler(freshPage).respond(tester
>> + .getRequestCycle());
>> +
>> + // non-existing component on old page fails
>> + PageAndComponentProvider oldPage = new
>> PageAndComponentProvider(new DummyPage(), "foo");
>> + try
>> + {
>> + new ListenerRequestHandler(oldPage)
>> + .respond(tester.getRequestCycle());
>> + fail();
>> + }
>> + catch (WicketRuntimeException ex)
>> + {
>> + assertEquals("Component 'foo' has been removed
>> from page.", ex.getMessage());
>> + }
>> + }
>> +
>> + /**
>> + * https://issues.apache.org/jira/browse/WICKET-4116
>> + *
>> + * @throws Exception
>> + */
>> + @Test
>> + public void recreateThePageWhenListenereIn
>> terfaceIsExecutedOnExpiredPage() throws Exception
>> + {
>> + tester.getApplication().mountPage("ajaxLink",
>> AjaxLinkExpirePage.class);
>> + AjaxLinkExpirePage page = tester.startPage(
>> AjaxLinkExpirePage.class);
>> +
>> + int initialPageId = page.getPageId();
>> +
>> + Url urlToAjaxLink = tester.urlFor(page.link);
>> + Session session = tester.getSession();
>> + session.clear();
>> +
>> + // fire a request to the ajax link on the expired page
>> + executeAjaxUrlWithLastBaseUrl(urlToAjaxLink);
>> +
>> + Page lastRenderedPage = tester.getLastRenderedPage();
>> + int lastRenderedPageId = lastRenderedPage.getPageId();
>> + assertTrue("A new page must be create ",
>> lastRenderedPageId > initialPageId);
>> + }
>> +
>> + private void executeAjaxUrlWithLastBaseUrl(Url url) throws
>> IOException,
>> + ResourceStreamNotFoundException, ParseException
>> + {
>> + tester.getRequest().setUrl(url);
>> + tester.getRequest().addHeader("Wicket-Ajax-BaseURL",
>> + tester.getWicketAjaxBaseUrlEncodedInL
>> astResponse());
>> + tester.getRequest().addHeader("Wicket-Ajax", "true");
>> + tester.processRequest();
>> + }
>> +
>> + /**
>> + * Test page for #recreateThePageWhenListenereIn
>> terfaceIsExecutedOnExpiredPage()
>> + */
>> + public static class AjaxLinkExpirePage extends WebPage implements
>> IMarkupResourceStreamProvider
>> + {
>> + private static final long serialVersionUID = 1L;
>> +
>> + private AjaxLink<Void> link;
>> +
>> + /**
>> + * Constructor.
>> + */
>> + public AjaxLinkExpirePage()
>> + {
>> + add(link = new AjaxLink<Void>("test")
>> + {
>> + private static final long serialVersionUID
>> = 1L;
>> +
>> + @Override
>> + public void onClick(AjaxRequestTarget
>> target)
>> + {
>> + System.err.println("clicked");
>> + }
>> + });
>> + }
>> +
>> + @Override
>> + public IResourceStream getMarkupResourceStream(MarkupContainer
>> container,
>> + Class<?> containerClass)
>> + {
>> +
>> + return new StringResourceStream(
>> + "<html><body><a wicket:id='test'>Link</a></
>> body></html>");
>> + }
>> +
>> + }
>> +
>> + /**
>> + * Testcase for WICKET-4185
>> + */
>> + @Test
>> + public void isPageInstanceCreatedOnClassLinks()
>> + {
>> + PageAndComponentProvider provider = new
>> PageAndComponentProvider(Page.class, "link");
>> + ListenerRequestHandler handler = new
>> ListenerRequestHandler(provider);
>> + assertFalse("Handler should not report a page instance is
>> available ",
>> + handler.isPageInstanceCreated());
>> + }
>> +
>> + @Test
>> + public void skipListenerIfExpiredPage()
>> + {
>> + tester.getApplication().getRootRequestMapperAsCompound()
>> .add(new MountedMapper("/segment", NotExpiredPage.class));
>> + tester.startPage(NotExpiredPage.class);
>> + tester.clickLink("statelessLink");
>> + NotExpiredPage page = (NotExpiredPage)tester.
>> getLastRenderedPage();
>> + assertThat(page.invoked, is(true));
>> + }
>> +
>> + public static class NotExpiredPage extends WebPage
>> + {
>> + public boolean invoked;
>> +
>> + public NotExpiredPage(PageParameters pageParameters)
>> + {
>> + super(pageParameters);
>> + add(new StatelessLink<Object>("statelessLink")
>> + {
>> + public void onClick()
>> + {
>> + invoked = true;
>> + }
>> + });
>> + add(new Link<Object>("statefullLink")
>> + {
>> + public void onClick()
>> + {
>> + }
>> + });
>> + }
>> +
>> + @Override
>> + public IMarkupFragment getMarkup()
>> + {
>> + return Markup.of(
>> + "<html><body><a
>> wicket:id=\"statelessLink\"></a><a wicket:id=\"statefullLink\"></
>> a></body></html>");
>> + }
>> +
>> + @Override
>> + protected void onBeforeRender()
>> + {
>> + get("statefullLink").setVisible(false);
>> + super.onBeforeRender();
>> + }
>> + }
>> +}
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> BookmarkableMapperTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
>> request/mapper/BookmarkableMapperTest.java b/wicket-core/src/test/java/
>> org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
>> index f4fc1aa..e22210b 100644
>> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> BookmarkableMapperTest.java
>> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> BookmarkableMapperTest.java
>> @@ -28,7 +28,7 @@ import org.apache.wicket.core.request.handler.
>> BookmarkableListenerInterfaceReque
>> import org.apache.wicket.core.request.handler.
>> BookmarkablePageRequestHandler;
>> import org.apache.wicket.core.request.handler.IPageProvider;
>> import org.apache.wicket.core.request.handler.IPageRequestHandler;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.core.request.handler.PageProvider;
>> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
>> @@ -177,9 +177,9 @@ public class BookmarkableMapperTest extends
>> AbstractMapperTest
>> Url url = Url.parse("wicket/bookmarkable/" +
>> PAGE_CLASS_NAME + "?15--foo-bar");
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> checkPage(page, 15);
>> @@ -198,8 +198,8 @@ public class BookmarkableMapperTest extends
>> AbstractMapperTest
>> + "/i1/i2?15--foo-bar&a=b&b=c");
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> checkPage(page, 15);
>> @@ -222,9 +222,9 @@ public class BookmarkableMapperTest extends
>> AbstractMapperTest
>> + "?15-ILinkListener.4-foo-bar");
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> checkPage(page, 15);
>> @@ -246,8 +246,8 @@ public class BookmarkableMapperTest extends
>> AbstractMapperTest
>>
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> assertEquals(page.getRenderCount(), 5);
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> CryptoMapperTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
>> request/mapper/CryptoMapperTest.java b/wicket-core/src/test/java/
>> org/apache/wicket/core/request/mapper/CryptoMapperTest.java
>> index 98696fd..f87dcc8 100644
>> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> CryptoMapperTest.java
>> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> CryptoMapperTest.java
>> @@ -22,7 +22,7 @@ import java.util.function.Supplier;
>>
>> import org.apache.wicket.MockPage;
>> import org.apache.wicket.core.request.handler.
>> BookmarkableListenerInterfaceRequestHandler;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.core.request.handler.PageProvider;
>> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
>> @@ -358,7 +358,7 @@ public class CryptoMapperTest extends
>> AbstractMapperTest
>> final String componentPath = "link";
>>
>> PageAndComponentProvider provider = new
>> PageAndComponentProvider(Page1.class, componentPath);
>> - IRequestHandler requestHandler = new
>> ListenerInterfaceRequestHandler(provider);
>> + IRequestHandler requestHandler = new
>> ListenerRequestHandler(provider);
>>
>> Url plainUrl = mapper.getDelegateMapper().
>> mapHandler(requestHandler);
>> assertTrue(plainUrl.toString().startsWith(MOUNTED_URL));
>> @@ -391,9 +391,9 @@ public class CryptoMapperTest extends
>> AbstractMapperTest
>>
>> requestHandler = unwrapRequestHandlerDelegate(
>> requestHandler);
>>
>> - assertThat(requestHandler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(requestHandler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler handler = (
>> ListenerInterfaceRequestHandler) requestHandler;
>> + ListenerRequestHandler handler = (ListenerRequestHandler)
>> requestHandler;
>> assertEquals(componentPath, handler.getComponentPath());
>> assertEquals(Page1.class, handler.getPageClass());
>>
>> @@ -407,9 +407,9 @@ public class CryptoMapperTest extends
>> AbstractMapperTest
>>
>> requestHandler = unwrapRequestHandlerDelegate(
>> requestHandler);
>>
>> - assertThat(requestHandler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(requestHandler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - handler = (ListenerInterfaceRequestHandler)
>> requestHandler;
>> + handler = (ListenerRequestHandler) requestHandler;
>> assertEquals(componentPath, handler.getComponentPath());
>> assertEquals(Page1.class, handler.getPageClass());
>> }
>> @@ -603,7 +603,7 @@ public class CryptoMapperTest extends
>> AbstractMapperTest
>> MockPage page = new MockPage();
>> IRequestableComponent c = page.get("foo:bar");
>> PageAndComponentProvider provider = new
>> PageAndComponentProvider(page, c);
>> - IRequestHandler handler = new
>> ListenerInterfaceRequestHandler(provider);
>> + IRequestHandler handler = new ListenerRequestHandler(
>> provider);
>>
>> Url url = mapper.mapHandler(handler);
>> url.addQueryParameter("q", "foo");
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> MountedMapperTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
>> request/mapper/MountedMapperTest.java b/wicket-core/src/test/java/
>> org/apache/wicket/core/request/mapper/MountedMapperTest.java
>> index d92cc83..f19d866 100644
>> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> MountedMapperTest.java
>> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> MountedMapperTest.java
>> @@ -23,7 +23,7 @@ import org.apache.wicket.core.request.handler.
>> BookmarkableListenerInterfaceReque
>> import org.apache.wicket.core.request.handler.
>> BookmarkablePageRequestHandler;
>> import org.apache.wicket.core.request.handler.IPageProvider;
>> import org.apache.wicket.core.request.handler.IPageRequestHandler;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.core.request.handler.PageProvider;
>> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
>> @@ -210,9 +210,9 @@ public class MountedMapperTest extends
>> AbstractMapperTest
>> Url url = Url.parse("some/mount/path?15--foo-bar");
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> checkPage(page, 15);
>> @@ -230,8 +230,8 @@ public class MountedMapperTest extends
>> AbstractMapperTest
>> Url url = Url.parse("some/mount/path/i1/
>> i2?15--foo-bar&a=b&b=c");
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> checkPage(page, 15);
>> @@ -253,9 +253,9 @@ public class MountedMapperTest extends
>> AbstractMapperTest
>> Url url = Url.parse("some/mount/path?
>> param1=value1&15-.4-foo-bar");
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> checkPage(page, 15);
>> @@ -298,9 +298,9 @@ public class MountedMapperTest extends
>> AbstractMapperTest
>> context.setNextPageRenderCount(5);
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> assertEquals(5, page.getRenderCount());
>> @@ -329,9 +329,9 @@ public class MountedMapperTest extends
>> AbstractMapperTest
>> Url url = Url.parse("some/mount/path/i1/
>> i2?-1.-foo-bar&a=b&b=c");
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>> IRequestablePage page = h.getPage();
>> checkPage(page, 1);
>>
>> @@ -497,7 +497,7 @@ public class MountedMapperTest extends
>> AbstractMapperTest
>> IRequestableComponent c = page.get("foo:bar");
>>
>> PageAndComponentProvider provider = new
>> PageAndComponentProvider(page, c);
>> - IRequestHandler handler = new
>> ListenerInterfaceRequestHandler(provider);
>> + IRequestHandler handler = new ListenerRequestHandler(
>> provider);
>>
>> Url url = encoder.mapHandler(handler);
>>
>> @@ -555,7 +555,7 @@ public class MountedMapperTest extends
>> AbstractMapperTest
>> IRequestableComponent c = page.get("foo:bar");
>>
>> PageAndComponentProvider provider = new
>> PageAndComponentProvider(page, c);
>> - IRequestHandler handler = new
>> ListenerInterfaceRequestHandler(provider, 4);
>> + IRequestHandler handler = new ListenerRequestHandler(provider,
>> 4);
>>
>> Url url = encoder.mapHandler(handler);
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> PackageMapperTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
>> request/mapper/PackageMapperTest.java b/wicket-core/src/test/java/
>> org/apache/wicket/core/request/mapper/PackageMapperTest.java
>> index 6a620ad..b0bb221 100644
>> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> PackageMapperTest.java
>> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> PackageMapperTest.java
>> @@ -25,7 +25,7 @@ import org.apache.wicket.core.request.handler.
>> BookmarkableListenerInterfaceReque
>> import org.apache.wicket.core.request.handler.
>> BookmarkablePageRequestHandler;
>> import org.apache.wicket.core.request.handler.IPageProvider;
>> import org.apache.wicket.core.request.handler.IPageRequestHandler;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.core.request.handler.PageProvider;
>> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
>> @@ -243,9 +243,9 @@ public class PackageMapperTest extends
>> AbstractMapperTest
>> Url url = Url.parse(MOUNT_PATH + '/' + PAGE_CLASS_NAME +
>> "?15--foo-bar");
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> checkPage(page, 15);
>> @@ -263,8 +263,8 @@ public class PackageMapperTest extends
>> AbstractMapperTest
>> Url url = Url.parse(MOUNT_PATH + '/' + PAGE_CLASS_NAME +
>> "/i1/i2?15--foo-bar&a=b&b=c");
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> checkPage(page, 15);
>> @@ -286,9 +286,9 @@ public class PackageMapperTest extends
>> AbstractMapperTest
>> Url url = Url.parse(MOUNT_PATH + '/' + PAGE_CLASS_NAME +
>> "?15-.4-foo-bar");
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> checkPage(page, 15);
>> @@ -309,8 +309,8 @@ public class PackageMapperTest extends
>> AbstractMapperTest
>>
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>>
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>>
>> IRequestablePage page = h.getPage();
>> assertEquals(page.getRenderCount(), 5);
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> PageInstanceMapperTest.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/test/java/org/apache/wicket/core/
>> request/mapper/PageInstanceMapperTest.java b/wicket-core/src/test/java/
>> org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java
>> index 9a2eaf0..2691070 100644
>> --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> PageInstanceMapperTest.java
>> +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/
>> PageInstanceMapperTest.java
>> @@ -24,7 +24,7 @@ import java.util.Locale;
>> import org.apache.wicket.MockPage;
>> import org.apache.wicket.core.request.handler.IPageProvider;
>> import org.apache.wicket.core.request.handler.IPageRequestHandler;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.core.request.handler.PageProvider;
>> import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
>> @@ -90,9 +90,9 @@ public class PageInstanceMapperTest extends
>> AbstractMapperTest
>> Url url = Url.parse("wicket/page?4--a-b-c");
>>
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>> checkPage(h.getPage(), 4);
>> assertEquals(h.getComponent().getPageRelativePath(),
>> "a:b:c");
>> assertNull(h.getBehaviorIndex());
>> @@ -131,9 +131,9 @@ public class PageInstanceMapperTest extends
>> AbstractMapperTest
>> Url url = Url.parse("wicket/page?4-
>> ILinkListener.5-a-b-c");
>>
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>> checkPage(h.getPage(), 4);
>> assertEquals(h.getComponent().getPageRelativePath(),
>> "a:b:c");
>> assertEquals((Object)5, h.getBehaviorIndex());
>> @@ -150,9 +150,9 @@ public class PageInstanceMapperTest extends
>> AbstractMapperTest
>> context.setNextPageRenderCount(6);
>>
>> IRequestHandler handler = encoder.mapRequest(getRequest(
>> url));
>> - assertThat(handler, instanceOf(
>> ListenerInterfaceRequestHandler.class));
>> + assertThat(handler, instanceOf(
>> ListenerRequestHandler.class));
>>
>> - ListenerInterfaceRequestHandler h = (
>> ListenerInterfaceRequestHandler)handler;
>> + ListenerRequestHandler h = (ListenerRequestHandler)
>> handler;
>> assertEquals(6, h.getPage().getRenderCount());
>> }
>>
>> @@ -287,7 +287,7 @@ public class PageInstanceMapperTest extends
>> AbstractMapperTest
>> IRequestableComponent c = page.get("a:b:c");
>>
>> PageAndComponentProvider provider = new
>> PageAndComponentProvider(page, c);
>> - IRequestHandler handler = new
>> ListenerInterfaceRequestHandler(provider);
>> + IRequestHandler handler = new ListenerRequestHandler(
>> provider);
>>
>> Url url = encoder.mapHandler(handler);
>> assertEquals("wicket/page?15-5.-a-b-c", url.toString());
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/
>> 8342e4ef/wicket-examples/src/main/java/org/apache/wicket/
>> examples/ajax/prototype/Index.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-examples/src/main/java/org/apache/wicket/
>> examples/ajax/prototype/Index.java b/wicket-examples/src/main/
>> java/org/apache/wicket/examples/ajax/prototype/Index.java
>> index 2795eb5..c62ce4b 100644
>> --- a/wicket-examples/src/main/java/org/apache/wicket/
>> examples/ajax/prototype/Index.java
>> +++ b/wicket-examples/src/main/java/org/apache/wicket/
>> examples/ajax/prototype/Index.java
>> @@ -17,7 +17,7 @@
>> package org.apache.wicket.examples.ajax.prototype;
>>
>> import org.apache.wicket.core.request.handler.
>> ComponentRenderingRequestHandler;
>> -import org.apache.wicket.core.request.handler.
>> ListenerInterfaceRequestHandler;
>> +import org.apache.wicket.core.request.handler.ListenerRequestHandler;
>> import org.apache.wicket.core.request.handler.PageAndComponentProvider;
>> import org.apache.wicket.examples.WicketExamplePage;
>> import org.apache.wicket.markup.html.basic.Label;
>> @@ -79,8 +79,7 @@ public class Index extends WicketExamplePage
>> @Override
>> protected String getOnClickScript(CharSequence url)
>> {
>> - IRequestHandler handler = new
>> ListenerInterfaceRequestHandler(
>> - new PageAndComponentProvider(getPage(),
>> this));
>> + IRequestHandler handler = new
>> ListenerRequestHandler(new PageAndComponentProvider(getPage(), this));
>> Url componentUrl =
>> RequestCycle.get().mapUrlFor(handler);
>> componentUrl.addQueryParameter("anticache",
>> Math.random());
>> return new AppendingStringBuffer("new
>> Ajax.Updater('counter', '").append(
>>
>>