<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
    Copyright (c) 2022 Contributors to the Eclipse Foundation

    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

-->
<connector xmlns="https://jakarta.ee/xml/ns/jakartaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
       https://jakarta.ee/xml/ns/jakartaee/jakartaee_9.xsd
       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
    version="2.0"
>
    <display-name>Simple Resource Adapter</display-name>
    <vendor-name>Java Software</vendor-name>
    <eis-type>Generic Type</eis-type>
    <resourceadapter-version>1.0Alpha</resourceadapter-version>
    <resourceadapter>
        <resourceadapter-class>
            connector.SimpleResourceAdapterImpl
        </resourceadapter-class>
        <config-property>
            <config-property-name>
                TestName
            </config-property-name>
            <config-property-type>
                java.lang.String
            </config-property-type>
            <config-property-value>
                ConfigPropertyForRA
            </config-property-value>
        </config-property>
        <inbound-resourceadapter>
            <messageadapter>
                <messagelistener>
                    <messagelistener-type>
                        connector.MyMessageListener
                    </messagelistener-type>
                    <activationspec>
                        <activationspec-class>
                            connector.SimpleActivationSpec
                        </activationspec-class>
                    </activationspec>
                </messagelistener>
            </messageadapter>
        </inbound-resourceadapter>
        <adminobject>
          <adminobject-interface>connector.MyAdminObject</adminobject-interface>
          <adminobject-class>connector.MyAdminObject</adminobject-class>
          <config-property>
            <config-property-name>ResetControl</config-property-name>
            <config-property-type>java.lang.String</config-property-type>
            <config-property-value>NORESET</config-property-value>
          </config-property>
          <config-property>
            <config-property-name>ExpectedResult</config-property-name>
            <config-property-type>java.lang.Integer</config-property-type>
            <config-property-value>88</config-property-value>
          </config-property>
        </adminobject>
    </resourceadapter>
</connector>
