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, <[email protected]> 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 <[email protected]>
Authored: Mon Jan 30 16:50:26 2017 +0100
Committer: Sven Meier <[email protected]>
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(



Reply via email to