<?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.
 --> 
<config>

	<properties>
		<!-- provider name must match the property-section containing the connection data -->
		<databaseProvider>hsqldb</databaseProvider>
	</properties>

	<properties-hsqldb>
		<!-- JDBC properties for a HSQLDB Database connection -->
		<!-- Required jar file: hsqldb.jar -->
		<jdbcClass>org.hsqldb.jdbcDriver</jdbcClass>
		<jdbcURL>jdbc:hsqldb:file:hsqldb/sample;shutdown=true</jdbcURL>
		<jdbcUser>sa</jdbcUser>
		<jdbcPwd></jdbcPwd>
		<schemaName>DBSAMPLE</schemaName>
	</properties-hsqldb>

	<properties-mysql>
		<!-- JDBC properties for a MySQL Database connection -->
		<!-- Required jar file: mysql-connector-java-5.1.6-bin.jar -->
		<jdbcClass>com.mysql.jdbc.Driver</jdbcClass>
		<jdbcURL>jdbc:mysql://localhost</jdbcURL>
		<jdbcUser>root</jdbcUser>
		<jdbcPwd>empire-db</jdbcPwd>
		<schemaName>DBSAMPLE</schemaName>
	</properties-mysql>

	<properties-oracle>
		<!-- JDBC properties for an Oracle Database connection -->
		<!-- Required jar file: ojdbc14.jar -->
		<jdbcClass>oracle.jdbc.driver.OracleDriver</jdbcClass>
		<jdbcURL>jdbc:oracle:thin:@192.168.0.2:1521:ora10</jdbcURL>
		<jdbcUser>DBSAMPLE</jdbcUser>
		<jdbcPwd>DBSAMPLE</jdbcPwd>
		<schemaName>DBSAMPLE</schemaName>
	</properties-oracle>

	<properties-sqlserver>
		<!-- JDBC properties for a Microsoft SQL-Server Database connection -->
		<!-- Required jar file: sqljdbc.jar -->
		<jdbcClass>com.microsoft.sqlserver.jdbc.SQLServerDriver</jdbcClass>
		<jdbcURL>jdbc:sqlserver://192.168.0.2:1433</jdbcURL>
		<jdbcUser>sa</jdbcUser>
		<jdbcPwd>empire-db</jdbcPwd>
		<schemaName>DBSAMPLE</schemaName>
	</properties-sqlserver>
	
</config>
