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

    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.

-->
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
<filesystem>

    <!-- Payara common server module support -->
    <folder name="Servers">
        <folder name="Payara">
            <file name="JavaEEServerModuleFactory.instance">
                <attr name="instanceCreate" methodvalue="org.netbeans.modules.payara.jakartaee.JavaEEServerModuleFactory.getDefault"/>
                <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.JavaEEServerModuleFactory"/>
                <attr name="instanceOf" stringvalue="org.netbeans.modules.payara.spi.PayaraModuleFactory"/>
            </file>
            <file name="JavaEEDecoratorFactory.instance">
                <attr name="instanceCreate" methodvalue="org.netbeans.modules.payara.jakartaee.JavaEEDecoratorFactory.getDefault"/>
                <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.JavaEEDecoratorFactory"/>
                <attr name="instanceOf" stringvalue="org.netbeans.modules.payara.spi.DecoratorFactory"/>
            </file>
        </folder>
    </folder>

    <!-- j2eeserver api support -->
    <folder name="J2EE">
        <folder name="DeploymentPlugins">
            <folder name="pfv3ee6">
                <file name="Descriptor" url="nbdepee6.xml"/>
                <!-- -->
                <file name="Factory.instance">
                    <attr name="urlPattern" stringvalue="^\[.*deployer:pfv3ee6[w]?[c]?:.*$"/>
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyDeploymentFactory.create"/>
                    <attr name="delegate" methodvalue="org.netbeans.modules.payara.jakartaee.Hk2DeploymentFactory.createEe6"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyDeploymentFactory"/>
                    <attr name="instanceOf" stringvalue="javax.enterprise.deploy.spi.factories.DeploymentFactory"/>
                </file>
                <file name="J2eePlatformFactory.instance">
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.payara.jakartaee.Hk2JavaEEPlatformFactory.getFactory"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.Hk2JavaEEPlatformFactory"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.J2eePlatformFactory"/>
                </file>
                <file name="OptionalFactory.instance">
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyOptionalFactory.create"/>
                    <attr name="delegate" methodvalue="org.netbeans.modules.payara.jakartaee.Hk2OptionalFactory.createEe6"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.OptionalDeploymentManagerFactory"/>
                </file>
                <file name="ModuleConfigFactory.instance">
                    <attr name="instanceCreate" newvalue="org.netbeans.modules.payara.jakartaee.Hk2ModuleConfigFactory"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.Hk2ModuleConfigFactory"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.config.ModuleConfigurationFactory"/>
                </file>
                <file name="J2eeVerifierSupport.instance">
                    <attr name="instanceCreate" newvalue="org.netbeans.modules.payara.jakartaee.verifier.VerifierImpl"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.verifier.VerifierImpl"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.VerifierSupport"/>
                </file>
                <!-- -->
                <folder name="DeploymentFileNames">
                    <folder name="WAR">
                        <file name="WEB-INF\payara-web.xml"/> 
                        <file name="WEB-INF\sun-web.xml"/> 
                        <file name="WEB-INF\glassfish-web.xml"/>
                        <file name="WEB-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="EJB">
                        <file name="META-INF\sun-ejb-jar.xml"/>
                        <file name="META-INF\sun-cmp-mappings.xml"/>
                        <file name="META-INF\glassfish-ejb-jar.xml"/>
                        <file name="META-INF\glassfish-cmp-mappings.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="EAR">
                        <file name="META-INF\sun-application.xml"/>
                        <file name="META-INF\glassfish-application.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="RAR">
                        <file name="META-INF\sun-ra.xml"/>
                        <file name="META-INF\glassfish-ra.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="CAR">
                        <file name="META-INF\sun-application-client.xml"/>
                        <file name="META-INF\glassfish-application-client.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                </folder>
            </folder>
            
            <folder name="pfv4ee7">
                <file name="Descriptor" url="nbdepee7.xml"/>
                <!-- -->
                <file name="Factory.instance">
                    <attr name="urlPattern" stringvalue="^\[.*deployer:pfv4ee7[w]?[c]?:.*$"/>
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyDeploymentFactory.create"/>
                    <attr name="delegate" methodvalue="org.netbeans.modules.payara.jakartaee.Hk2DeploymentFactory.createEe7"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyDeploymentFactory"/>
                    <attr name="instanceOf" stringvalue="javax.enterprise.deploy.spi.factories.DeploymentFactory"/>
                </file>
                <file name="J2eePlatformFactory.instance">
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.payara.jakartaee.Hk2JavaEEPlatformFactory.getFactory"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.Hk2JavaEEPlatformFactory"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.J2eePlatformFactory"/>
                </file>
                <file name="OptionalFactory.instance">
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyOptionalFactory.create"/>
                    <attr name="delegate" methodvalue="org.netbeans.modules.payara.jakartaee.Hk2OptionalFactory.createEe7"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.OptionalDeploymentManagerFactory"/>
                </file>
                <file name="ModuleConfigFactory.instance">
                    <attr name="instanceCreate" newvalue="org.netbeans.modules.payara.jakartaee.Hk2ModuleConfigFactory"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.Hk2ModuleConfigFactory"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.config.ModuleConfigurationFactory"/>
                </file>
                <file name="J2eeVerifierSupport.instance">
                    <attr name="instanceCreate" newvalue="org.netbeans.modules.payara.jakartaee.verifier.VerifierImpl"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.verifier.VerifierImpl"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.VerifierSupport"/>
                </file>
                <!-- -->
                <folder name="DeploymentFileNames">
                    <folder name="WAR">
                        <file name="WEB-INF\payara-web.xml"/>
                        <file name="WEB-INF\sun-web.xml"/>
                        <file name="WEB-INF\glassfish-web.xml"/>
                        <file name="WEB-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="EJB">
                        <file name="META-INF\sun-ejb-jar.xml"/>
                        <file name="META-INF\sun-cmp-mappings.xml"/>
                        <file name="META-INF\glassfish-ejb-jar.xml"/>
                        <file name="META-INF\glassfish-cmp-mappings.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="EAR">
                        <file name="META-INF\sun-application.xml"/>
                        <file name="META-INF\glassfish-application.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="RAR">
                        <file name="META-INF\sun-ra.xml"/>
                        <file name="META-INF\glassfish-ra.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="CAR">
                        <file name="META-INF\sun-application-client.xml"/>
                        <file name="META-INF\glassfish-application-client.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                </folder>
            </folder>
            
            <folder name="pfv5ee8">
                <file name="Descriptor" url="nbdepee8.xml"/>
                <!-- -->
                <file name="Factory.instance">
                    <attr name="urlPattern" stringvalue="^\[.*deployer:pfv5ee8[w]?[c]?:.*$"/>
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyDeploymentFactory.create"/>
                    <attr name="delegate" methodvalue="org.netbeans.modules.payara.jakartaee.Hk2DeploymentFactory.createEe8"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyDeploymentFactory"/>
                    <attr name="instanceOf" stringvalue="javax.enterprise.deploy.spi.factories.DeploymentFactory"/>
                </file>
                <file name="J2eePlatformFactory.instance">
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.payara.jakartaee.Hk2JavaEEPlatformFactory.getFactory"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.Hk2JavaEEPlatformFactory"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.J2eePlatformFactory"/>
                </file>
                <file name="OptionalFactory.instance">
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.support.ProxyOptionalFactory.create"/>
                    <attr name="delegate" methodvalue="org.netbeans.modules.payara.jakartaee.Hk2OptionalFactory.createEe8"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.OptionalDeploymentManagerFactory"/>
                </file>
                <file name="ModuleConfigFactory.instance">
                    <attr name="instanceCreate" newvalue="org.netbeans.modules.payara.jakartaee.Hk2ModuleConfigFactory"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.Hk2ModuleConfigFactory"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.config.ModuleConfigurationFactory"/>
                </file>
                <file name="J2eeVerifierSupport.instance">
                    <attr name="instanceCreate" newvalue="org.netbeans.modules.payara.jakartaee.verifier.VerifierImpl"/>
                    <attr name="instanceClass" stringvalue="org.netbeans.modules.payara.jakartaee.verifier.VerifierImpl"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.j2ee.deployment.plugins.spi.VerifierSupport"/>
                </file>
                <!-- -->
                <folder name="DeploymentFileNames">
                    <folder name="WAR">
                        <file name="WEB-INF\payara-web.xml"/> 
                        <file name="WEB-INF\sun-web.xml"/>
                        <file name="WEB-INF\glassfish-web.xml"/>
                        <file name="WEB-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="EJB">
                        <file name="META-INF\sun-ejb-jar.xml"/>
                        <file name="META-INF\sun-cmp-mappings.xml"/>
                        <file name="META-INF\glassfish-ejb-jar.xml"/>
                        <file name="META-INF\glassfish-cmp-mappings.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="EAR">
                        <file name="META-INF\sun-application.xml"/>
                        <file name="META-INF\glassfish-application.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="RAR">
                        <file name="META-INF\sun-ra.xml"/>
                        <file name="META-INF\glassfish-ra.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                    <folder name="CAR">
                        <file name="META-INF\sun-application-client.xml"/>
                        <file name="META-INF\glassfish-application-client.xml"/>
                        <file name="META-INF\glassfish-resources.xml"/>
                    </folder>
                </folder>
            </folder>
        </folder>
    </folder>

    <folder name="Plugins">
        <!-- Register XML module catalog plugin -->
        <folder name="XML">
            <folder name="UserCatalogs">
                <file name="org-netbeans-modules-payara-jakartaee-RunTimeDDCatalog.instance">
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.payara.jakartaee.RunTimeDDCatalog.getDefaultRunTimeDDCatalog"/>
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.xml.catalog.spi.CatalogReader"/>
                </file>
            </folder>
            <folder name="GrammarQueryManagers">
                <file name="org-netbeans-modules-payara-jakartaee-RunTimeDDCatalog.instance">
                    <attr name="position" intvalue="350"/>
                    <attr name="instanceCreate" methodvalue="org.netbeans.modules.payara.jakartaee.RunTimeDDCatalog.getDefaultRunTimeDDCatalog"/>
                </file>
            </folder> <!-- GrammarQueryManagers -->
        </folder>
    </folder>

</filesystem>
