<!--

    Copyright (c) 1997, 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

-->

<!-- jdbc/jdbc.jsf -->

<!initPage 
        setResourceBundle(key="i18njdbc" bundle="org.glassfish.jdbc.admingui.Strings")
        setResourceBundle(key="help_jdbc" bundle="org.glassfish.jdbc.admingui.Helplinks")
/>

<!composition template="/templates/default.layout"  guiTitle="$resource{i18njdbc.jdbc.pageTitle}" >
<!define name="content">

            <sun:form id="resourcesForm"> 
                <sun:title 
                id="resourcesPageTitle" 
                title="$resource{i18njdbc.jdbc.pageTitle}" 
                helpText="$resource{i18njdbc.jdbc.pageTitleHelp}"
                />
                <sun:propertySheet>
                    <sun:propertySheetSection>
                        <sun:property>
                        <sun:hyperlink 
                            toolTip="$resource{i18njdbc.tree.jdbcResources.tooltip}"
                            url="/jdbc/jdbcResources.jsf" >
                            <sun:image url="/resource/jdbc/images/JDBC.gif" />
                            <sun:staticText text="$resource{i18njdbc.tree.jdbcResources}" />
                            </sun:hyperlink>
                        
                        
                        </sun:property>
                        <sun:property>
                        <sun:hyperlink 
                            toolTip="$resource{i18njdbc.tree.connectionPools.tooltip}"
                            url="/jdbc/jdbcConnectionPools.jsf" >
                            <sun:image url="/resource/jdbc/images/JDBC.gif" />
                            <sun:staticText text="$resource{i18njdbc.tree.connectionPools}" />
                            </sun:hyperlink>
                        
                            
                        </sun:property>
                    </sun:propertySheetSection>
                </sun:propertySheet>
                <sun:hidden id="helpKey" value="$resource{help_jdbc.jdbc}" />
            </sun:form>           
</define>
</composition>

