public PageDefinition getPageDefinition(String uri) { if (uri == null || uri.length() == 0) throw new IllegalArgumentException("uri not specified: " + uri); //Note: we have to go thru UiFactory (so user can override it) uri = toAbsoluteURI(uri, false); final PageDefinition pagedef = ((WebAppCtrl) getDesktop().getWebApp()).getUiFactory() .getPageDefinition(newRequestInfo(uri), uri); if (pagedef == null) throw new UiException("Page not found: " + uri); return pagedef; }
public PageDefinition getPageDefinitionDirectly(String content, String ext) { //Note: we have to go thru UiFactory (so user can override it) return ((WebAppCtrl) getDesktop().getWebApp()).getUiFactory().getPageDefinitionDirectly(newRequestInfo(null), content, ext); }
if (uf.isRichlet(ri, bRichlet)) { final Richlet richlet = uf.getRichlet(ri, path); if (richlet == null) return false; // not found
if (uf.isRichlet(ri, bRichlet)) { final Richlet richlet = uf.getRichlet(ri, path); if (richlet == null) return false; //not found final PageDefinition pagedef = uf.getPageDefinition(ri, path); ThreadLocalsManager.setCurrentPageDef(pagedef); if (pagedef == null)
/** Creates a page. * It invokes {@link UiFactory#newPage}. However, it prepares * {@link ExecutionsCtrl#getCurrent} for {@link org.zkoss.zk.ui.sys.IdGenerator#nextPageUuid} * * <p>Note: Use this method to create a page, rather than invoking * {@link UiFactory#newPage} directly. * @since 3.6.0 */ public static Page newPage(UiFactory uf, RequestInfo ri, Richlet richlet, ServletResponse response, String path) { final DesktopCtrl desktopCtrl = (DesktopCtrl) ri.getDesktop(); final Execution exec = ExecutionsCtrl.getCurrent(); TemporaryExecution de = new TemporaryExecution(ri.getWebApp().getServletContext(), (HttpServletRequest) ri.getNativeRequest(), (HttpServletResponse) response, ri.getDesktop()); desktopCtrl.setExecution(de); ExecutionsCtrl.setCurrent(de); try { return uf.newPage(ri, richlet, path); //de won't be voided since no DesktopInit-like plugin } finally { ExecutionsCtrl.setCurrent(exec); desktopCtrl.setExecution(exec); } }
private static Component[] execCreateChild(CreateInfo ci, Component parent, ShadowInfo childInfo, Component insertBefore) { Component child = null; final boolean bRoot = parent == null; try { // None composer support for shadow element child = ci.uf.newComponent(ci.page, parent, childInfo, insertBefore); childInfo.apply(child); // apply the property from ShadowInfo execCreate(ci, childInfo, child, null); //recursive (and appendChild) if (child instanceof AfterCompose) ((AfterCompose) child).afterCompose(); } catch (Throwable ex) { boolean ignore = ci.doCatch(ex, bRoot); if (!ignore) throw UiException.Aide.wrap(ex); } return child != null ? new Component[] { child } : new Component[0]; }
/** Instantiates a composer of the given object. * This method will invoke {@link org.zkoss.zk.ui.sys.UiFactory#newComposer} * to instantiate the composer if page is not null. * @param page the page that the composer will be created for. * Ignored if null. * @param o the composer instance, the class of the composer to instantiate, * or the name of the class of the composer. * If <code>o</code> is an instance of {@link Composer}, it is returned * directly. */ public static Composer newComposer(Page page, Object o) throws Exception { Class cls; if (o instanceof String) { final String clsnm = ((String) o).trim(); if (page != null) return ((WebAppCtrl) page.getDesktop().getWebApp()).getUiFactory().newComposer(page, clsnm); cls = Classes.forNameByThread(clsnm); } else if (o instanceof Class) { cls = (Class) o; if (page != null) return ((WebAppCtrl) page.getDesktop().getWebApp()).getUiFactory().newComposer(page, cls); } else return (Composer) o; return (Composer) cls.newInstance(); }
"No server push defined. Make sure you are using ZK PE or EE, or you have configured your own implementation"); _spush = ((WebAppCtrl) _wapp).getUiFactory().newServerPush(this, cls);
/** Creates an desktop. */ private Desktop newDesktop(Session sess, ServletRequest request, ServletResponse response, String path) { final Locator loc = PageDefinitions.getLocator(_wapp, path); //we have to retrieve locator before setting execution, //since it assumes exec.getDesktop not null //which is true except this moment (before desktop is created) final Execution exec = ExecutionsCtrl.getCurrent(); final TemporaryExecution de = new TemporaryExecution(_ctx, (HttpServletRequest) request, (HttpServletResponse) response, null); ExecutionsCtrl.setCurrent(de); try { Desktop desktop = ((WebAppCtrl) _wapp).getUiFactory() .newDesktop(new RequestInfoImpl(_wapp, sess, null, request, loc), _updateURI, path); return !de.isVoided() ? desktop : null; } finally { ExecutionsCtrl.setCurrent(exec); } }
final Session sess = wappc.getUiFactory().newSession(wapp, navsess, request); wappc.getSessionCache().put(sess);
final Writer out = patch.beforeRender(ri); final UiFactory uf = wappc.getUiFactory(); if (uf.isRichlet(ri, bRichlet)) { final Richlet richlet = uf.getRichlet(ri, path); if (richlet == null) return false; //not found final PageDefinition pagedef = uf.getPageDefinition(ri, path); if (pagedef == null) return false; //not found
/** Creates a page. * It invokes {@link UiFactory#newPage}. However, it prepares * {@link ExecutionsCtrl#getCurrent} for {@link org.zkoss.zk.ui.sys.IdGenerator#nextPageUuid} * * <p>Note: Use this method to create a page, rather than invoking * {@link UiFactory#newPage} directly. * @since 3.6.0 */ public static Page newPage(UiFactory uf, RequestInfo ri, PageDefinition pagedef, ServletResponse response, String path) { final DesktopCtrl desktopCtrl = (DesktopCtrl) ri.getDesktop(); final Execution exec = ExecutionsCtrl.getCurrent(); TemporaryExecution de = new TemporaryExecution(ri.getWebApp().getServletContext(), (HttpServletRequest) ri.getNativeRequest(), (HttpServletResponse) response, ri.getDesktop()); desktopCtrl.setExecution(de); ExecutionsCtrl.setCurrent(de); try { return uf.newPage(ri, pagedef, path); //de won't be voided since no DesktopInit-like plugin } finally { ExecutionsCtrl.setCurrent(exec); desktopCtrl.setExecution(exec); } }
parent.insertBefore(((Native) parent).getHelper().newNative(s), insertBefore); } else if (page != null) { created.add(ci.uf.newComponent(page, null, page.getLanguageDefinition().newLabelInfo(null, s), insertBefore)); } else {
_page = uf.newPage(ri, richlet, path); if(_zsLang!=null)_page.setZScriptLanguage(_zsLang);
public PageDefinition getPageDefinitionDirectly(Reader reader, String ext) throws IOException { //Note: we have to go thru UiFactory (so user can override it) return ((WebAppCtrl) getDesktop().getWebApp()).getUiFactory().getPageDefinitionDirectly(newRequestInfo(null), reader, ext); }
return null; child = ci.uf.newComponent(ci.page, parent, childInfo, insertBefore);
final String path = imprt[0], dirs = imprt[1]; try { final PageDefinition pd = uf.getPageDefinition(ri, path); if (pd == null) throw new UiException("The imported page not found: " + path);
public PageDefinition getPageDefinitionDirectly(Document content, String ext) { //Note: we have to go thru UiFactory (so user can override it) return ((WebAppCtrl) getDesktop().getWebApp()).getUiFactory().getPageDefinitionDirectly(newRequestInfo(null), content, ext); }
((SessionCtrl) sess).notifyClientRequest(true); final UiFactory uf = wappc.getUiFactory(); final PageDefinition pagedef = uf.getPageDefinitionDirectly(ri, content, _ext);