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