List of usage examples for org.apache.wicket.markup MarkupStream get
public MarkupElement get()
From source file:com.servoy.j2db.server.headlessclient.dataui.SortableCellViewHeaders.java
License:Open Source License
/** * Renders the next element of markup in the given markup stream. * /*ww w . j a v a2 s. c o m*/ * @param markupStream The markup stream */ private final void _renderNext(final MarkupStream markupStream) { // Get the current markup element final MarkupElement element = markupStream.get(); // If it a tag like <wicket..> or <span wicket:id="..." > if ((element instanceof ComponentTag) && !markupStream.atCloseTag()) { // Get element as tag final ComponentTag tag = (ComponentTag) element; // Get component id final String id = tag.getId(); // Get the component for the id from the given container final Component component = get(id); // Failed to find it? if (component != null && orderedHeaders.get(renderColumnIdx) != null) { if (component instanceof SortableCellViewHeader) { int currentIdx = markupStream.getCurrentIndex(); renderHeader(renderColumnIdx, markupStream); renderColumnIdx++; markupStream.setCurrentIndex(currentIdx); markupStream.skipComponent(); } } else { // 2rd try: Components like Border and Panel might implement // the ComponentResolver interface as well. MarkupContainer container = this; while (container != null) { if (container instanceof SortableCellViewHeaders) { // we should created the corect header, use the id from the orderedHeaders String headerId = orderedHeaderIds.get(renderColumnIdx); renderColumnIdx++; if (resolve(markupStream, tag, headerId)) { return; } } if (container instanceof IComponentResolver) { if (((IComponentResolver) container).resolve(this, markupStream, tag)) { return; } } container = container.findParent(MarkupContainer.class); } // 3rd try: Try application's component resolvers final List<IComponentResolver> componentResolvers = getApplication().getPageSettings() .getComponentResolvers(); final Iterator<IComponentResolver> iterator = componentResolvers.iterator(); while (iterator.hasNext()) { final IComponentResolver resolver = iterator.next(); if (resolver.resolve(this, markupStream, tag)) { return; } } if (tag instanceof WicketTag) { if (((WicketTag) tag).isChildTag()) { markupStream.throwMarkupException("Found " + tag.toString() + " but no <wicket:extend>"); //$NON-NLS-1$ //$NON-NLS-2$ } else { markupStream.throwMarkupException("Failed to handle: " + tag.toString()); //$NON-NLS-1$ } } // No one was able to handle the component id markupStream.throwMarkupException("Unable to find component with id '" + id + "' in " + this //$NON-NLS-1$//$NON-NLS-2$ + ". This means that you declared wicket:id=" + //$NON-NLS-1$ id + " in your markup, but that you either did not add the " //$NON-NLS-1$ + "component to your page at all, or that the hierarchy does not match."); //$NON-NLS-1$ } } else { getResponse().write(element.toCharSequence()); markupStream.next(); } }
From source file:com.servoy.j2db.server.headlessclient.MainPage.java
License:Open Source License
/** * @see wicket.Page#configureResponse()/*from w ww.ja v a2s . c om*/ */ @SuppressWarnings("nls") @Override protected void configureResponse() { super.configureResponse(); if (getWebRequestCycle().getResponse() instanceof WebResponse) { final WebResponse response = getWebRequestCycle().getWebResponse(); HTTPUtils.setNoCacheHeaders(response.getHttpServletResponse(), "no-store"); } final RequestCycle cycle = getRequestCycle(); final Response response = cycle.getResponse(); if (main != null) { final MarkupStream markupStream = main.getAssociatedMarkupStream(false); if (markupStream != null) { // markupStream.setCurrentIndex(0); // this doesn't seem to be needed MarkupElement m = markupStream.get(); if (m != null) { String docType = m.toString().trim(); if (docType.toUpperCase().startsWith("<!DOCTYPE")) { int index = docType.indexOf('>'); if (index != -1) { response.write(docType.substring(0, index + 1));//delegate form doctype to be the mainpage doctype } else { response.write(docType);//delegate form doctype to be the mainpage doctype } } } } } }
From source file:dk.teachus.frontend.pages.BasePage.java
License:Apache License
public BasePage() { Theme theme = getTheme();//w w w. j a va2 s .c om if (theme == null) { theme = Theme.BLUE; } StringBuilder sb = new StringBuilder(TeachUsSession.get().getString("General.teachUsTitle")); //$NON-NLS-1$ sb.append(" "); //$NON-NLS-1$ sb.append(TeachUsApplication.get().getVersion()); add(new Label("title", sb.toString())); //$NON-NLS-1$ IModel<List<MenuItem>> itemsModel = new PropertyModel<List<MenuItem>>(this, "menuItems"); IModel<List<MenuItem>> rightItemsModel = new PropertyModel<List<MenuItem>>(this, "rightMenuItems"); IModel<PageCategory> activeMenuItemModel = new PropertyModel<PageCategory>(this, "pageCategory"); add(new MenuPanel("menu", itemsModel, rightItemsModel, activeMenuItemModel)); add(new Label("copyright", "2006-" + new DateMidnight().getYear() + " TeachUs Booking Systems")); ajaxLoader = new WebMarkupContainer("ajaxLoader"); ajaxLoader.setOutputMarkupId(true); add(ajaxLoader); /* * Google Analytics */ WebMarkupContainer googleAnalytics = new WebMarkupContainer("googleAnalytics") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return TeachUsApplication.get().getConfiguration() .hasConfiguration(ApplicationConfiguration.GOOGLE_ANALYTICS_WEB_PROPERTY_ID); } @Override public void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) { String content = markupStream.get().toCharSequence().toString(); content = content.replace("UA-XXXXX-X", TeachUsApplication.get().getConfiguration() .getConfiguration(ApplicationConfiguration.GOOGLE_ANALYTICS_WEB_PROPERTY_ID)); replaceComponentTagBody(markupStream, openTag, content); } }; add(googleAnalytics); /* * New Relic */ add(new Label("newRelicTimingHeader", NewRelic.getBrowserTimingHeader()).setEscapeModelStrings(false) .setRenderBodyOnly(true)); add(new Label("newRelicTimingFooter", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { return NewRelic.getBrowserTimingFooter(); } }).setEscapeModelStrings(false).setRenderBodyOnly(true)); }
From source file:fiftyfive.wicket.prototype.TruncatedRawMarkup.java
License:Apache License
@Override public void onComponentTagBody(MarkupStream markup, ComponentTag tag) { // We assume the body of the component is raw HTML // (i.e. not nested wicket components or wicket tags). RawMarkup raw = (RawMarkup) markup.get(); getResponse().write(getTruncateHelper().truncate(raw.toString(), this.length)); markup.next();//from w w w.ja v a 2s . c o m }
From source file:guru.mmp.application.web.components.XMLPanel.java
License:Apache License
/** * Render the XML panel.//from w w w .j ava2 s.c o m */ @Override protected void onRender() { String xml = getDefaultModelObjectAsString(); MarkupStream markupStream = findMarkupStream(); MarkupElement element = markupStream.get(); Response response = getResponse(); if (element instanceof ComponentTag) { xml = xml.replace("<", "<"); xml = xml.replace(">", ">"); response.write(xml); } }
From source file:guru.mmp.application.web.template.components.Alerts.java
License:Apache License
/** * Render the alerts./* w w w . j a va 2s. c o m*/ */ @Override protected void onRender() { MarkupStream markupStream = findMarkupStream(); MarkupElement element = markupStream.get(); Response response = getResponse(); if (element instanceof ComponentTag) { List<FeedbackMessage> messages = getFilteredMessages(); if (messages.size() == 0) { response.write("<div id=\"" + getMarkupId() + "\" class=\"alerts\"></div>"); return; } StringBuilder errorBuffer = null; StringBuilder infoBuffer = null; StringBuilder warningBuffer = null; StringBuilder debugBuffer = null; int numberOfErrorMessages = 0; int numberOfInfoMessages = 0; int numberOfWarningMessages = 0; int numberOfDebugMessages = 0; for (FeedbackMessage message : messages) { if (message.isError()) { if (errorBuffer == null) { errorBuffer = new StringBuilder(); } numberOfErrorMessages++; } else if (message.isWarning()) { if (warningBuffer == null) { warningBuffer = new StringBuilder(); } numberOfWarningMessages++; } else if (message.isInfo()) { if (infoBuffer == null) { infoBuffer = new StringBuilder(); } numberOfInfoMessages++; } else if (message.isFatal()) { if (errorBuffer == null) { errorBuffer = new StringBuilder(); } numberOfErrorMessages++; } else if (message.isDebug()) { if (debugBuffer == null) { debugBuffer = new StringBuilder(); } numberOfDebugMessages++; } } for (FeedbackMessage message : messages) { if (message.isError()) { if (numberOfErrorMessages == 1) { errorBuffer.append(message.getMessage().toString()); } else { errorBuffer.append("<li>"); errorBuffer.append(message.getMessage().toString()); errorBuffer.append("</li>"); } } else if (message.isWarning()) { if (numberOfWarningMessages == 1) { warningBuffer.append(message.getMessage().toString()); } else { warningBuffer.append("<li>"); warningBuffer.append(message.getMessage().toString()); warningBuffer.append("</li>"); } } else if (message.isInfo()) { if (numberOfInfoMessages == 1) { infoBuffer.append(message.getMessage().toString()); } else { infoBuffer.append("<li>"); infoBuffer.append(message.getMessage().toString()); infoBuffer.append("</li>"); } } else if (message.isFatal()) { if (numberOfErrorMessages == 1) { errorBuffer.append(message.getMessage().toString()); } else { errorBuffer.append("<li>"); errorBuffer.append(message.getMessage().toString()); errorBuffer.append("</li>"); } } else if (message.isDebug()) { if (numberOfDebugMessages == 1) { debugBuffer.append(message.getMessage().toString()); } else { debugBuffer.append("<li>"); debugBuffer.append(message.getMessage().toString()); debugBuffer.append("</li>"); } } message.markRendered(); } response.write("<div id=\""); response.write(getMarkupId()); response.write("\" class=\"alerts\">"); // Display error messages first if (numberOfErrorMessages > 0) { response.write("<div class=\"errorHandler alert alert-danger\">"); response.write("<button data-dismiss=\"alert\" class=\"close\">×</button>"); response.write("<i class=\"fa fa-times-circle\"></i> "); if (numberOfErrorMessages == 1) { response.write(errorBuffer.toString()); response.write("</div>"); } else { response.write("The following errors occurred while processing your request:"); response.write("<ul style=\"padding: 5px 0px 0px 19px;\">"); response.write(errorBuffer.toString()); response.write("</ul></div>"); } } // Display warning messages second if (numberOfWarningMessages > 0) { response.write("<div class=\"alert alert-warning\">"); response.write("<button data-dismiss=\"alert\" class=\"close\">×</button>"); response.write("<i class=\"fa fa-exclamation-triangle\"></i> "); if (numberOfWarningMessages == 1) { response.write(warningBuffer.toString()); response.write("</div>"); } else { response.write("The following warnings were raised while processing your request:"); response.write("<ul style=\"padding: 5px 0px 0px 19px;\">"); response.write(warningBuffer.toString()); response.write("</ul></div>"); } } // Display informational messages third if (numberOfInfoMessages > 0) { response.write("<div class=\"alert alert-success\">"); response.write("<button data-dismiss=\"alert\" class=\"close\">×</button>"); response.write("<i class=\"fa fa-check-circle\"></i> "); if (numberOfInfoMessages == 1) { response.write(infoBuffer.toString()); response.write("</div>"); } else { response.write("Please take note of the following:"); response.write("<ul style=\"padding: 5px 0px 0px 19px;\">"); response.write(infoBuffer.toString()); response.write("</ul></div>"); } } // Display debug messages fourth if (numberOfDebugMessages > 0) { response.write("<div class=\"alert alert-info\">"); response.write("<button data-dismiss=\"alert\" class=\"close\">×</button>"); response.write("<i class=\"fa fa-info-circle\"></i> "); if (numberOfDebugMessages == 1) { response.write(debugBuffer.toString()); response.write("</div>"); } else { response.write("Please take note of the following:"); response.write("<ul style=\"padding: 5px 0px 0px 19px;\">"); response.write(debugBuffer.toString()); response.write("</ul></div>"); } } response.write("</div>"); } }
From source file:guru.mmp.application.web.template.components.BackendMainNavigation.java
License:Apache License
/** * Render the backend main navigation.//www.j ava 2 s. c o m */ @Override protected void onRender() { MarkupStream markupStream = findMarkupStream(); MarkupElement element = markupStream.get(); Response response = getResponse(); if (element instanceof ComponentTag) { Session session = getSession(); if (session instanceof TemplateWebSession) { TemplateWebSession webSession = ((TemplateWebSession) session); NavigationState navigationState = webSession.getNavigationState(); // If we have cached navigation HTML then check if we can use it if (navigationState.getCachedBackendMainNavigationHTML() != null) { /* * If we are rendering the main navigation menu for the last page accessed in the * navigation hierarchy then use the cached navigation HTML. */ if (navigationState.isLastPageAccessedInNavigationHierarchy(getPage())) { response.write(navigationState.getCachedBackendMainNavigationHTML()); return; } /* * If we are rendering the main navigation menu for a page that is not in the navigation * hierarchy then used the cached navigation HTML for the last page accessed in the * navigation hierarchy. */ if (!webSession.getNavigation().isPageInNavigationHierarchy(getPage())) { response.write(navigationState.getCachedBackendMainNavigationHTML()); return; } } String requestURI = ((HttpServletRequest) (RequestCycle.get().getRequest()).getContainerRequest()) .getRequestURI(); StringBuilder buffer = new StringBuilder(); // Build the main navigation menu renderNavigationGroup(requestURI, webSession.getNavigation(), 0, buffer); navigationState.setCachedBackendMainNavigationHTML(buffer.toString()); response.write(navigationState.getCachedBackendMainNavigationHTML()); } } }
From source file:guru.mmp.application.web.template.components.BackendUserMenu.java
License:Apache License
/** * Render the backend user menu./*w w w .j a v a2s .c o m*/ */ @Override protected void onRender() { MarkupStream markupStream = findMarkupStream(); MarkupElement element = markupStream.get(); Response response = getResponse(); if (element instanceof ComponentTag) { Session session = getSession(); if (session instanceof TemplateWebSession) { TemplateWebSession webSession = ((TemplateWebSession) session); NavigationState navigationState = webSession.getNavigationState(); if (navigationState.getCachedBackendUserMenuHTML() == null) { if (webSession.isUserLoggedIn()) { String buffer = "<li class=\"dropdown user user-menu\">" + "<a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\"><img src=\"" + getRequest().getContextPath() + "/images/user-grey.png" + "\" class=\"user-image\" alt=\"User Image\"><span class=\"hidden-xs\">" + webSession.getUserFullName() + "</span></a><ul class=\"dropdown-menu\">" + "<li class=\"user-header\"><img src=\"" + getRequest().getContextPath() + "/images/user-white.png\" class=\"img-circle\" alt=\"User Image\"><p>" + webSession.getUserFullName() + "</p></li><li class=\"user-footer\">" + "<div class=\"pull-right\"><a href=\"" + getRequest().getContextPath() + "/logout\" class=\"btn btn-default btn-flat\">Logout</a></div></li></ul></li>"; navigationState.setCachedBackendUserMenuHTML(buffer); } else { String buffer = "<li class=\"user user-menu\"><a href=\"" + urlFor(LoginPage.class, new PageParameters()) + "\" class=\"dropdown-toggle\"><i class=\"fa fa-sign-in\"></i>" + "<span class=\"hidden-xs\">Login</span></a></li>"; navigationState.setCachedBackendUserMenuHTML(buffer); } } response.write(navigationState.getCachedBackendUserMenuHTML()); } } }
From source file:guru.mmp.application.web.template.components.BackendUserPanel.java
License:Apache License
/** * Render the backend user panel.//from w ww . ja va2s . c om */ @Override protected void onRender() { MarkupStream markupStream = findMarkupStream(); MarkupElement element = markupStream.get(); Response response = getResponse(); if (element instanceof ComponentTag) { Session session = getSession(); if (session instanceof TemplateWebSession) { TemplateWebSession webSession = ((TemplateWebSession) session); NavigationState navigationState = webSession.getNavigationState(); if (navigationState.getCachedBackendUserPanelHTML() == null) { if (webSession.isUserLoggedIn()) { String buffer = "<div class=\"user-panel\"><div class=\"pull-left image\"><img src=\"" + getRequest().getContextPath() + "/images/user-white.png" + "\" class=\"img-circle\" alt=\"User Image\"/></div>" + "<div class=\"pull-left info\"><p>" + webSession.getUserFullName() + "</p></div></div>"; navigationState.setCachedBackendUserPanelHTML(buffer); } else { navigationState.setCachedBackendUserPanelHTML(""); } } response.write(navigationState.getCachedBackendUserPanelHTML()); } } }
From source file:guru.mmp.application.web.template.components.Breadcrumbs.java
License:Apache License
/** * Render the breadcrumbs./*from w w w . ja va 2 s . co m*/ */ @Override protected void onRender() { MarkupStream markupStream = findMarkupStream(); MarkupElement element = markupStream.get(); Response response = getResponse(); if (element instanceof ComponentTag) { Session session = getSession(); if (session instanceof TemplateWebSession) { TemplateWebSession webSession = ((TemplateWebSession) session); NavigationState navigationState = webSession.getNavigationState(); // If we have cached breadcrumbs HTML then check if we can use it if (navigationState.getCachedBreadcrumbsHTML() != null) { /* * If we are rendering the breadcrumbs for the last page accessed in the navigation * hierarchy then use the cached navigation HTML. */ if (navigationState.isLastPageAccessedInNavigationHierarchy(getPage())) { response.write(navigationState.getCachedBreadcrumbsHTML()); return; } /* * If we are rendering the breadcrumbs for a page that is not in the navigation * hierarchy then used the cached breadcrumbs HTML for the last page accessed in the * navigation hierarchy. */ if (!webSession.getNavigation().isPageInNavigationHierarchy(getPage())) { response.write(navigationState.getCachedBreadcrumbsHTML()); return; } } StringBuilder buffer = new StringBuilder(); buffer.append("<ol class=\"breadcrumb\">"); Class<? extends Page> clazz; if (webSession.isUserLoggedIn()) { clazz = TemplateWebApplication.getTemplateWebApplication().getSecureHomePage(); } else { clazz = TemplateWebApplication.getTemplateWebApplication().getHomePage(); } if (clazz.isAssignableFrom(getPage().getPageClass())) { buffer.append("<li class=\"active\"><a href=\"#\"><i class=\"fa fa-home\"></i> Home</a></li>"); } else { buffer.append("<li><a href=\""); buffer.append(RequestCycle.get().urlFor(clazz, new PageParameters())); buffer.append("\"><i class=\"fa fa-home\"></i> Home</a></li>"); renderBreadcrumbs(webSession.getNavigation(), buffer); } buffer.append("</ol>"); navigationState.setLastPageAccessedInNavigationHierarchy(getPage()); navigationState.setCachedBreadcrumbsHTML(buffer.toString()); response.write(navigationState.getCachedBreadcrumbsHTML()); } } }