Example usage for org.apache.wicket.core.request.handler RenderPageRequestHandler getPageClass

List of usage examples for org.apache.wicket.core.request.handler RenderPageRequestHandler getPageClass

Introduction

In this page you can find the example usage for org.apache.wicket.core.request.handler RenderPageRequestHandler getPageClass.

Prototype

@Override
    public Class<? extends IRequestablePage> getPageClass() 

Source Link

Usage

From source file:de.micromata.wicket.request.mapper.PageParameterAwareMountedMapper.java

License:Open Source License

@Override
protected IRequestHandler processHybrid(PageInfo pageInfo, Class<? extends IRequestablePage> pageClass,
        PageParameters pageParameters, Integer renderCount) {
    IRequestHandler handler = null;/*from  w w  w . j  a  va 2  s .c  om*/
    try {
        handler = super.processHybrid(pageInfo, pageClass, pageParameters, renderCount);
    } catch (PageExpiredException e) {
        // in case of pageExpiredException at this point, we just redirect to previous bookmarkable resource
        return processBookmarkable(pageClass, pageParameters);
    }
    if (handler != null && handler instanceof RenderPageRequestHandler) {
        // in the current implementation (wicket 1.5.6) super.processHybrid
        // returns a RenderPageRequestHandler
        RenderPageRequestHandler renderPageHandler = (RenderPageRequestHandler) handler;
        if (renderPageHandler.getPageProvider() instanceof PageProvider) {
            PageProvider provider = (PageProvider) renderPageHandler.getPageProvider();
            // This check is necessary to prevent a RestartResponseAtInterceptPageException at the wrong time in request cycle
            if (provider.hasPageInstance()) {
                // get page classes
                Class<? extends IRequestablePage> oldPageClass = renderPageHandler.getPageClass();
                Class<? extends IRequestablePage> newPageClass = renderPageHandler.getPageProvider()
                        .getPageClass();

                // get page parameters
                PageParameters newPageParameters = renderPageHandler.getPageParameters();
                PageParameters oldPageParameters = renderPageHandler.getPageProvider().getPageInstance()
                        .getPageParameters();

                if (oldPageClass != null && oldPageClass.equals(newPageClass) == false) {
                    return processBookmarkable(newPageClass, newPageParameters);
                }

                // if we recognize a change between the page parameter of the loaded
                // page and the page parameter of the current request, we redirect
                // to a fresh bookmarkable instance of that page.
                if (!PageParameters.equals(oldPageParameters, newPageParameters)) {
                    return processBookmarkable(newPageClass, newPageParameters);
                }
            }
        }
    }
    return handler;
}

From source file:org.geoserver.web.admin.AbstractAdminPrivilegeTest.java

License:Open Source License

public void testSqlViewNewPageAsWorkspaceAdmin() throws Exception {
    loginAsCite();/*from   www.  j  av  a2s  . co  m*/

    PageParameters pp = new PageParameters();
    pp.add(SQLViewNewPage.WORKSPACE, "cite");

    //not a jdbc datastore obviously but we don't need one to simply test that the 
    // page will render with worksapce admin privilieges
    pp.add(SQLViewNewPage.DATASTORE, "cite");

    new SQLViewNewPage(pp);

    RequestCycle cycle = RequestCycle.get();
    RenderPageRequestHandler handler = (RenderPageRequestHandler) cycle
            .getRequestHandlerScheduledAfterCurrent();
    assertFalse(UnauthorizedPage.class.equals(handler.getPageClass()));
}

From source file:org.geoserver.web.admin.AbstractAdminPrivilegeTest.java

License:Open Source License

public void testCreateNewFeatureTypePageAsWorkspaceAdmin() throws Exception {
    loginAsCite();//  w  w  w  .  j a  v  a2 s  . c om

    PageParameters pp = new PageParameters();
    pp.add(NewFeatureTypePage.WORKSPACE, "cite");

    //not a jdbc datastore obviously but we don't need one to simply test that the 
    // page will render with worksapce admin privilieges
    pp.add(NewFeatureTypePage.DATASTORE, "cite");

    new NewFeatureTypePage(pp);

    RequestCycle cycle = RequestCycle.get();
    RenderPageRequestHandler handler = (RenderPageRequestHandler) cycle
            .getRequestHandlerScheduledAfterCurrent();
    assertFalse(UnauthorizedPage.class.equals(handler.getPageClass()));
}