#  Platform Property names & Default
#
#  profileName  - jpatest
#  profileDescription  - JDBC Profile for JPA Testing
#  userName  - jpatest
#  userPassword  - (empty)
#  databasedriverJarList  - (mandatory)
#  databaseName  - testdb
#  databaseUrl  - (mandatory)
#  Driver class name - org.apache.derby.jdbc.EmbeddedDriver
# 
profileName = derby101
profileDescription = Derby Embedded JDBC Profile for Testing
# set user name
userName = 
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 = 
