<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
-->
<!DOCTYPE xwork PUBLIC
        "-//Apache Struts//XWork 2.0//EN"
        "http://struts.apache.org/dtds/xwork-2.0.dtd">

<xwork>
    <bean type="com.opensymphony.xwork2.ObjectFactory" name="default" class="com.opensymphony.xwork2.ProxyObjectFactory" />

 	<bean type="com.opensymphony.xwork2.ActionProxyFactory" name="default" class="com.opensymphony.xwork2.DefaultActionProxyFactory"/>
	<constant name="devMode" value="false" />

    <package name="xwork-test-default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
            <result-type name="void" class="com.opensymphony.xwork2.VoidResult"/>
            <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>

        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="logger" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
            <interceptor name="chain" class="com.opensymphony.xwork2.interceptor.ChainingInterceptor"/>
            <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
            <interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
            <interceptor name="modelDriven" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
            <interceptor name="validation" class="com.opensymphony.xwork2.validator.ValidationInterceptor"/>
			<interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/>
            <interceptor name="test" class="com.opensymphony.xwork2.mock.MockInterceptor">
                <param name="foo">expectedFoo</param>
            </interceptor>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="params"/>
            </interceptor-stack>

            <interceptor-stack name="debugStack">
                <interceptor-ref name="timer"/>
                <interceptor-ref name="logger"/>
            </interceptor-stack>
        </interceptors>
    </package>

    <package name="default" extends="xwork-test-default">

        <action name="ProxyInvocation" method="show" class="com.opensymphony.xwork2.ProxyInvocationAction"/>
    </package>
</xwork>
