<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright 2007 the original author or authors.
 
 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.
-->

<!-- Spring Framework configuration for StubFtpServer -->
<!-- The SpringConfigurationTest class has dependencies on 
		several of the bean names and values configured within this file -->

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
       		http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

	<bean id="stubFtpServer" class="org.mockftpserver.stub.StubFtpServer">
		<property name="serverControlPort" value="9981" />
		<property name="commandHandlers">
			<map>

				<entry key="LIST">
					<bean class="org.mockftpserver.stub.command.ListCommandHandler">
						<property name="directoryListing">
							<value>
							11-09-01 12:30PM  406348 File2350.log
                			11-01-01 1:30PM &lt;DIR&gt; 0 archive
                			</value>
                		</property>
					</bean>
				</entry>

				<entry key="PWD">
					<bean class="org.mockftpserver.stub.command.PwdCommandHandler">
						<property name="directory" value="foo/bar" />
					</bean>
				</entry>

				<entry key="DELE">
					<bean class="org.mockftpserver.stub.command.DeleCommandHandler">
						<property name="replyCode" value="450" />
					</bean>
				</entry>

				<entry key="RETR">
					<bean class="org.mockftpserver.stub.command.RetrCommandHandler">
						<property name="fileContents" 
							value="Sample file contents line 1&#10;Line 2&#10;Line 3"/>
					</bean>
				</entry>

			</map>
		</property>
	</bean>

</beans>