# WebSphere Server Testing Environment Properties.

# Standard server properties.
server.user=
server.pwd=
server.testrunner=org.eclipse.persistence.testing.framework.server.TestRunner
server.lib=${was.home}/runtimes
server.platform=WebSphere_6_1
server.platform.class=websphere-61-platform
server.factory=com.ibm.websphere.naming.WsnInitialContextFactory

# WebSphere specific properties.
was.jython.scripts.dir=../../../extension.lib.external
instance.host=stame10
# Absolute path is required
eclipselink.jar.dir=/scratch/aime/eclipselink/org.eclipse.persistence/trunk
oracle.extensions.jar.dir=/scratch/aime/eclipselink/org.eclipse.persistence/extension.oracle.lib.external

# WebSphere 6.1 properties
#was.home=/scratch/aime/eclipselink/org.eclipse.persistence/was
#server.url=iiop://localhost:2809/
#server.depend=com.ibm.ws.admin.client_6.1.0.jar

# WebSphere 7 properties
was.home=/scratch/aime/eclipselink/org.eclipse.persistence/was7
server.url=iiop://localhost:2810/
server.depend=com.ibm.ws.orb_7.0.0.jar,com.ibm.ws.admin.client_7.0.0.jar,com.ibm.ws.ejb.thinclient_7.0.0.jar
