<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright 2004 The Apache Software Foundation
  
   Licensed 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.
-->
<!-- $Id$ -->
<!DOCTYPE application PUBLIC 
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">

<application>
	<extension name="org.apache.tapestry.specification-resolver-delegate"
			  class="org.apache.tapestry.junit.mock.c22.DummySpecDelegate"/>
	<extension name="org.apache.tapestry.template-source-delegate"
			  class="org.apache.tapestry.junit.mock.c22.DummyTemplateDelegate"/>
	<extension name="org.apache.tapestry.multipart-decoder"
			  class="org.apache.tapestry.multipart.DefaultMultipartDecoder">
	  <configure property-name="maxSize" type="int" value="200000"/>
	  <configure property-name="thresholdSize" type="int" value="5000"/>
	  <configure property-name="repositoryPath" value=".private"/>		
	</extension>
</application>
