List of usage examples for org.apache.wicket.markup MarkupStream skipComponent
public final void skipComponent()
From source file:com.locke.library.web.panels.caching.CachingPanel.java
License:Apache License
@Override protected void onRender(MarkupStream markupStream) { final RequestCycle cycle = getRequestCycle(); final Response response = cycle.getResponse(); if (getRenderState().lastRenderedAt.elapsedSince().greaterThan(getRenderState().maximumContentAge)) { getRenderState().lastRenderedAt = Time.now(); cycle.setResponse(getRenderState().buffer); super.onRender(markupStream); cycle.setResponse(response);/*ww w .ja v a2 s. c o m*/ } else { markupStream.skipComponent(); } response.write(getRenderState().buffer.getBuffer()); }
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. * //from w ww.j a va 2s . 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:guru.mmp.application.web.template.components.BlankComponent.java
License:Apache License
/** * Render the blank component./*from ww w. j av a2 s .c om*/ */ @Override protected void onRender() { MarkupStream markupStream = findMarkupStream(); markupStream.skipComponent(); }
From source file:net.jawr.web.wicket.AbstractJawrImageReference.java
License:Apache License
protected void onRender() { MarkupStream markupStream = findMarkupStream(); try {/*from ww w . j av a 2 s . c o m*/ final ComponentTag openTag = markupStream.getTag(); final ComponentTag tag = openTag.mutable(); final IValueMap attributes = tag.getAttributes(); String src = (String) attributes.get("src"); boolean base64 = Boolean.valueOf((String) attributes.get("base64")).booleanValue(); // src is mandatory if (null == src) { throw new IllegalStateException("The src attribute is mandatory for this Jawr tag. "); } // Retrieve the image resource handler ServletWebRequest servletWebRequest = (ServletWebRequest) getRequest(); HttpServletRequest request = servletWebRequest.getContainerRequest(); BinaryResourcesHandler binaryRsHandler = (BinaryResourcesHandler) WebApplication.get() .getServletContext().getAttribute(JawrConstant.BINARY_CONTEXT_ATTRIBUTE); if (null == binaryRsHandler) throw new IllegalStateException( "You are using a Jawr image tag while the Jawr Image servlet has not been initialized. Initialization of Jawr Image servlet either failed or never occurred."); final Response response = getResponse(); src = ImageTagUtils.getImageUrl(src, base64, binaryRsHandler, request, getHttpServletResponseUrlEncoder(response)); Writer writer = new RedirectWriter(response); this.renderer = RendererFactory.getImgRenderer(binaryRsHandler.getConfig(), isPlainImage()); this.renderer.renderImage(src, attributes, writer); } catch (IOException ex) { LOGGER.error("onRender() error : ", ex); } finally { // Reset the Thread local for the Jawr context ThreadLocalJawrContext.reset(); } markupStream.skipComponent(); }
From source file:net.jawr.web.wicket.AbstractJawrReference.java
License:Apache License
@Override protected void onRender() { MarkupStream markupStream = findMarkupStream(); try {//from w ww . jav a2 s . com final ComponentTag openTag = markupStream.getTag(); final ComponentTag tag = openTag.mutable(); final IValueMap attributes = tag.getAttributes(); // Initialize attributes String src = getReferencePath(attributes); // src is mandatory if (null == src) { throw new IllegalStateException("The src attribute is mandatory for this Jawr reference tag. "); } ServletWebRequest servletWebRequest = (ServletWebRequest) getRequest(); HttpServletRequest request = servletWebRequest.getContainerRequest(); // Get an instance of the renderer. ResourceBundlesHandler rsHandler = (ResourceBundlesHandler) request.getSession().getServletContext() .getAttribute(getResourceHandlerAttributeName()); if (null == rsHandler) { throw new IllegalStateException( "ResourceBundlesHandler not present in servlet context. Initialization of Jawr either failed or never occurred."); } // Refresh the config if needed if (RendererRequestUtils.refreshConfigIfNeeded(request, rsHandler.getConfig())) { rsHandler = (ResourceBundlesHandler) request.getSession().getServletContext() .getAttribute(getResourceHandlerAttributeName()); } Boolean useRandomFlag = null; if (StringUtils.isNotEmpty(useRandomParam)) { useRandomFlag = Boolean.valueOf(useRandomParam); } BundleRenderer renderer = createRenderer(rsHandler, useRandomFlag, tag); // set the debug override RendererRequestUtils.setRequestDebuggable(request, renderer.getBundler().getConfig()); final Response response = getResponse(); Writer writer = new RedirectWriter(response); BundleRendererContext ctx = RendererRequestUtils.getBundleRendererContext(request, renderer); renderer.renderBundleLinks(src, ctx, writer); } catch (IOException ex) { LOGGER.error("onRender() error : ", ex); } finally { // Reset the Thread local for the Jawr context ThreadLocalJawrContext.reset(); } markupStream.skipComponent(); }
From source file:org.dcm4chee.dashboard.ui.messaging.SideColumnsView.java
License:Apache License
/** * Renders the columns.//from w w w . jav a 2 s .co m * * @param markupStream * The markup stream of this component */ @Override protected void onRender(final MarkupStream markupStream) { final int markupStart = markupStream.getCurrentIndex(); Response response = RequestCycle.get().getResponse(); boolean firstLeft = true; // whether there was no left column rendered // yet boolean rendered = false; for (int i = 0; i < columns.size(); ++i) { IColumn column = columns.get(i); Component component = components.get(i); IRenderable renderable = renderables.get(i); // write wrapping markup response.write("<span class=\"b_\" style=\"" + renderColumnStyle(column) + "\">"); if (column.getLocation().getAlignment() == Alignment.LEFT && firstLeft == true) { // for the first left column we have different style class // (without the left border) response.write("<span class=\"d_\">"); firstLeft = false; } else { if (i == 3) { QueueModel queueModel = (QueueModel) ((DefaultMutableTreeNode) node).getUserObject(); response.write("<span class=\"c_\"" + (queueModel.getColor() == null ? "" : "style=\"background-color: " + queueModel.getColor() + ";\"") + ">"); } else response.write("<span class=\"c_\">"); } if (component != null) { markupStream.setCurrentIndex(markupStart); component.render(markupStream); rendered = true; } else if (renderable != null) { renderable.render(node, response); } else { throw new IllegalStateException( "Either renderable or cell component must be created for this node"); } response.write("</span></span>\n"); } // if no component was rendered just advance in the markup stream if (rendered == false) { markupStream.skipComponent(); } }