Example usage for org.apache.wicket.markup ComponentTag isOpen

List of usage examples for org.apache.wicket.markup ComponentTag isOpen

Introduction

In this page you can find the example usage for org.apache.wicket.markup ComponentTag isOpen.

Prototype

public final boolean isOpen() 

Source Link

Usage

From source file:com.userweave.application.UserWeaveApplication.java

License:Open Source License

@Override
public void init() {
    super.init();

    getComponentInstantiationListeners().add(new SpringComponentInjector(this));

    setupAuthorization();// w w w .j  a  v a2s  . co  m

    mountPages();
    mountResources();

    getMarkupSettings().setStripWicketTags(true);

    setupErrorHandling();

    setupProductionSettings();

    setDefaultResourceLocale(LocalizationUtils.getDefaultLocale());

    getMarkupSettings().setMarkupFactory(new MarkupFactory() {

        @Override
        public MarkupParser newMarkupParser(MarkupResourceStream resource) {
            MarkupParser markupParser = new MarkupParser(resource);

            markupParser.add(new AbstractMarkupFilter() {
                //               @Override
                //               public MarkupElement nextTag() throws ParseException {
                //                    
                //                  // Get the next tag. If null, no more tags are available
                //                    final ComponentTag tag = (ComponentTag)getParent().nextTag();
                //                    if ( null == tag || null != tag.getId() )
                //                        return tag;
                //
                //                    // Process open <html> tags
                //                    if( null != tag.getName() && tag.getName().equals( "html" ) && tag.isOpen())
                //                    {
                //                       String language = UserWeaveSession.get().getLocale().getLanguage();
                //                        tag.getAttributes().put("lang", language);
                //                        tag.getAttributes().put("xml:lang", language);
                //                        tag.setModified( true );
                //                    }
                //
                //                    return tag;
                //               }

                @Override
                protected MarkupElement onComponentTag(ComponentTag tag) throws ParseException {
                    if (null == tag || null != tag.getId()) {
                        return tag;
                    }

                    // Process open <html> tags
                    if (null != tag.getName() && tag.getName().equals("html") && tag.isOpen()) {
                        String language = UserWeaveSession.get().getLocale().getLanguage();
                        tag.getAttributes().put("lang", language);
                        tag.getAttributes().put("xml:lang", language);
                        tag.setModified(true);
                    }

                    return tag;
                }
            });

            return markupParser;
        }
    });

    /*
     * @see: migration guide to wicket 1.5 Request cycle
     * 
     * Instead of overrride newRequestCycle, we have to create a factory,
     * that builds our custom RequestCycle.
     */
    setRequestCycleProvider(new IRequestCycleProvider() {
        @Override
        public RequestCycle get(RequestCycleContext context) {
            return new UserWeaveWebRequestCycle(context);
        }
    });

    /*
     * @see: https://cwiki.apache.org/WICKET/request-mapping.html
     * 
     * newRequestCycleProcessor is obsolete, so we replace the
     * CryptedUrlWebRequestCodingStrategy with a CryptoMapper,
     */
    //      if(ENCRYPTION)
    //      {
    //         setRootRequestMapper(new CryptoMapper(getRootRequestMapper(), this));
    //      }

    // add custom listener for runtime exceptions.
    getRequestCycleListeners().add(new AbstractRequestCycleListener() {
        @Override
        public IRequestHandler onException(RequestCycle cycle, Exception ex) {
            if (ex instanceof RuntimeException) {
                ((UserWeaveWebRequestCycle) cycle).handleRuntimeException((RuntimeException) ex);
            }

            return null;
        }
    });

    // disable caching strategy
    getResourceSettings().setCachingStrategy(NoOpResourceCachingStrategy.INSTANCE);
}

From source file:org.efaps.ui.wicket.components.AbstractParentMarkupContainer.java

License:Apache License

/**
 * @see org.apache.wicket.MarkupContainer#onRender(org.apache.wicket.markup.MarkupStream)
 *///from  www  .java  2s.c om
@Override
public void onRender() {
    final IMarkupFragment markup = getMarkup();
    final MarkupStream markupStream = new MarkupStream(markup);
    final int markupStart = markupStream.getCurrentIndex();

    // Get mutable copy of next tag
    final ComponentTag openTag = markupStream.getTag();
    final ComponentTag tag = openTag.mutable();

    // Call any tag handler
    onComponentTag(tag);

    // Render open tag
    if (!getRenderBodyOnly()) {
        renderComponentTag(tag);
    }
    markupStream.next();

    // Render the body only if open-body-close. Do not render if
    // open-close.
    if (tag.isOpen()) {
        // Render the body
        onComponentTagBody(markupStream, tag);
    }
    markupStream.setCurrentIndex(markupStart);

    final Iterator<?> childs = this.iterator();
    while (childs.hasNext()) {
        markupStream.setCurrentIndex(markupStart);
        final Component child = (Component) childs.next();
        child.rendered();
    }

    markupStream.setCurrentIndex(markupStart);
    markupStream.next();
    // Render close tag

    if (tag.isOpen()) {
        if (openTag.isOpen()) {
            // Get the close tag from the stream
            ComponentTag closeTag = markupStream.getTag();

            // If the open tag had its id changed
            if (tag.isAutoComponentTag()) {
                // change the id of the close tag
                closeTag = closeTag.mutable();
                closeTag.setName(tag.getName());
            }

            // Render the close tag
            renderComponentTag(closeTag);
            markupStream.next();
        }
    }
}

From source file:org.efaps.ui.wicket.components.LabelComponent.java

License:Apache License

/**
 * Method is overwritten to prevent the annoing warnings from Component to come up.
 * The warning come up due to the reason that this component moves the tags from parent
 * element to its child.//from  w ww  .  ja va  2s .c o m
 */
@Override
protected void onRender() {
    final IMarkupFragment markup = getMarkup();
    if (markup == null) {
        throw new MarkupException("Markup not found. Component: " + toString());
    }

    final MarkupStream markupStream = new MarkupStream(markup);

    // Get mutable copy of next tag
    final ComponentTag openTag = markupStream.getTag();
    final ComponentTag tag = openTag.mutable();

    // Call any tag handler
    onComponentTag(tag);

    // If we're an openclose tag
    if (!tag.isOpenClose() && !tag.isOpen()) {
        // We were something other than <tag> or <tag/>
        markupStream.throwMarkupException("Method renderComponent called on bad markup element: " + tag);
    }

    if (tag.isOpenClose() && openTag.isOpen()) {
        markupStream.throwMarkupException("You can not modify a open tag to open-close: " + tag);
    }

    markupStream.next();

    getMarkupSourcingStrategy().onComponentTagBody(this, markupStream, tag);
}

From source file:sf.wicklet.wicketext.markup.impl.ReadOnlyRootMarkup.java

License:Apache License

private IMarkupFragment createFragment(final ComponentTag c, final int start, final int end) {
    final ReadOnlyRootMarkup ret = new ReadOnlyRootMarkup();
    int level = c.isOpenClose() ? 0 : 1;
    ret.add(c);//from w ww .  j a  v  a 2  s  .c  o  m
    for (int k = start; level > 0 && k < end; ++k) {
        final IMarkupElement e = elements.get(k);
        ret.add(e);
        if (e instanceof ComponentTag) {
            final ComponentTag cc = (ComponentTag) e;
            if (cc.isOpen()) {
                ++level;
            } else if (cc.isClose()) {
                --level;
            } else if (!cc.isOpenClose()) {
                assert (false);
            }
        }
    }
    if (level != 0) {
        throw new MarkupException("Fragment is not well formed: " + ret);
    }
    return ret;
}