# NetWeaver Server Testing Environment Properties.


###############################################
# User must adapt these properties
###############################################

# installation directory of the NetWeaver Java instance
netweaver.instance.dir=c:/usr/sap/L36/J36

# user and password defined during installation
server.user=Administrator
server.pwd=Osigfm.0

# host and port for the NetWeaver server; defined during installation
netweaver.host=localhost
netweaver.port=53604

# JDBC driver to use for testing
# note that the driver must already be deployed on the system, e.g. via telnet
# > add dbpool
# > deploy_jdbc_driver <driver-name> <driver_archive>
netweaver.datasource.driver.deployname=mysql_driver

# configure the data source to use for testing
netweaver.datasource.name=LOCAL_MYSQL_DS
netweaver.datasource.driver.class=com.mysql.jdbc.Driver
netweaver.datasource.url=jdbc:mysql://localhost/el
netweaver.datasource.user=me
netweaver.datasource.password=abcd1234

###############################################
# User may change these properties
###############################################

# name of the SDA file (without .sda extension) containing required libraries (e.g. eclipselink.jar)
netweaver.eclipselink.app=servertest_eclipselink

# name of the SDA file (without .sda extension) containing the test datasource
netweaver.datasource.app=servertest_datasource


####################################
# DO NOT CHANGE
####################################
server.testrunner=JavaEE/servertest/REMOTE/TestRunner/org.eclipse.persistence.testing.framework.server.TestRunner
server.testrunner.wdf=JavaEE/servertest/REMOTE/ServerTestRunner/org.eclipse.persistence.testing.framework.wdf.server.ServerTestRunner
server.lib=${netweaver.instance.dir}/j2ee/j2eeclient
server.platform=NetWeaver_7_1
#server.platform=org.eclipse.persistence.platform.server.sap.SAPNetWeaver_7_1_Platform
server.platform.class=netweaver-71-platform
server.factory=com.sap.engine.services.jndi.InitialContextFactoryImpl
server.url=${netweaver.host}:${netweaver.port}/
server.depend=sap.com~tc~je~clientlib~impl.jar,sap.com~tc~logging~java~impl.jar,sap.com~tc~exception~impl.jar

# NetWeaver specific properties.
netweaver.clientlib.dir=${server.lib}
netweaver.deployment.dir=${netweaver.instance.dir}/j2ee/deployment
netweaver.deployment.ant.dir=${netweaver.deployment.dir}/ant/lib
eclipselink.home=../..
extensions.home=../../../incubator/extensions/trunk
