Example usage for org.apache.wicket.request.mapper.info PageInfo PageInfo

List of usage examples for org.apache.wicket.request.mapper.info PageInfo PageInfo

Introduction

In this page you can find the example usage for org.apache.wicket.request.mapper.info PageInfo PageInfo.

Prototype

public PageInfo(final Integer pageId) 

Source Link

Document

Construct.

Usage

From source file:jp.javelindev.wicket.FixedUrlMountedMapper.java

License:Apache License

/**
 * {@inheritDoc }/* ww  w  . j a v a2s  .  c  o  m*/
 * <p>
 * request?pageId??????????????????ID??
 * ???????????ID???
 */
@Override
public IRequestHandler mapRequest(Request request) {
    UrlInfo urlInfo = parseRequest(request);

    // check if the URL is long enough and starts with the proper segments
    if (urlInfo != null) {
        PageComponentInfo info = urlInfo.getPageComponentInfo();
        Class<? extends IRequestablePage> pageClass = urlInfo.getPageClass();
        PageParameters pageParameters = urlInfo.getPageParameters();

        Integer storedPageId = getStoredPageId(pageClass);
        boolean reload = pageParameters != null && pageParameters.getNamedKeys().contains("reload");

        //?ID?????????????
        //???ID?ID????????????
        //ID?????????????
        //processBookmarkable??????PageProvider???
        //?PageProvider?????????IDID???
        //reload????????????
        if (reload || ((info == null || info.getPageInfo().getPageId() == null) && storedPageId == null)) {
            // if there are is no page instance information (only page map name - optionally)
            // then this is a simple bookmarkable URL

            if (reload) {
                pageParameters.remove("reload");
            }

            return processBookmarkable(pageClass, pageParameters);
        } else if (((info != null && info.getPageInfo() != null && info.getPageInfo().getPageId() != null)
                || storedPageId != null) && (info == null || info.getComponentInfo() == null)) {
            // if there is page instance information in the URL but no component and listener
            // interface then this is a hybrid URL - we need to try to reuse existing page
            // instance

            // URL?ID?????????????
            // URL?ID?????storedPageID != null ???storedPageIdID????
            PageInfo pageInfo = info == null ? null : info.getPageInfo();
            if ((pageInfo == null || pageInfo.getPageId() == null) && storedPageId != null) {
                pageInfo = new PageInfo(storedPageId);
            }

            return processHybrid(pageInfo, pageClass, pageParameters, null);
        } else if (info != null && info.getComponentInfo() != null) {
            // with both page instance and component+listener this is a listener interface URL
            return processListener(info, pageClass, pageParameters);
        }
    }
    return null;
}

From source file:jp.xet.uncommons.wicket.fixedurl.FixedUrlMountedMapper.java

License:Apache License

/**
 * {@inheritDoc}/*from  w ww  .  j ava2  s  .c o  m*/
 * 
 * <p>request?pageId??????????????????ID??
 * ???????????ID???</p>
 */
@Override
@SuppressWarnings("null")
public IRequestHandler mapRequest(Request request) {
    UrlInfo urlInfo = parseRequest(request);

    // check if the URL is long enough and starts with the proper segments
    if (urlInfo != null) {
        PageComponentInfo info = urlInfo.getPageComponentInfo();
        Class<? extends Page> pageClass = urlInfo.getPageClass().asSubclass(Page.class);
        PageParameters pageParameters = urlInfo.getPageParameters();

        Integer storedPageId = getStoredPageId(pageClass, pageParameters);
        boolean reload = pageParameters != null && pageParameters.getNamedKeys().contains(KEY_RELOAD);

        // ?ID?????????????
        // ???ID?ID????????????
        // ID?????????????
        // processBookmarkable??????PageProvider???
        // ?PageProvider?????????IDID???
        // reload????????????
        if (reload || ((info == null || info.getPageInfo().getPageId() == null) && storedPageId == null)) {
            // if there are is no page instance information (only page map name - optionally)
            // then this is a simple bookmarkable URL

            if (reload) {
                pageParameters.remove(KEY_RELOAD);
            }

            return processBookmarkable(pageClass, pageParameters);
        } else if (((info != null && info.getPageInfo() != null && info.getPageInfo().getPageId() != null)
                || storedPageId != null) && (info == null || info.getComponentInfo() == null)) {
            // if there is page instance information in the URL but no component and listener
            // interface then this is a hybrid URL - we need to try to reuse existing page
            // instance

            // URL?ID?????????????
            // URL?ID?????storedPageID != null ???storedPageIdID????
            PageInfo pageInfo = info == null ? null : info.getPageInfo();
            if ((pageInfo == null || pageInfo.getPageId() == null) && storedPageId != null) {
                pageInfo = new PageInfo(storedPageId);
            }

            return processHybrid(pageInfo, pageClass, pageParameters, null);
        } else if (info != null && info.getComponentInfo() != null) {
            // with both page instance and component+listener this is a listener interface URL
            return processListener(info, pageClass, pageParameters);
        }
    }
    return null;
}

From source file:org.brixcms.web.BrixRequestMapper.java

License:Apache License

public Url encode(IRequestHandler requestHandler) {
    if (requestHandler instanceof BrixNodeRequestHandler) {
        BrixNodeRequestHandler handler = (BrixNodeRequestHandler) requestHandler;
        PageInfo info = null;//from w w  w .ja va 2s . com
        Page page = handler.getPage();
        if (page != null && !page.isPageStateless()) {
            info = new PageInfo(page.getPageId());
        }
        String nodeURL = handler.getNodeURL();
        return encode(nodeURL, handler.getPageParameters(), info);
    } else if (requestHandler instanceof ListenerInterfaceRequestHandler) {
        ListenerInterfaceRequestHandler target = (ListenerInterfaceRequestHandler) requestHandler;
        BrixNodeWebPage page = (BrixNodeWebPage) target.getPage();
        return encode(page);
    } else if (requestHandler instanceof BookmarkableListenerInterfaceRequestHandler) {
        BookmarkableListenerInterfaceRequestHandler target = (BookmarkableListenerInterfaceRequestHandler) requestHandler;
        BrixNodeWebPage page = (BrixNodeWebPage) target.getPage();
        BrixNode node = page.getModelObject();
        PageInfo info = new PageInfo(page.getPageId());
        String componentPath = target.getComponent().getPageRelativePath();

        // remove the page id from component path, we don't really need it
        componentPath = componentPath.substring(componentPath.indexOf(':') + 1);
        String iface = componentPath; // + ":" + target.getInterfaceName();
        return encode(node, page.getBrixPageParameters(), info);
    } else if (requestHandler instanceof BookmarkablePageRequestHandler
            && ((BookmarkablePageRequestHandler) requestHandler).getPageClass().equals(HomePage.class)) {
        BrixNode node = ((BrixRequestCycleProcessor) RequestCycle.get().getActiveRequestHandler())
                .getNodeForUriPath(Path.ROOT);
        return encode(new BrixNodeRequestHandler(new BrixNodeModel(node)));
    } else {
        return null;
    }
}

From source file:org.brixcms.web.BrixRequestMapper.java

License:Apache License

private Url encode(BrixNodeWebPage page) {
    BrixNode node = page.getModelObject();
    PageInfo info = new PageInfo(page.getPageId());

    // This is a URL for redirect. Allow components to contribute state to
    // URL if they want to
    final BrixPageParameters parameters = page.getBrixPageParameters();
    page.visitChildren(PageParametersAware.class, new IVisitor<Component, PageParametersAware>() {
        @Override//ww w .  ja v  a 2  s.  c  o  m
        public void component(Component component, IVisit iVisit) {
            ((PageParametersAware) component).contributeToPageParameters(parameters);
        }
    });

    return encode(node, parameters, info);
}

From source file:sf.wicklet.ext.test.request.mapper.TestPageComponentInfoCodec01.java

License:Apache License

@Test
public void testcodec01() {
    final DefaultPageComponentInfoCodec codec = new DefaultPageComponentInfoCodec("abcd23487");
    final IPageManagerContext context = new IPageManagerContext() {
        private final Map<String, Serializable> map = new TreeMap<String, Serializable>();

        @Override//w w  w  .  j  a va2s .  c om
        public void setSessionAttribute(final String key, final Serializable value) {
            map.put(key, value);
        }

        @Override
        public void setRequestData(final Object data) {
        }

        @Override
        public String getSessionId() {
            return null;
        }

        @Override
        public Serializable getSessionAttribute(final String key) {
            return map.get(key);
        }

        @Override
        public Object getRequestData() {
            return null;
        }

        @Override
        public void bind() {
        }
    };
    test(context, codec, null, new ComponentInfo(123, "testinterace", "a:b:cde", 344));
    test(context, codec, new PageInfo(11), new ComponentInfo(123, "testinterace", "a:b:cde", 344));
    test(context, codec, new PageInfo(11), null);
}

From source file:sf.wicklet.ext.ui.mappers.MultiplePageMapper.java

License:Apache License

@Override
public Url mapHandler(final IRequestHandler requestHandler) {
    Url url = super.mapHandler(requestHandler);
    if (url == null && requestHandler instanceof ListenerInterfaceRequestHandler) {
        final ListenerInterfaceRequestHandler handler = (ListenerInterfaceRequestHandler) requestHandler;
        final IRequestablePage page = handler.getPage();
        if (checkPageInstance(page)) {
            final String componentPath = handler.getComponentPath();
            final RequestListenerInterface listenerInterface = handler.getListenerInterface();
            Integer renderCount = null;
            if (listenerInterface.isIncludeRenderCount()) {
                renderCount = page.getRenderCount();
            }/*from w w  w.j  a v  a  2 s . co  m*/
            final PageInfo pageInfo = new PageInfo(page.getPageId());
            final ComponentInfo componentInfo = new ComponentInfo(renderCount,
                    requestListenerInterfaceToString(listenerInterface), componentPath,
                    handler.getBehaviorIndex());
            final PageComponentInfo pageComponentInfo = new PageComponentInfo(pageInfo, componentInfo);
            final UrlInfo urlInfo = new UrlInfo(pageComponentInfo, page.getClass(),
                    handler.getPageParameters());
            url = buildUrl(urlInfo);
        }
    }
    return url;
}