List of usage examples for org.apache.wicket.request.mapper.info PageInfo PageInfo
public PageInfo(final Integer pageId)
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; }