###############################################################################
#  Copyright (c) 2007 Oracle. 
#  All rights reserved.  This program and the accompanying materials 
#  are made available under the terms of the Eclipse Public License v1.0 
#  which accompanies this distribution, and is available at 
#  http://www.eclipse.org/legal/epl-v10.html
#  
#  Contributors: 
#  	Oracle - initial API and implementation
###############################################################################
#  Platform Property names & Default
#
#  profileName  - jpatest
#  profileDescription  - JDBC Profile for JPA Testing
#  userName  - jpatest
#  userPassword  - (empty)
#  databasedriverJarList  - (mandatory)
#  databaseName  - testdb
#  databaseUrl  - (mandatory)
# 
profileName = derby101
profileDescription = Derby  Embedded JDBC Profile for Testing
# set user name
userName = jpatest
userPassword =
# set path to Derby driver here (example: databasedriverJarList = c:/derbydb/lib/derby.jar )
databasedriverJarList = 
databaseName = testdb
# set database URL here (example: databaseUrl = jdbc:derby:c:/derbydb/testdb;create=true )  
databaseUrl =
