<!--

    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->


<property name="module" value="connector"/>
<property name="app.type" value="application"/>
<property name="cciblackbox.path" value="../lib/cciblackbox-tx.jar"/>
<property name="appname" value="${module}-embedded-cci"/>
<property name="application.xml" value="descriptor/application.xml"/>
<property name="ejb-jar.xml" value="descriptor/ejb-jar.xml"/>
<property name="db.type" value="pointbase"/>
<property name="sun-ejb-jar.xml" value="descriptor/sun-ejb-jar.xml"/>
<property name="sun-cmp-mappings.xml" value="descriptor/sun-cmp-mappings.xml"/>
<property name="sun-cmp-dbschema" value="descriptor/sec_bankadmin_schema.dbschema"/>
<property name="application-client.xml" value="descriptor/application-client.xml"/>
<property name="sun-application-client.xml" value="descriptor/sun-application-client.xml"/>
<property name="rarname" value="cciblackbox-tx"/>
<property name="jdbc.drivers" value="com.pointbase.jdbc.jdbcUniversalDriver"/>
