<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">

	<!--  Initialise the database before every test case: -->
	<bean id="dataSourceInitializer" class="org.springframework.batch.test.DataSourceInitializer">
		<property name="dataSource" ref="dataSource" />
		<property name="initScripts">
			<list>
				<value>${batch.drop.script}</value>
				<value>${batch.schema.script}</value>
				<value>${batch.business.schema.script}
				</value>
			</list>
		</property>
	</bean>

	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="${batch.jdbc.driver}" />
		<property name="url" value="${batch.jdbc.url}" />
		<property name="username" value="${batch.jdbc.user}" />
		<property name="password" value="${batch.jdbc.password}" />
	</bean>

	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
		lazy-init="true">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<!--
		Set up or detect a System property called "environment" used to
		construct a properties file on the classpath. The default is "hsql".
	-->
	<bean id="environment"
		class="org.springframework.batch.support.SystemPropertyInitializer">
		<property name="defaultValue" value="hsql"/>
	</bean>

	<!--  Use this to set additional properties on beans at run time -->
	<bean id="overrideProperties"
		class="org.springframework.beans.factory.config.PropertyOverrideConfigurer"
		depends-on="environment">
		<property name="location" value="classpath:batch-${org.springframework.batch.support.SystemPropertyInitializer.ENVIRONMENT}.properties" />
		<!-- Allow system properties (-D) to override those from file -->
		<property name="localOverride" value="true" />
		<property name="properties">
			<bean class="java.lang.System" factory-method="getProperties" />
		</property>
		<property name="ignoreInvalidKeys" value="true" />
		<property name="order" value="2" />
	</bean>

	<bean id="placeholderProperties"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
		depends-on="environment">
		<property name="location" value="classpath:batch-${org.springframework.batch.support.SystemPropertyInitializer.ENVIRONMENT}.properties" />
		<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
		<property name="ignoreUnresolvablePlaceholders" value="true" />
		<property name="order" value="1" />
	</bean>

</beans>