#
#  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.
#

org.apache.catalina.STRICT_SERVLET_COMPLIANCE=true
org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR=false
org.apache.tomcat.websocket.DISABLE_BUILTIN_EXTENSIONS=true
org.apache.tomcat.websocket.ALLOW_UNSUPPORTED_EXTENSIONS=true
org.apache.tomcat.websocket.DEFAULT_PROCESS_PERIOD=0
org.apache.tomcat.websocket.STRICT_SPEC_COMPLIANCE=true
#org.apache.webbeans.generator.proxyReservedPackages = java,javax,sun.misc,jakarta

tomee.tomcat.instance-manager.skip-cdi=com.sun.ts.tests.servlet.api.jakarta_servlet.servletcontext30.BadServlet,\
  com.sun.ts.tests.servlet.api.jakarta_servlet.servletcontext30.BadFilter,\
  com.sun.ts.tests.servlet.api.jakarta_servlet.servletcontext30.BadListener

user.language=en
user.country=US

openejb.system.apps=true
openejb.deployments.classpath=true
tomee.remote.support=true
openejb.embedded.remotable=true
openejb.environment.default=true
openejb.forceReadOnlyAppNamingContext=true

RESOURCE.whitebox-notx-param|poolMaxSize=100
RESOURCE.whitebox-notx|poolMaxSize=100
RESOURCE.whitebox-tx-param|poolMaxSize=100
RESOURCE.whitebox-tx|poolMaxSize=100
RESOURCE.whitebox-xa-param|poolMaxSize=100
RESOURCE.whitebox-xa|poolMaxSize=100

RESOURCE.JDBCwhitebox-notx-param|ConnectionURL=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts
RESOURCE.JDBCwhitebox-notx-param|DriverName=org.apache.derby.jdbc.ClientDriver
RESOURCE.JDBCwhitebox-notx-param|poolMaxSize=100

RESOURCE.JDBCwhitebox-notx|ConnectionURL=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts
RESOURCE.JDBCwhitebox-notx|DriverName=org.apache.derby.jdbc.ClientDriver
RESOURCE.JDBCwhitebox-notx|poolMaxSize=100

RESOURCE.JDBCwhitebox-tx-param|ConnectionURL=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts
RESOURCE.JDBCwhitebox-tx-param|DriverName=org.apache.derby.jdbc.ClientDriver
RESOURCE.JDBCwhitebox-tx-param|poolMaxSize=100

RESOURCE.JDBCwhitebox-tx|ConnectionURL=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts
RESOURCE.JDBCwhitebox-tx|DriverName=org.apache.derby.jdbc.ClientDriver
RESOURCE.JDBCwhitebox-tx|poolMaxSize=100

RESOURCE.JDBCwhitebox-xa-param|XAProps=JdbcUrl="jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts"
RESOURCE.JDBCwhitebox-xa-param|XADataSourceName=org.apache.openejb.cts.DriverManagerXADataSource
RESOURCE.JDBCwhitebox-xa-param|poolMaxSize=100

RESOURCE.JDBCwhitebox-xa|XAProps=JdbcUrl='jdbc:jdbc:derby://localhost:%derby.server.port%/derbydb;create=true;user=cts;password=cts'
RESOURCE.JDBCwhitebox-xa|XADataSourceName=org.apache.openejb.cts.DriverManagerXADataSource
RESOURCE.JDBCwhitebox-xa|poolMaxSize=100

RESOURCE.whitebox-xa.rar|TSRValue=java:comp/TransactionSynchronizationRegistry

openejb.convert-jpa-properties=true
openejb.descriptors.output=false
openejb.deploymentId.format={appId}/{ejbJarId}/{ejbName}
openejb.vendor.config = glassfish

#openejb.jsessionid-support=false
openejb.crosscontext=true
#openejb.web.xml.major=3
#jsp_config_general_web.openejb.web.xml.major=2
org.apache.taglibs.standard.xml.accessExternalEntity=all
javax.xml.accessExternalDTD=all
javax.xml.accessExternalStylesheet=all

# javax.persistence.provider=org.eclipse.persistence.jpa.PersistenceProvider
# javax.persistence.transactionType=
javax.persistence.jtaDataSource=java:openejb/Resource/jdbc/DB1
javax.persistence.nonJtaDataSource=java:openejb/Resource/jdbc/DB1Unmanaged
# openejb.jpa.force.javax.persistence.provider=

PERSISTENCEUNIT.CTS-EM.openjpa.Specification=JPA 2.0
PERSISTENCEUNIT.CTS-EM.openjpa.jdbc.DBDictionary = derby(storeCharsAsNumbers=false)
PERSISTENCEUNIT.CTS-EM.openjpa.jdbc.SchemaFactory=native(ForeignKeys=true)
PERSISTENCEUNIT.CTS-EM.openjpa.jdbc.SynchronizeMappings=buildSchema(IgnoreErrors=true)
PERSISTENCEUNIT.CTS-EM.openjpa.Compatibility=StrictIdentityValues=true,NonDefaultMappingAllowed=true,ConvertPositionalParametersToNamed=true
PERSISTENCEUNIT.CTS-EM-NOTX.openjpa.Specification=JPA 2.0
PERSISTENCEUNIT.CTS-EM-NOTX.openjpa.jdbc.DBDictionary = derby(storeCharsAsNumbers=false)
PERSISTENCEUNIT.CTS-EM-NOTX.openjpa.jdbc.SchemaFactory=native(ForeignKeys=true)
PERSISTENCEUNIT.CTS-EM-NOTX.openjpa.jdbc.SynchronizeMappings=buildSchema(IgnoreErrors=true)
PERSISTENCEUNIT.CTS-EM-NOTX.openjpa.Compatibility=StrictIdentityValues=true,NonDefaultMappingAllowed=true,ConvertPositionalParametersToNamed=true

old-dd-whitebox-notx-param.rar.moduleId=oldwhitebox-notx-param
old-dd-whitebox-notx.rar.moduleId=oldwhitebox-notx
old-dd-whitebox-tx-param.rar.moduleId=oldwhitebox-tx-param
old-dd-whitebox-tx.rar.moduleId=oldwhitebox-tx
old-dd-whitebox-xa-param.rar.moduleId=oldwhitebox-xa-param
old-dd-whitebox-xa.rar.moduleId=oldwhitebox-xa

RESOURCE.global/jdbc/DB3|PortNumber=%derby.server.port%
RESOURCE.global/jdbc/DB3|createDatabase=create
RESOURCE.defaultdsrepeatable|PortNumber=%derby.server.port%
RESOURCE.defaultdsrepeatable|createDatabase=create
RESOURCE.defaultdsrepeatable1|PortNumber=%derby.server.port%
RESOURCE.defaultdsrepeatable1|createDatabase=create

compds.JdbcDriver=org.apache.derby.jdbc.ClientDriver
compds.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
compds.UserName=cts
compds.Password=cts

compds2.JdbcDriver=org.apache.derby.jdbc.ClientDriver
compds2.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
compds2.UserName=cts
compds2.Password=cts

defaultds.JdbcDriver=org.apache.derby.jdbc.ClientDriver
defaultds.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
defaultds.UserName=cts
defaultds.Password=cts

defaultds2.JdbcDriver=org.apache.derby.jdbc.ClientDriver
defaultds2.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
defaultds2.UserName=cts
defaultds2.Password=cts

module/env/moduleds.JdbcDriver=org.apache.derby.jdbc.ClientDriver
module/env/moduleds.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
module/env/moduleds.UserName=cts
module/env/moduleds.Password=cts

module/env/moduleds2.JdbcDriver=org.apache.derby.jdbc.ClientDriver
module/env/moduleds2.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
module/env/moduleds2.UserName=cts
module/env/moduleds2.Password=cts

app/env/appds2.JdbcDriver=org.apache.derby.jdbc.ClientDriver
app/env/appds2.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
app/env/appds2.UserName=cts
app/env/appds2.Password=cts

app/env/appds.JdbcDriver=org.apache.derby.jdbc.ClientDriver
app/env/appds.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
app/env/appds.UserName=cts
app/env/appds.Password=cts

openejb.classloader.forced-load = com.sun.ts.tests.
openejb.classloader.forced-skip=com.sun.ts.tests.jaspic.tssv.

# remove persistence provider from the default list because in Plume we have both OpenJPA and EclipseLink
openejb.classloader.filterable-resources=META-INF/services/javax.validation.spi.ValidationProvider,\
  META-INF/services/jakarta.ws.rs.client.ClientBuilder,\
  META-INF/services/jakarta.json.spi.JsonProvider,\
  META-INF/services/javax.cache.spi.CachingProvider,\
  META-INF/javamail.default.providers,\
  META-INF/javamail.default.address.map,\
  META-INF/javamail.charset.map,META-INF/mailcap,\
  org/slf4j/impl/StaticLoggerBinder.class

#cxf.jaxrs.provider-comparator=org.apache.openejb.server.cxf.rs.CxfRsHttpListener$DefaultProviderComparator
openejb.jaxrs.fail-on-constrainedto=false

# not sure why we have to duplicate this one here
log.file.location=%user.dir%/%openejb.home%/logs
vendor.authconfig.factory=org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl
provider.configuration.file=%user.dir%/%openejb.home%/conf/ProviderConfiguration.xml
j2eelogin.name=j2ee
j2eelogin.password=j2ee

#
#for n in app/env/appds2; do
#cat <<EOF
#$n.JdbcDriver=org.apache.derby.jdbc.ClientDriver
#$n.JdbcUrl=jdbc:derby://localhost:%derby.server.port%/derbydb;create=true
#$n.UserName=cts
#$n.Password=cts
#
#EOF
#done

jpa_ee_packaging_ejb_standalone_client.jar.moduleId=jpa_ee_packaging_ejb_standalone_ejb_client
