<?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-2.0.xsd
	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">

	<!--  Initialise the database before every test case: -->
	<import resource="data-source-context-init.xml" /> 

	<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="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="mappingLocations" value="classpath*:/*.hbm.xml" />
		<property name="hibernateProperties">
			<value>
				<![CDATA[
			hibernate.show_sql=true
			hibernate.format_sql=true
			]]>
			</value>
		</property>
	</bean>

	<bean id="transactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager"
		lazy-init="true">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>

	<!--  Use this to set additional properties on beans at run time -->
	<bean id="batchProperties"
		class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
		<property name="location" value="classpath:batch.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="overrideProperties"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location" value="classpath:batch.properties" />
		<property name="systemPropertiesModeName"
			value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
		<property name="ignoreUnresolvablePlaceholders" value="true" />
		<property name="order" value="1" />
	</bean>
	
	<bean id="lobHandler" class="${batch.lob.handler.class}"/>

	<bean id="incrementerParent"
		class="${batch.database.incrementer.class}">
		<property name="dataSource" ref="dataSource" />
		<property name="incrementerName" value="ID" />
	</bean>

	<!--import resource="alt-data-source-context.xml" /-->

</beans>