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 <svenme...@apache.org>
Authored: Mon Jan 30 16:50:26 2017 +0100
Committer: Sven Meier <svenme...@apache.org>
Committed: Mon Jan 30 16:50:26 2017 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/wicket/Component.java  |   4 +-
 ...markableListenerInterfaceRequestHandler.java |   2 +-
 .../ListenerInterfaceRequestHandler.java        | 327 -------------------
 .../request/handler/ListenerRequestHandler.java | 327 +++++++++++++++++++
 .../logger/ListenerInterfaceLogData.java        | 214 ------------
 .../request/handler/logger/ListenerLogData.java | 214 ++++++++++++
 .../mapper/AbstractBookmarkableMapper.java      |   4 +-
 .../core/request/mapper/MountedMapper.java      |   6 +-
 .../core/request/mapper/PageInstanceMapper.java |   8 +-
 .../wicket/util/tester/BaseWicketTester.java    |   6 +-
 .../org/apache/wicket/BehaviorRequestTest.java  |   4 +-
 .../ComponentWithLazyModelCreationTest.java     |   4 +-
 .../ListenerInterfaceRequestHandlerTest.java    | 208 ------------
 .../handler/ListenerRequestHandlerTest.java     | 208 ++++++++++++
 .../request/mapper/BookmarkableMapperTest.java  |  18 +-
 .../core/request/mapper/CryptoMapperTest.java   |  14 +-
 .../core/request/mapper/MountedMapperTest.java  |  26 +-
 .../core/request/mapper/PackageMapperTest.java  |  18 +-
 .../request/mapper/PageInstanceMapperTest.java  |  16 +-
 .../wicket/examples/ajax/prototype/Index.java   |   5 +-
 20 files changed, 816 insertions(+), 817 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/Component.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java 
b/wicket-core/src/main/java/org/apache/wicket/Component.java
index 97262ed..a6aa54f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -32,7 +32,7 @@ import 
org.apache.wicket.authorization.UnauthorizedActionException;
 import 
org.apache.wicket.authorization.strategies.page.SimplePageAuthorizationStrategy;
 import org.apache.wicket.behavior.Behavior;
 import 
org.apache.wicket.core.request.handler.BookmarkableListenerInterfaceRequestHandler;
-import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
+import org.apache.wicket.core.request.handler.ListenerRequestHandler;
 import org.apache.wicket.core.request.handler.PageAndComponentProvider;
 import org.apache.wicket.core.util.lang.WicketObjects;
 import org.apache.wicket.core.util.string.ComponentStrings;
@@ -3396,7 +3396,7 @@ public abstract class Component
                }
                else
                {
-                       return new ListenerInterfaceRequestHandler(provider, 
id);
+                       return new ListenerRequestHandler(provider, id);
                }
        }
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
index b3de191..772e215 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
@@ -25,7 +25,7 @@ import org.apache.wicket.util.lang.Args;
 
 /**
  * Request handler for bookmarkable pages with an {@link IRequestListener}. 
This handler is only used to
- * generate URLs. Rendering is always handled by {@link 
ListenerInterfaceRequestHandler}.
+ * generate URLs. Rendering is always handled by {@link 
ListenerRequestHandler}.
  *
  * @author Matej Knopp
  */

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandler.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandler.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandler.java
deleted file mode 100644
index c976a42..0000000
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandler.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.core.request.handler;
-
-import org.apache.wicket.Component;
-import org.apache.wicket.IRequestListener;
-import org.apache.wicket.Page;
-import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.behavior.Behavior;
-import 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.RedirectPolicy;
-import org.apache.wicket.core.request.handler.logger.ListenerInterfaceLogData;
-import org.apache.wicket.request.ILoggableRequestHandler;
-import org.apache.wicket.request.IRequestCycle;
-import org.apache.wicket.request.component.IRequestableComponent;
-import org.apache.wicket.request.component.IRequestablePage;
-import org.apache.wicket.request.http.WebRequest;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.util.lang.Args;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Request handler that invokes an {@link IRequestListener} on component or 
behavior and renders page afterwards.
- *
- * @author Matej Knopp
- */
-public class ListenerInterfaceRequestHandler
-       implements
-               IPageRequestHandler,
-               IComponentRequestHandler,
-               ILoggableRequestHandler
-{
-       
-       private static final Logger LOG = 
LoggerFactory.getLogger(ListenerInterfaceRequestHandler.class);
-
-       private final IPageAndComponentProvider pageComponentProvider;
-
-       private final Integer behaviorId;
-
-       private ListenerInterfaceLogData logData;
-
-       /**
-        * Construct.
-        *
-        * @param pageComponentProvider
-        * @param behaviorIndex
-        */
-       public ListenerInterfaceRequestHandler(IPageAndComponentProvider 
pageComponentProvider, Integer behaviorIndex)
-       {
-               Args.notNull(pageComponentProvider, "pageComponentProvider");
-
-               this.pageComponentProvider = pageComponentProvider;
-               behaviorId = behaviorIndex;
-       }
-
-       /**
-        * Construct.
-        *
-        * @param pageComponentProvider
-        */
-       public ListenerInterfaceRequestHandler(PageAndComponentProvider 
pageComponentProvider)
-       {
-               this(pageComponentProvider, null);
-       }
-
-       public boolean includeRenderCount() {
-               if (behaviorId == null) {
-                       return ((IRequestListener)getComponent()).rendersPage();
-               } else {
-                       return 
((IRequestListener)getComponent().getBehaviorById(getBehaviorIndex())).rendersPage();
-               }
-       }
-       
-       @Override
-       public IRequestableComponent getComponent()
-       {
-               return pageComponentProvider.getComponent();
-       }
-
-       @Override
-       public IRequestablePage getPage()
-       {
-               return pageComponentProvider.getPageInstance();
-       }
-
-       @Override
-       public Class<? extends IRequestablePage> getPageClass()
-       {
-               return pageComponentProvider.getPageClass();
-       }
-
-       @Override
-       public Integer getPageId()
-       {
-               return pageComponentProvider.getPageId();
-       }
-
-       @Override
-       public PageParameters getPageParameters()
-       {
-               return pageComponentProvider.getPageParameters();
-       }
-
-       @Override
-       public void detach(IRequestCycle requestCycle)
-       {
-               if (logData == null)
-               {
-                       logData = new 
ListenerInterfaceLogData(pageComponentProvider, behaviorId);
-               }
-               pageComponentProvider.detach();
-       }
-
-       /**
-        * Index of target behavior or <code>null</code> if component is the 
target.
-        *
-        * @return behavior index or <code>null</code>
-        */
-       public Integer getBehaviorIndex()
-       {
-               return behaviorId;
-       }
-
-       @Override
-       public void respond(final IRequestCycle requestCycle)
-       {
-               final IRequestablePage page = getPage();
-               final boolean freshPage = 
pageComponentProvider.isPageInstanceFresh();
-               final boolean isAjax = 
((WebRequest)requestCycle.getRequest()).isAjax();
-
-               IRequestableComponent component;
-               try
-               {
-                       component = getComponent();
-               }
-               catch (ComponentNotFoundException e)
-               {
-                       // either the page is stateless and the component we 
are looking for is not added in the
-                       // constructor
-                       // or the page is stateful+stale and a new instances 
was created by pageprovider
-                       // we denote this by setting component to null
-                       component = null;
-               }
-
-               if ((component == null && !freshPage) || (component != null && 
component.getPage() != page))
-               {
-                       throw new ComponentNotFoundException("Component '" + 
getComponentPath()
-                                       + "' has been removed from page.");
-               }
-
-               if (page instanceof Page)
-               {
-                       // initialize the page to be able to check whether it 
is stateless
-                       ((Page)page).internalInitialize();
-               }
-
-               RedirectPolicy policy = page.isPageStateless()
-                       ? RedirectPolicy.NEVER_REDIRECT
-                       : RedirectPolicy.AUTO_REDIRECT;
-
-               boolean blockIfExpired = component != null && 
!component.canCallListenerInterfaceAfterExpiry();
-
-               boolean lateComponent = component == null && freshPage;
-
-               if ((pageComponentProvider.wasExpired() && blockIfExpired) || 
lateComponent)
-               {
-                       // A request listener is invoked on an expired page or 
the component couldn't be
-                       // determined. The best we can do is to re-paint the 
newly constructed page.
-                       // Reference: WICKET-4454, WICKET-6288
-
-                       if (LOG.isDebugEnabled())
-                       {
-                               LOG.debug(
-                                       "An IRequestListener was called but its 
page/component({}) couldn't be resolved. "
-                                               + "Scheduling re-create of the 
page and ignoring the listener interface...",
-                                       getComponentPath());
-                       }
-
-                       if (isAjax)
-                       {
-                               policy = RedirectPolicy.ALWAYS_REDIRECT;
-                       }
-
-                       requestCycle.scheduleRequestHandlerAfterCurrent(new 
RenderPageRequestHandler(
-                               new PageProvider(page), policy));
-                       return;
-               }
-
-               invokeListener(requestCycle, policy, isAjax);
-       }
-
-       private void invokeListener(IRequestCycle requestCycle, RedirectPolicy 
policy, boolean ajax)
-       {
-               if (getBehaviorIndex() == null)
-               {
-                       invoke(requestCycle, policy, ajax, getComponent());
-               }
-               else
-               {
-                       try
-                       {
-                               Behavior behavior = 
getComponent().getBehaviorById(behaviorId);
-                               invoke(requestCycle, policy, ajax, 
getComponent(), behavior);
-                       }
-                       catch (IndexOutOfBoundsException e)
-                       {
-                               throw new WicketRuntimeException("Couldn't find 
component behavior.", e);
-                       }
-
-               }
-       }
-       
-       /**
-        * Invokes a given interface on a component.
-        * 
-        * @param rcomponent
-        *            The component
-        * 
-        * @throws ListenerInvocationNotAllowedException
-        *             when listener invocation attempted on a component that 
does not allow it
-        */
-       private final void invoke(final IRequestCycle requestCycle, 
RedirectPolicy policy, boolean ajax, final IRequestableComponent rcomponent)
-       {
-               // we are in Wicket core land
-               final Component component = (Component)rcomponent;
-
-               if (!component.canCallListenerInterface())
-               {
-                       // just return so that we have a silent fail and just 
re-render the
-                       // page
-                       LOG.info("component not enabled or visible; ignoring 
call. Component: " + component);
-                       throw new 
ListenerInvocationNotAllowedException(component, null,
-                               "Component rejected interface invocation");
-               }
-
-               internalInvoke(requestCycle, policy, ajax, component, 
component);
-       }
-
-       /**
-        * Invokes a given interface on a component's behavior.
-        * 
-        * @param rcomponent
-        *            The component
-        * @param behavior
-        * @throws ListenerInvocationNotAllowedException
-        *             when listener invocation attempted on a component that 
does not allow it
-        */
-       private final void invoke(final IRequestCycle requestCycle, 
RedirectPolicy policy, boolean ajax, final IRequestableComponent rcomponent, 
final Behavior behavior)
-       {
-               // we are in Wicket core land
-               final Component component = (Component)rcomponent;
-
-               if (!behavior.canCallListenerInterface(component))
-               {
-                       LOG.warn("behavior not enabled; ignore call. Behavior 
{} at component {}", behavior,
-                               component);
-                       throw new 
ListenerInvocationNotAllowedException(component, behavior,
-                               "Behavior rejected interface invocation. ");
-               }
-
-               internalInvoke(requestCycle, policy, ajax, component, behavior);
-       }
-
-       private void internalInvoke(final IRequestCycle requestCycle, 
RedirectPolicy policy, boolean ajax, final Component component, final Object 
target)
-       {
-               // save a reference to the page because the component can be 
removed
-               // during the invocation of the listener and thus lose its 
parent
-               Page page = component.getPage();
-
-               // initialization is required for stateless pages
-               if (!page.isInitialized())
-               {
-                       page.internalInitialize();
-               }
-
-               IRequestListener requestListener = (IRequestListener)target;
-               
-               if (requestListener.rendersPage() && !ajax)
-               {
-                       // schedule page render after current request handler 
is done. this can be
-                       // overridden during invocation of listener
-                       // method (i.e. by calling RequestCycle#setResponsePage)
-                       requestCycle.scheduleRequestHandlerAfterCurrent(new 
RenderPageRequestHandler(
-                               new PageProvider(page), policy));
-               }
-
-               requestListener.onRequest();
-       }
-
-       @Override
-       public final boolean isPageInstanceCreated()
-       {
-               return pageComponentProvider.hasPageInstance();
-       }
-
-       @Override
-       public final String getComponentPath()
-       {
-               return pageComponentProvider.getComponentPath();
-       }
-
-       @Override
-       public final Integer getRenderCount()
-       {
-               return pageComponentProvider.getRenderCount();
-       }
-
-       @Override
-       public ListenerInterfaceLogData getLogData()
-       {
-               return logData;
-       }
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerRequestHandler.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerRequestHandler.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerRequestHandler.java
new file mode 100644
index 0000000..3f131e3
--- /dev/null
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerRequestHandler.java
@@ -0,0 +1,327 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.core.request.handler;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.IRequestListener;
+import org.apache.wicket.Page;
+import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.behavior.Behavior;
+import 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.RedirectPolicy;
+import org.apache.wicket.core.request.handler.logger.ListenerLogData;
+import org.apache.wicket.request.ILoggableRequestHandler;
+import org.apache.wicket.request.IRequestCycle;
+import org.apache.wicket.request.component.IRequestableComponent;
+import org.apache.wicket.request.component.IRequestablePage;
+import org.apache.wicket.request.http.WebRequest;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.util.lang.Args;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Request handler that invokes an {@link IRequestListener} on component or 
behavior and renders page afterwards.
+ *
+ * @author Matej Knopp
+ */
+public class ListenerRequestHandler
+       implements
+               IPageRequestHandler,
+               IComponentRequestHandler,
+               ILoggableRequestHandler
+{
+       
+       private static final Logger LOG = 
LoggerFactory.getLogger(ListenerRequestHandler.class);
+
+       private final IPageAndComponentProvider pageComponentProvider;
+
+       private final Integer behaviorId;
+
+       private ListenerLogData logData;
+
+       /**
+        * Construct.
+        *
+        * @param pageComponentProvider
+        * @param behaviorIndex
+        */
+       public ListenerRequestHandler(IPageAndComponentProvider 
pageComponentProvider, Integer behaviorIndex)
+       {
+               Args.notNull(pageComponentProvider, "pageComponentProvider");
+
+               this.pageComponentProvider = pageComponentProvider;
+               behaviorId = behaviorIndex;
+       }
+
+       /**
+        * Construct.
+        *
+        * @param pageComponentProvider
+        */
+       public ListenerRequestHandler(PageAndComponentProvider 
pageComponentProvider)
+       {
+               this(pageComponentProvider, null);
+       }
+
+       public boolean includeRenderCount() {
+               if (behaviorId == null) {
+                       return ((IRequestListener)getComponent()).rendersPage();
+               } else {
+                       return 
((IRequestListener)getComponent().getBehaviorById(getBehaviorIndex())).rendersPage();
+               }
+       }
+       
+       @Override
+       public IRequestableComponent getComponent()
+       {
+               return pageComponentProvider.getComponent();
+       }
+
+       @Override
+       public IRequestablePage getPage()
+       {
+               return pageComponentProvider.getPageInstance();
+       }
+
+       @Override
+       public Class<? extends IRequestablePage> getPageClass()
+       {
+               return pageComponentProvider.getPageClass();
+       }
+
+       @Override
+       public Integer getPageId()
+       {
+               return pageComponentProvider.getPageId();
+       }
+
+       @Override
+       public PageParameters getPageParameters()
+       {
+               return pageComponentProvider.getPageParameters();
+       }
+
+       @Override
+       public void detach(IRequestCycle requestCycle)
+       {
+               if (logData == null)
+               {
+                       logData = new ListenerLogData(pageComponentProvider, 
behaviorId);
+               }
+               pageComponentProvider.detach();
+       }
+
+       /**
+        * Index of target behavior or <code>null</code> if component is the 
target.
+        *
+        * @return behavior index or <code>null</code>
+        */
+       public Integer getBehaviorIndex()
+       {
+               return behaviorId;
+       }
+
+       @Override
+       public void respond(final IRequestCycle requestCycle)
+       {
+               final IRequestablePage page = getPage();
+               final boolean freshPage = 
pageComponentProvider.isPageInstanceFresh();
+               final boolean isAjax = 
((WebRequest)requestCycle.getRequest()).isAjax();
+
+               IRequestableComponent component;
+               try
+               {
+                       component = getComponent();
+               }
+               catch (ComponentNotFoundException e)
+               {
+                       // either the page is stateless and the component we 
are looking for is not added in the
+                       // constructor
+                       // or the page is stateful+stale and a new instances 
was created by pageprovider
+                       // we denote this by setting component to null
+                       component = null;
+               }
+
+               if ((component == null && !freshPage) || (component != null && 
component.getPage() != page))
+               {
+                       throw new ComponentNotFoundException("Component '" + 
getComponentPath()
+                                       + "' has been removed from page.");
+               }
+
+               if (page instanceof Page)
+               {
+                       // initialize the page to be able to check whether it 
is stateless
+                       ((Page)page).internalInitialize();
+               }
+
+               RedirectPolicy policy = page.isPageStateless()
+                       ? RedirectPolicy.NEVER_REDIRECT
+                       : RedirectPolicy.AUTO_REDIRECT;
+
+               boolean blockIfExpired = component != null && 
!component.canCallListenerInterfaceAfterExpiry();
+
+               boolean lateComponent = component == null && freshPage;
+
+               if ((pageComponentProvider.wasExpired() && blockIfExpired) || 
lateComponent)
+               {
+                       // A request listener is invoked on an expired page or 
the component couldn't be
+                       // determined. The best we can do is to re-paint the 
newly constructed page.
+                       // Reference: WICKET-4454, WICKET-6288
+
+                       if (LOG.isDebugEnabled())
+                       {
+                               LOG.debug(
+                                       "An IRequestListener was called but its 
page/component({}) couldn't be resolved. "
+                                               + "Scheduling re-create of the 
page and ignoring the listener interface...",
+                                       getComponentPath());
+                       }
+
+                       if (isAjax)
+                       {
+                               policy = RedirectPolicy.ALWAYS_REDIRECT;
+                       }
+
+                       requestCycle.scheduleRequestHandlerAfterCurrent(new 
RenderPageRequestHandler(
+                               new PageProvider(page), policy));
+                       return;
+               }
+
+               invokeListener(requestCycle, policy, isAjax);
+       }
+
+       private void invokeListener(IRequestCycle requestCycle, RedirectPolicy 
policy, boolean ajax)
+       {
+               if (getBehaviorIndex() == null)
+               {
+                       invoke(requestCycle, policy, ajax, getComponent());
+               }
+               else
+               {
+                       try
+                       {
+                               Behavior behavior = 
getComponent().getBehaviorById(behaviorId);
+                               invoke(requestCycle, policy, ajax, 
getComponent(), behavior);
+                       }
+                       catch (IndexOutOfBoundsException e)
+                       {
+                               throw new WicketRuntimeException("Couldn't find 
component behavior.", e);
+                       }
+
+               }
+       }
+       
+       /**
+        * Invokes a given interface on a component.
+        * 
+        * @param rcomponent
+        *            The component
+        * 
+        * @throws ListenerInvocationNotAllowedException
+        *             when listener invocation attempted on a component that 
does not allow it
+        */
+       private final void invoke(final IRequestCycle requestCycle, 
RedirectPolicy policy, boolean ajax, final IRequestableComponent rcomponent)
+       {
+               // we are in Wicket core land
+               final Component component = (Component)rcomponent;
+
+               if (!component.canCallListenerInterface())
+               {
+                       // just return so that we have a silent fail and just 
re-render the
+                       // page
+                       LOG.info("component not enabled or visible; ignoring 
call. Component: " + component);
+                       throw new 
ListenerInvocationNotAllowedException(component, null,
+                               "Component rejected interface invocation");
+               }
+
+               internalInvoke(requestCycle, policy, ajax, component, 
component);
+       }
+
+       /**
+        * Invokes a given interface on a component's behavior.
+        * 
+        * @param rcomponent
+        *            The component
+        * @param behavior
+        * @throws ListenerInvocationNotAllowedException
+        *             when listener invocation attempted on a component that 
does not allow it
+        */
+       private final void invoke(final IRequestCycle requestCycle, 
RedirectPolicy policy, boolean ajax, final IRequestableComponent rcomponent, 
final Behavior behavior)
+       {
+               // we are in Wicket core land
+               final Component component = (Component)rcomponent;
+
+               if (!behavior.canCallListenerInterface(component))
+               {
+                       LOG.warn("behavior not enabled; ignore call. Behavior 
{} at component {}", behavior,
+                               component);
+                       throw new 
ListenerInvocationNotAllowedException(component, behavior,
+                               "Behavior rejected interface invocation. ");
+               }
+
+               internalInvoke(requestCycle, policy, ajax, component, behavior);
+       }
+
+       private void internalInvoke(final IRequestCycle requestCycle, 
RedirectPolicy policy, boolean ajax, final Component component, final Object 
target)
+       {
+               // save a reference to the page because the component can be 
removed
+               // during the invocation of the listener and thus lose its 
parent
+               Page page = component.getPage();
+
+               // initialization is required for stateless pages
+               if (!page.isInitialized())
+               {
+                       page.internalInitialize();
+               }
+
+               IRequestListener requestListener = (IRequestListener)target;
+               
+               if (requestListener.rendersPage() && !ajax)
+               {
+                       // schedule page render after current request handler 
is done. this can be
+                       // overridden during invocation of listener
+                       // method (i.e. by calling RequestCycle#setResponsePage)
+                       requestCycle.scheduleRequestHandlerAfterCurrent(new 
RenderPageRequestHandler(
+                               new PageProvider(page), policy));
+               }
+
+               requestListener.onRequest();
+       }
+
+       @Override
+       public final boolean isPageInstanceCreated()
+       {
+               return pageComponentProvider.hasPageInstance();
+       }
+
+       @Override
+       public final String getComponentPath()
+       {
+               return pageComponentProvider.getComponentPath();
+       }
+
+       @Override
+       public final Integer getRenderCount()
+       {
+               return pageComponentProvider.getRenderCount();
+       }
+
+       @Override
+       public ListenerLogData getLogData()
+       {
+               return logData;
+       }
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/logger/ListenerInterfaceLogData.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/logger/ListenerInterfaceLogData.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/logger/ListenerInterfaceLogData.java
deleted file mode 100644
index 5ed97a7..0000000
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/logger/ListenerInterfaceLogData.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.core.request.handler.logger;
-
-import org.apache.wicket.Component;
-import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.core.request.handler.IPageAndComponentProvider;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.IFormSubmitter;
-import org.apache.wicket.request.component.IRequestableComponent;
-
-/**
- * Contains logging data for component/listener-interface request handlers.
- *
- * @author Emond Papegaaij
- */
-public class ListenerInterfaceLogData extends PageLogData
-{
-       private static final long serialVersionUID = 1L;
-
-       private final Class<? extends IRequestableComponent> componentClass;
-       private final String componentPath;
-       private final Integer behaviorIndex;
-       private Class<? extends Behavior> behaviorClass;
-       private Class<? extends IRequestableComponent> submittingComponentClass;
-       private String submittingComponentPath;
-
-       /**
-        * Construct.
-        *
-        * @param pageAndComponentProvider
-        * @param listenerInterface
-        * @param behaviorIndex
-        */
-       public ListenerInterfaceLogData(IPageAndComponentProvider 
pageAndComponentProvider, Integer behaviorIndex)
-       {
-               super(pageAndComponentProvider);
-               componentClass = 
tryToGetComponentClass(pageAndComponentProvider);
-               componentPath = tryToGetComponentPath(pageAndComponentProvider);
-               this.behaviorIndex = behaviorIndex;
-               if (behaviorIndex != null && componentClass != null)
-               {
-                       try
-                       {
-                               behaviorClass = 
pageAndComponentProvider.getComponent()
-                                       .getBehaviorById(behaviorIndex)
-                                       .getClass();
-                       }
-                       catch (Exception ignore)
-                       {
-                               behaviorClass = null;
-                       }
-               }
-               else
-               {
-                       behaviorClass = null;
-               }
-               
-               final Component formSubmitter = 
tryToGetFormSubmittingComponent(pageAndComponentProvider);
-               if (formSubmitter != null)
-               {
-                       submittingComponentClass = formSubmitter.getClass();
-                       submittingComponentPath = 
formSubmitter.getPageRelativePath();
-               }
-       }
-
-       private static Class<? extends IRequestableComponent> 
tryToGetComponentClass(
-               IPageAndComponentProvider pageAndComponentProvider)
-       {
-               try
-               {
-                       return 
pageAndComponentProvider.getComponent().getClass();
-               }
-               catch (Exception e)
-               {
-                       // getComponent might fail if the page does not exist 
(ie session timeout)
-                       return null;
-               }
-       }
-
-
-       private static String tryToGetComponentPath(IPageAndComponentProvider 
pageAndComponentProvider)
-       {
-               try
-               {
-                       return pageAndComponentProvider.getComponentPath();
-               }
-               catch (Exception e)
-               {
-                       // getComponentPath might fail if the page does not 
exist (ie session timeout)
-                       return null;
-               }
-       }
-
-       private static Component tryToGetFormSubmittingComponent(
-               IPageAndComponentProvider pageAndComponentProvider)
-       {
-               try
-               {
-                       final IRequestableComponent component = 
pageAndComponentProvider.getComponent();
-                       if (component instanceof Form)
-                       {
-                               final IFormSubmitter submitter = 
((Form<?>)component).findSubmittingButton();
-                               return submitter instanceof Component ? 
(Component)submitter : null;
-                       }
-                       return null;
-               }
-               catch (Exception e)
-               {
-                       // getComponent might fail if the page does not exist 
(ie session timeout)
-                       return null;
-               }
-       }
-
-       /**
-        * @return componentClass
-        */
-       public final Class<? extends IRequestableComponent> getComponentClass()
-       {
-               return componentClass;
-       }
-
-       /**
-        * @return componentPath
-        */
-       public final String getComponentPath()
-       {
-               return componentPath;
-       }
-
-       /**
-        * @return behaviorIndex
-        */
-       public final Integer getBehaviorIndex()
-       {
-               return behaviorIndex;
-       }
-
-       /**
-        * @return behaviorClass
-        */
-       public final Class<? extends Behavior> getBehaviorClass()
-       {
-               return behaviorClass;
-       }
-
-       /**
-        * @return submittingComponentClass
-        */
-       public Class<? extends IRequestableComponent> 
getSubmittingComponentClass()
-       {
-               return submittingComponentClass;
-       }
-
-       /**
-        * @return submittingComponentPath
-        */
-       public String getSubmittingComponentPath()
-       {
-               return submittingComponentPath;
-       }
-
-       @Override
-       public String toString()
-       {
-               StringBuilder sb = new StringBuilder(super.toString());
-               sb.setCharAt(sb.length() - 1, ',');
-               if (getComponentClass() != null)
-               {
-                       sb.append("componentClass=");
-                       sb.append(getComponentClass().getName());
-                       sb.append(',');
-               }
-               if (getComponentPath() != null)
-               {
-                       sb.append("componentPath=");
-                       sb.append(getComponentPath());
-                       sb.append(',');
-               }
-               sb.append("behaviorIndex=");
-               sb.append(getBehaviorIndex());
-               if (getBehaviorClass() != null)
-               {
-                       sb.append(",behaviorClass=");
-                       sb.append(getBehaviorClass().getName());
-               }
-               if (getSubmittingComponentClass() != null)
-               {
-                       sb.append(",submittingComponentClass=");
-                       sb.append(getSubmittingComponentClass().getName());
-               }
-               if (getSubmittingComponentPath() != null)
-               {
-                       sb.append(",submittingComponentPath=");
-                       sb.append(getSubmittingComponentPath());
-               }
-               sb.append("}");
-               return sb.toString();
-       }
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/logger/ListenerLogData.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/logger/ListenerLogData.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/logger/ListenerLogData.java
new file mode 100644
index 0000000..d06fe69
--- /dev/null
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/logger/ListenerLogData.java
@@ -0,0 +1,214 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.core.request.handler.logger;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.core.request.handler.IPageAndComponentProvider;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.IFormSubmitter;
+import org.apache.wicket.request.component.IRequestableComponent;
+
+/**
+ * Contains logging data for component/listener-interface request handlers.
+ *
+ * @author Emond Papegaaij
+ */
+public class ListenerLogData extends PageLogData
+{
+       private static final long serialVersionUID = 1L;
+
+       private final Class<? extends IRequestableComponent> componentClass;
+       private final String componentPath;
+       private final Integer behaviorIndex;
+       private Class<? extends Behavior> behaviorClass;
+       private Class<? extends IRequestableComponent> submittingComponentClass;
+       private String submittingComponentPath;
+
+       /**
+        * Construct.
+        *
+        * @param pageAndComponentProvider
+        * @param listenerInterface
+        * @param behaviorIndex
+        */
+       public ListenerLogData(IPageAndComponentProvider 
pageAndComponentProvider, Integer behaviorIndex)
+       {
+               super(pageAndComponentProvider);
+               componentClass = 
tryToGetComponentClass(pageAndComponentProvider);
+               componentPath = tryToGetComponentPath(pageAndComponentProvider);
+               this.behaviorIndex = behaviorIndex;
+               if (behaviorIndex != null && componentClass != null)
+               {
+                       try
+                       {
+                               behaviorClass = 
pageAndComponentProvider.getComponent()
+                                       .getBehaviorById(behaviorIndex)
+                                       .getClass();
+                       }
+                       catch (Exception ignore)
+                       {
+                               behaviorClass = null;
+                       }
+               }
+               else
+               {
+                       behaviorClass = null;
+               }
+               
+               final Component formSubmitter = 
tryToGetFormSubmittingComponent(pageAndComponentProvider);
+               if (formSubmitter != null)
+               {
+                       submittingComponentClass = formSubmitter.getClass();
+                       submittingComponentPath = 
formSubmitter.getPageRelativePath();
+               }
+       }
+
+       private static Class<? extends IRequestableComponent> 
tryToGetComponentClass(
+               IPageAndComponentProvider pageAndComponentProvider)
+       {
+               try
+               {
+                       return 
pageAndComponentProvider.getComponent().getClass();
+               }
+               catch (Exception e)
+               {
+                       // getComponent might fail if the page does not exist 
(ie session timeout)
+                       return null;
+               }
+       }
+
+
+       private static String tryToGetComponentPath(IPageAndComponentProvider 
pageAndComponentProvider)
+       {
+               try
+               {
+                       return pageAndComponentProvider.getComponentPath();
+               }
+               catch (Exception e)
+               {
+                       // getComponentPath might fail if the page does not 
exist (ie session timeout)
+                       return null;
+               }
+       }
+
+       private static Component tryToGetFormSubmittingComponent(
+               IPageAndComponentProvider pageAndComponentProvider)
+       {
+               try
+               {
+                       final IRequestableComponent component = 
pageAndComponentProvider.getComponent();
+                       if (component instanceof Form)
+                       {
+                               final IFormSubmitter submitter = 
((Form<?>)component).findSubmittingButton();
+                               return submitter instanceof Component ? 
(Component)submitter : null;
+                       }
+                       return null;
+               }
+               catch (Exception e)
+               {
+                       // getComponent might fail if the page does not exist 
(ie session timeout)
+                       return null;
+               }
+       }
+
+       /**
+        * @return componentClass
+        */
+       public final Class<? extends IRequestableComponent> getComponentClass()
+       {
+               return componentClass;
+       }
+
+       /**
+        * @return componentPath
+        */
+       public final String getComponentPath()
+       {
+               return componentPath;
+       }
+
+       /**
+        * @return behaviorIndex
+        */
+       public final Integer getBehaviorIndex()
+       {
+               return behaviorIndex;
+       }
+
+       /**
+        * @return behaviorClass
+        */
+       public final Class<? extends Behavior> getBehaviorClass()
+       {
+               return behaviorClass;
+       }
+
+       /**
+        * @return submittingComponentClass
+        */
+       public Class<? extends IRequestableComponent> 
getSubmittingComponentClass()
+       {
+               return submittingComponentClass;
+       }
+
+       /**
+        * @return submittingComponentPath
+        */
+       public String getSubmittingComponentPath()
+       {
+               return submittingComponentPath;
+       }
+
+       @Override
+       public String toString()
+       {
+               StringBuilder sb = new StringBuilder(super.toString());
+               sb.setCharAt(sb.length() - 1, ',');
+               if (getComponentClass() != null)
+               {
+                       sb.append("componentClass=");
+                       sb.append(getComponentClass().getName());
+                       sb.append(',');
+               }
+               if (getComponentPath() != null)
+               {
+                       sb.append("componentPath=");
+                       sb.append(getComponentPath());
+                       sb.append(',');
+               }
+               sb.append("behaviorIndex=");
+               sb.append(getBehaviorIndex());
+               if (getBehaviorClass() != null)
+               {
+                       sb.append(",behaviorClass=");
+                       sb.append(getBehaviorClass().getName());
+               }
+               if (getSubmittingComponentClass() != null)
+               {
+                       sb.append(",submittingComponentClass=");
+                       sb.append(getSubmittingComponentClass().getName());
+               }
+               if (getSubmittingComponentPath() != null)
+               {
+                       sb.append(",submittingComponentPath=");
+                       sb.append(getSubmittingComponentPath());
+               }
+               sb.append("}");
+               return sb.toString();
+       }
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
index cb372d8..ecb50a2 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
@@ -23,7 +23,7 @@ import org.apache.wicket.IRequestListener;
 import 
org.apache.wicket.core.request.handler.BookmarkableListenerInterfaceRequestHandler;
 import org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler;
 import org.apache.wicket.core.request.handler.IPageRequestHandler;
-import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
+import org.apache.wicket.core.request.handler.ListenerRequestHandler;
 import org.apache.wicket.core.request.handler.PageAndComponentProvider;
 import org.apache.wicket.core.request.handler.PageProvider;
 import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
@@ -304,7 +304,7 @@ public abstract class AbstractBookmarkableMapper extends 
AbstractComponentMapper
 
                checkExpiration(provider, pageInfo);
 
-               return new ListenerInterfaceRequestHandler(provider, 
componentInfo.getBehaviorId());
+               return new ListenerRequestHandler(provider, 
componentInfo.getBehaviorId());
        }
 
        private void checkExpiration(PageProvider provider, PageInfo pageInfo)

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/MountedMapper.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/MountedMapper.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/MountedMapper.java
index 1b6aa28..f9edf11 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/MountedMapper.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/MountedMapper.java
@@ -18,7 +18,7 @@ package org.apache.wicket.core.request.mapper;
 
 import java.util.function.Supplier;
 
-import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
+import org.apache.wicket.core.request.handler.ListenerRequestHandler;
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.request.Url;
@@ -158,10 +158,10 @@ public class MountedMapper extends 
AbstractBookmarkableMapper
        {
                Url url = super.mapHandler(requestHandler);
 
-               if (url == null && requestHandler instanceof 
ListenerInterfaceRequestHandler &&
+               if (url == null && requestHandler instanceof 
ListenerRequestHandler &&
                        getRecreateMountedPagesAfterExpiry())
                {
-                       ListenerInterfaceRequestHandler handler = 
(ListenerInterfaceRequestHandler)requestHandler;
+                       ListenerRequestHandler handler = 
(ListenerRequestHandler)requestHandler;
                        IRequestablePage page = handler.getPage();
                        if (checkPageInstance(page))
                        {

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
index e983131..f90ea87 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.core.request.mapper;
 
-import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
+import org.apache.wicket.core.request.handler.ListenerRequestHandler;
 import org.apache.wicket.core.request.handler.PageAndComponentProvider;
 import org.apache.wicket.core.request.handler.PageProvider;
 import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
@@ -85,7 +85,7 @@ public class PageInstanceMapper extends 
AbstractComponentMapper
 
                                        provider.setPageSource(getContext());
 
-                                       return new 
ListenerInterfaceRequestHandler(provider, componentInfo.getBehaviorId());
+                                       return new 
ListenerRequestHandler(provider, componentInfo.getBehaviorId());
                                }
                        }
                }
@@ -107,9 +107,9 @@ public class PageInstanceMapper extends 
AbstractComponentMapper
                        PageInfo i = new PageInfo(page.getPageId());
                        info = new PageComponentInfo(i, null);
                }
-               else if (requestHandler instanceof 
ListenerInterfaceRequestHandler)
+               else if (requestHandler instanceof ListenerRequestHandler)
                {
-                       ListenerInterfaceRequestHandler handler = 
(ListenerInterfaceRequestHandler)requestHandler;
+                       ListenerRequestHandler handler = 
(ListenerRequestHandler)requestHandler;
                        IRequestablePage page = handler.getPage();
                        String componentPath = handler.getComponentPath();
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
index b5a15ec..0b30c92 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
@@ -62,7 +62,7 @@ import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
 import org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler;
 import org.apache.wicket.core.request.handler.IPageProvider;
-import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
+import org.apache.wicket.core.request.handler.ListenerRequestHandler;
 import org.apache.wicket.core.request.handler.PageAndComponentProvider;
 import org.apache.wicket.core.request.handler.PageProvider;
 import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
@@ -1093,7 +1093,7 @@ public class BaseWicketTester
 
                // there are two ways to do this. RequestCycle could be forced 
to call the handler
                // directly but constructing and parsing the URL increases the 
chance of triggering bugs
-               IRequestHandler handler = new 
ListenerInterfaceRequestHandler(new PageAndComponentProvider(
+               IRequestHandler handler = new ListenerRequestHandler(new 
PageAndComponentProvider(
                        component.getPage(), component));
 
                Url url = urlFor(handler);
@@ -1119,7 +1119,7 @@ public class BaseWicketTester
 
                // there are two ways to do this. RequestCycle could be forced 
to call the handler
                // directly but constructing and parsing the URL increases the 
chance of triggering bugs
-               IRequestHandler handler = new 
ListenerInterfaceRequestHandler(new PageAndComponentProvider(
+               IRequestHandler handler = new ListenerRequestHandler(new 
PageAndComponentProvider(
                        component.getPage(), component));
 
                processRequest(handler);

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java 
b/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
index 909ee23..1e5227c 100644
--- a/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/BehaviorRequestTest.java
@@ -18,7 +18,7 @@ package org.apache.wicket;
 
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.core.request.handler.IPageAndComponentProvider;
-import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
+import org.apache.wicket.core.request.handler.ListenerRequestHandler;
 import 
org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException;
 import org.apache.wicket.core.request.handler.PageAndComponentProvider;
 import org.apache.wicket.markup.ComponentTag;
@@ -83,7 +83,7 @@ public class BehaviorRequestTest extends WicketTestCase
                final int index = 
page.container.getBehaviorId(behaviorUnderTest);
                final IPageAndComponentProvider provider = new 
PageAndComponentProvider(page,
                        page.container);
-               final IRequestHandler handler = new 
ListenerInterfaceRequestHandler(provider, index);
+               final IRequestHandler handler = new 
ListenerRequestHandler(provider, index);
 
                return tester.urlFor(handler).toString();
        }

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/test/java/org/apache/wicket/ComponentWithLazyModelCreationTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/ComponentWithLazyModelCreationTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/ComponentWithLazyModelCreationTest.java
index 59cd19e..9361351 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/ComponentWithLazyModelCreationTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/ComponentWithLazyModelCreationTest.java
@@ -17,7 +17,7 @@
 package org.apache.wicket;
 
 import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
+import org.apache.wicket.core.request.handler.ListenerRequestHandler;
 import org.apache.wicket.core.request.handler.PageAndComponentProvider;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.IMarkupResourceStreamProvider;
@@ -120,7 +120,7 @@ public class ComponentWithLazyModelCreationTest extends 
WicketTestCase
                {
                        super.onComponentTag(component, tag);
                        int index = component.getBehaviorId(this);
-                       IRequestHandler handler = new 
ListenerInterfaceRequestHandler(
+                       IRequestHandler handler = new ListenerRequestHandler(
                                new 
PageAndComponentProvider(component.getPage(), component), index);
                        statefullUrl = 
component.getRequestCycle().mapUrlFor(handler).toString();
                }

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/test/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandlerTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandlerTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandlerTest.java
deleted file mode 100644
index d1c0592..0000000
--- 
a/wicket-core/src/test/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandlerTest.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.core.request.handler;
-
-import static org.hamcrest.Matchers.is;
-
-import java.io.IOException;
-import java.text.ParseException;
-
-import org.apache.wicket.MarkupContainer;
-import org.apache.wicket.Page;
-import org.apache.wicket.Session;
-import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.core.request.mapper.MountedMapper;
-import org.apache.wicket.markup.IMarkupFragment;
-import org.apache.wicket.markup.IMarkupResourceStreamProvider;
-import org.apache.wicket.markup.Markup;
-import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.markup.html.link.StatelessLink;
-import org.apache.wicket.request.Url;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.resource.DummyPage;
-import org.apache.wicket.util.resource.IResourceStream;
-import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
-import org.apache.wicket.util.resource.StringResourceStream;
-import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Test;
-
-/**
- * Tests for {@link ListenerInterfaceRequestHandler}
- */
-public class ListenerInterfaceRequestHandlerTest extends WicketTestCase
-{
-
-       /**
-        * WICKET-5466
-        */
-       @Test
-       public void removedComponent()
-       {
-               // non-existing component on fresh page is ignored
-               PageAndComponentProvider freshPage = new 
PageAndComponentProvider(DummyPage.class, null,
-                       "foo");
-               new ListenerInterfaceRequestHandler(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 
recreateThePageWhenListenereInterfaceIsExecutedOnExpiredPage() 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.getWicketAjaxBaseUrlEncodedInLastResponse());
-               tester.getRequest().addHeader("Wicket-Ajax", "true");
-               tester.processRequest();
-       }
-
-       /**
-        * Test page for 
#recreateThePageWhenListenereInterfaceIsExecutedOnExpiredPage()
-        */
-       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 
recreateThePageWhenListenereInterfaceIsExecutedOnExpiredPage() 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.getWicketAjaxBaseUrlEncodedInLastResponse());
+               tester.getRequest().addHeader("Wicket-Ajax", "true");
+               tester.processRequest();
+       }
+
+       /**
+        * Test page for 
#recreateThePageWhenListenereInterfaceIsExecutedOnExpiredPage()
+        */
+       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