Example usage for org.apache.wicket.markup MarkupParser add

List of usage examples for org.apache.wicket.markup MarkupParser add

Introduction

In this page you can find the example usage for org.apache.wicket.markup MarkupParser add.

Prototype

public final boolean add(final IMarkupFilter filter) 

Source Link

Document

Add a markup filter

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  ww  . java  2  s  . c o  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:net.jawr.web.wicket.JawrWicketApplicationInitializer.java

License:Apache License

/**
 * Initialize the wicket application/*from w  ww . j av a 2s.  c  om*/
 * 
 * @param app the aplpication to initialize
 */
public static void initApplication(Application app) {

    // Add the Jawr tag handler to the MarkupParserFactory 
    MarkupFactory factory = new MarkupFactory() {

        public MarkupParser newMarkupParser(final MarkupResourceStream resource) {
            MarkupParser parser = new MarkupParser(new XmlPullParser(), resource);
            parser.add(new JawrWicketLinkTagHandler());
            return parser;
        }
    };

    app.getMarkupSettings().setMarkupFactory(factory);

    // Add the Jawr link resolver
    app.getPageSettings().addComponentResolver(new JawrWicketLinkResolver());
}