001    /*******************************************************************************
002     * Copyright (C) PicoContainer Organization. All rights reserved.
003     * --------------------------------------------------------------------------
004     * The software in this package is published under the terms of the BSD style
005     * license a copy of which has been included with this distribution in the
006     * LICENSE.txt file.
007     ******************************************************************************/
008    package org.picocontainer.web.struts2;
009    
010    import com.opensymphony.xwork2.interceptor.AliasInterceptor;
011    import com.opensymphony.xwork2.interceptor.ChainingInterceptor;
012    import com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor;
013    import com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor;
014    import com.opensymphony.xwork2.interceptor.I18nInterceptor;
015    import com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor;
016    import com.opensymphony.xwork2.interceptor.ParametersInterceptor;
017    import com.opensymphony.xwork2.interceptor.PrepareInterceptor;
018    import com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor;
019    import com.opensymphony.xwork2.interceptor.StaticParametersInterceptor;
020    import org.apache.struts2.interceptor.CheckboxInterceptor;
021    import org.apache.struts2.interceptor.ExecuteAndWaitInterceptor;
022    import org.apache.struts2.interceptor.FileUploadInterceptor;
023    import org.apache.struts2.interceptor.ProfilingActivationInterceptor;
024    import org.apache.struts2.interceptor.ServletConfigInterceptor;
025    import org.apache.struts2.interceptor.StrutsConversionErrorInterceptor;
026    import org.apache.struts2.interceptor.debugging.DebuggingInterceptor;
027    import org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor;
028    import org.picocontainer.MutablePicoContainer;
029    import org.picocontainer.web.WebappComposer;
030    
031    import javax.servlet.ServletContext;
032    
033    import ognl.OgnlRuntime;
034    
035    public abstract class Struts2Composer implements WebappComposer {
036    
037        public void composeApplication(MutablePicoContainer container, ServletContext servletContext) {
038    
039            container.addComponent(ExceptionMappingInterceptor.class);
040            container.addComponent(ServletConfigInterceptor.class);
041            container.addComponent(PrepareInterceptor.class);
042            container.addComponent(CheckboxInterceptor.class);
043            container.addComponent(ParametersInterceptor.class);
044            container.addComponent(StrutsConversionErrorInterceptor.class);
045            container.addComponent(AnnotationValidationInterceptor.class);
046            container.addComponent(DefaultWorkflowInterceptor.class);
047            container.addComponent(FileUploadInterceptor.class);
048            container.addComponent(ModelDrivenInterceptor.class);
049            container.addComponent(ChainingInterceptor.class);
050            container.addComponent(I18nInterceptor.class);
051            container.addComponent(AliasInterceptor.class);
052            container.addComponent(StaticParametersInterceptor.class);
053            container.addComponent(DebuggingInterceptor.class);
054            container.addComponent(ProfilingActivationInterceptor.class);
055            container.addComponent(ScopedModelDrivenInterceptor.class);
056            container.addComponent(ExecuteAndWaitInterceptor.class);
057        }
058    }