<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>

    
<!-- Extension point to register specialized edit models with the EJBNature -->
<!-- Extension point to register specialized EJB commands -->
   <extension-point id="EJBCommandExtension" name="EJBCommandExtension" schema="schema/EJBCommandExtension.exsd"/>
<!--============================-->
<!-- Codegen Contributions                   -->
<!--============================-->
   
<!-- This extension-point sends notification to all extensions when J2EEModules are imported.
        Each extension can specify a set of different module types to listen for or listen to them
        all.  The default is to receive notification for all module types.  Notification is sent
        to the specified class implementing org.eclipse.jst.j2ee.internal.J2EEModulePostImportHandler
		
		Both of the following examples register for notification for all J2EEModule types, the first
		uses the defaults, while the second specifies each module type.  To listen for only specific
		module types, use the second example and specify only the types to listen to.        
        
    <extension point="org.eclipse.jst.j2ee.internal.J2EEModulePostImport">
        <postImport className="org.eclipse.jst.j2ee.internal.tests.extensions.ModulePostImportTestDefault"></postImport>
    </extension>
        
    <extension point="org.eclipse.jst.j2ee.internal.J2EEModulePostImport">
    	<postImport className="org.eclipse.jst.j2ee.internal.tests.extensions.ModulePostImportTestAll"></postImport>
    	<module type="WEB"></module>
    	<module type="EJB"></module>
    	<module type="ApplicationClient"></module>
    	<module type="Connector"></module>
    </extension>
     -->
   <extension-point id="J2EEModulePostImport" name="J2EEModulePostImport" schema="schema/J2EEModulePostImport.exsd"/>

   <extension-point id="EARModuleExtension" name="EARModuleExtension" schema="schema/EARModuleExtension.exsd"/>
   <extension-point id="DeployerExtension" name="J2EE Deployer Extension" schema="schema/DeployerExtension.exsd"/>
   <extension-point id="resourceEnvRefType" name="Resource Environment Reference Type" schema="schema/resourceEnvRefType.exsd"/>
   <extension-point id="resourceRefType" name="Resource Reference Type" schema="schema/resourceRefType.exsd"/>
   <extension-point id="WebServiceClientGenerator" name="WebServiceClientGenerator" schema="schema/WebServiceClientGenerator.exsd"/>
   <extension-point id="ExtendedModuleImport" name="ExtendedModuleImport" schema="schema/ExtendedModuleImport.exsd"/>
   <extension-point id="WSDLServiceHelper" name="WSDLServiceHelper" schema="schema/WSDLServiceHelper.exsd"/>

<!--============================-->
<!-- Module Core Nature         -->
<!--============================-->

  <extension
         id="ModuleCoreNature"
         name="Module Core Properties"
         point="org.eclipse.core.resources.natures">
      <runtime>
         <run
               class="org.eclipse.wst.common.componentcore.ComponentCore">
         </run>
      </runtime>
   </extension> -->
   <!-- Register the nature id with the EMFNature -->
   <extension
         point="org.eclipse.jem.util.nature_registration">
      <nature
            id="org.eclipse.jst.j2ee.ModuleCore">
      </nature>
   </extension>



<!--============================-->
<!-- Application Client J2EE 1.2 Nature             -->
<!--============================-->
<!--============================-->
<!-- Application Client Project Nature Contributions - commented out for Flex project support - vkb -->
<!--============================-->
  <!-- <extension
         id="ApplicationClientNature"
         name="Application Client Properties"
         point="org.eclipse.core.resources.natures">
      <runtime>
         <run
               class="org.eclipse.jst.j2ee.applicationclient.creation.ApplicationClientNatureRuntime">
         </run>
      </runtime>
   </extension> -->
<!-- Register the nature id with the EMFNature -->
   <!-- <extension
         point="org.eclipse.jem.workbench.nature_registration">
      <nature
            id="org.eclipse.jst.j2ee.ApplicationClientNature">
      </nature>
   </extension> -->
<!--============================-->
<!-- Ear J2EE 12 Nature                -->
<!--============================-->
<!--============================-->
<!-- EAR Project Nature Contributions-commented out for Flex project support - vkb -->
<!--============================-->

  <!-- <extension
         id="EARNature"
         name="EAR Properties"
         point="org.eclipse.core.resources.natures">
      <runtime>
         <run
               class="org.eclipse.jst.j2ee.internal.earcreation.EARNatureRuntime">
         </run>
      </runtime>
   </extension> -->

   <extension
         point="org.eclipse.wst.common.emfworkbench.integration.editModel">
      <editModel
            editModelID="jst.ear"
            factoryClass="org.eclipse.wst.common.componentcore.internal.impl.ArtifactEditModelFactory">
         <editModelResource
               autoload="false"
               URI="META-INF/application.xml"/>
      </editModel>
   </extension>
   <extension
         point="org.eclipse.wst.common.modulecore.artifactedit">
      <artifactedit
            typeID="jst.ear"
            class="org.eclipse.jst.j2ee.componentcore.util.EARArtifactEdit">
      </artifactedit>
   </extension> 
   <extension
         point="org.eclipse.wst.common.emfworkbench.integration.editModel">
      <editModel
            editModelID="jst.appclient"
            factoryClass="org.eclipse.jst.common.jdt.internal.integration.JavaArtifactEditModelFactory">
         <editModelResource
               autoload="false"
               URI="META-INF/application-client.xml"/>
      </editModel>
   </extension>
      <extension
         point="org.eclipse.wst.common.modulecore.artifactedit">
      <artifactedit
            typeID="jst.appclient"
            class="org.eclipse.jst.j2ee.applicationclient.componentcore.util.AppClientArtifactEdit">
      </artifactedit>
   </extension> 
<!-- Register the nature id with the EMFNature -->
   <!-- <extension
         point="org.eclipse.jem.workbench.nature_registration">
      <nature
            id="org.eclipse.jst.j2ee.EARNature">
      </nature>
   </extension> -->
<!--===================================================-->
<!-- Register known J2EE DTDs and XSDs for XML editor  -->
<!-- DTD and XSD Contributions                         -->
<!--===================================================-->
<extension
         point="org.eclipse.wst.internet.cache.cacheresource">
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/j2ee/dtds/web-app_2.2.dtd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/dtd/web-app_2_3.dtd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/j2ee/dtds/application-client_1_2.dtd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/dtd/application-client_1_3.dtd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/j2ee/dtds/application_1_2.dtd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/dtd/application_1_3.dtd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/dtd/ejb-jar_2_0.dtd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/xml/ns/j2ee/jsp_2_0.xsd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/xml/ns/j2ee/j2ee_1_4.xsd"/>
       <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/xml/ns/j2ee/"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"/>
       <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"/>
      <cacheresource
            license="http://developers.sun.com/license/berkeley_license.html"
            url="http://www.ibm.com/webservices/xsd/j2ee_web_services_client_1_1.xsd"/>             
     
   </extension>


<!--   <extension
         point="org.eclipse.wst.xml.uriresolver.catalogContributor">
      <catalogContributor
            catalogId="default">
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
               uri="dtds/web-app_2_2.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
               uri="dtds/web-app_2_3.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.2//EN"
               uri="dtds/application-client_1_2.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN"
               uri="dtds/application-client_1_3.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN"
               uri="dtds/application_1_2.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
               uri="dtds/application_1_3.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"
               uri="dtds/ejb-jar_1_1.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
               uri="dtds/ejb-jar_2_0.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD Connector 1.0//EN"
               uri="dtds/connector_1_0.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
               uri="dtds/web-jsptaglibrary_1_1.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
               uri="dtds/web-jsptaglibrary_1_2.dtd">
         </mappingInfo>
         <mappingInfo
               key="http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd"
               uri="xsds/application-client_1_4.xsd">
         </mappingInfo>
         <mappingInfo
               key="http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"
               uri="xsds/application_1_4.xsd">
         </mappingInfo>
         <mappingInfo
               key="http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
               uri="xsds/connector_1_5.xsd">
         </mappingInfo>
         <mappingInfo
               key="http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
               uri="xsds/ejb-jar_2_1.xsd">
         </mappingInfo>
         <mappingInfo
               key="http://java.sun.com/xml/ns/j2ee/"
               uri="xsds/j2ee_1_4.xsd">
         </mappingInfo>
         <mappingInfo
               key="http://java.sun.com/xml/ns/j2ee/jsp_2_0.xsd"
               uri="xsds/jsp_2_0.xsd">
         </mappingInfo>
         <mappingInfo
               key="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
               uri="xsds/web-app_2_4.xsd">
         </mappingInfo>
         <mappingInfo
               key="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
               uri="xsds/web-jsptaglibrary_2_0.xsd">
         </mappingInfo>
         <mappingInfo
               key="http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"
               uri="xsds/j2ee_jaxrpc_mapping_1_1.xsd">
         </mappingInfo>
         <mappingInfo
               key="http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
               uri="xsds/j2ee_web_services_1_1.xsd">
         </mappingInfo>
         <mappingInfo
               key="http://www.ibm.com/webservices/xsd/j2ee_web_services_client_1_1.xsd"
               uri="xsds/j2ee_web_services_client_1_1.xsd">
         </mappingInfo>
                  <mappingInfo
               key="-//W3C//DTD XMLSCHEMA 200102//EN"
               uri="dtds/XMLSchema.dtd">
         </mappingInfo>
         <mappingInfo
               key="datatypes"
               uri="dtds/datatypes.dtd">
         </mappingInfo>
         <mappingInfo
               key="-//IBM Corporation, Inc.//DTD J2EE JAX-RPC mapping 1.0//EN"
               uri="dtds/j2ee_jaxrpc_mapping_1_0.dtd ">
         </mappingInfo> 
         <mappingInfo
               key="-//IBM Corporation, Inc.//DTD J2EE Web services 1.0//EN"
               uri="dtds/j2ee_web_services_1_0.dtd">
         </mappingInfo> 
         <mappingInfo
               key="-//IBM Corporation, Inc.//DTD J2EE Web services client 1.0//EN"
               uri="dtds/j2ee_web_services_client_1_0.dtd">
         </mappingInfo> 
      </catalogContributor>
   </extension> -->
<!--=================================-->
<!-- LibCopy Builder Contributions   -->
<!--=================================-->
   <extension
         id="LibCopyBuilder"
         name="Library Copying Builder"
         point="org.eclipse.core.resources.builders">
      <builder>
         <run
               class="org.eclipse.jst.j2ee.internal.plugin.LibCopyBuilder">
         </run>
      </builder>
   </extension>
   <extension
         id="EarValidator"
         name="%ear_validator_UI_"
         point="org.eclipse.wst.validation.validator">
      <validator>
         <projectNature
               id="org.eclipse.wst.common.modulecore.ModuleCoreNature">
         </projectNature>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="*.xml">
         </filter>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="*.xmi">
         </filter>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="*.jar">
         </filter>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter=".modulemaps">
         </filter>
         <dependentValidator
               depValValue="true">
         </dependentValidator>
         <markerId
               markerIdValue="EARValidatorMarker">
         </markerId>
         <run
               class="org.eclipse.jst.j2ee.internal.validation.UIEarValidator">
         </run>
         <helper
               class="org.eclipse.jst.j2ee.internal.validation.UIEarHelper">
         </helper>
      </validator>
   </extension>
    <extension
         id="EARValidatorMarker"
         name="%EAR_VALIDATION_PROBLEMMARKER_NAME"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.wst.validation.problemmarker">
      </super>
      <persistent
            value="true">
      </persistent>
      <attribute
            name="owner">
      </attribute>
      <attribute
            name="validationSeverity">
      </attribute>
      <attribute
            name="targetObject">
      </attribute>
      <attribute
            name="groupName">
      </attribute>
      <attribute
            name="messageId">
      </attribute>
   </extension>
   <extension
         id="ApplicationClientValidator"
         name="%application_client_validator_UI_"
         point="org.eclipse.wst.validation.validator">
      <validator>
         <projectNature
               id="org.eclipse.wst.common.modulecore.ModuleCoreNature">
         </projectNature>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="MANIFEST.MF">
         </filter>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="application-client.xml">
         </filter>
         <dependentValidator
               depValValue="true">
         </dependentValidator>
         <helper
               class="org.eclipse.jst.j2ee.internal.validation.UIApplicationClientHelper">
         </helper>
         <run
               class="org.eclipse.jst.j2ee.internal.validation.UIApplicationClientValidator">
         </run>
      </validator>
   </extension>
<!--ModuleMapInit-->
<!--============================-->
<!-- J2EE Extension Point Registry-->
<!--============================-->
   <extension
         point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="modulemap.xmi"
            class="org.eclipse.jst.j2ee.internal.earcreation.modulemap.ModulemapPackage">
      </package>
   </extension>
<!-- ====================================================== -->
<!-- Register package mappings                              -->
<!-- Several that have not changed are still registered as  -->
<!-- a place holder for the future.                         -->
<!-- ====================================================== -->
   <extension
         point="org.eclipse.wst.common.emf.packageURIMap">
      <map
            uri="modulemap.xmi"
            prefix="modulemap">
      </map>
   </extension>
<!-- ====================================================== -->
<!-- Extendable Operations                                  -->
<!-- These operation are extendable in other plugins        -->
<!-- ====================================================== -->
   <extension
         id="baseEditModels"
         name="Core Edit Model"
         point="org.eclipse.wst.common.emfworkbench.integration.editModel">
      <editModel
            editModelID="org.eclipse.jst.j2ee.application.editModel"
            factoryClass="org.eclipse.jst.j2ee.internal.earcreation.EAREditModelFactory">
         <editModelResource
               URI="META-INF/application.xml">
         </editModelResource>
         <editModelResource
               URI="META-INF/.modulemaps">
         </editModelResource>
      </editModel>
      <editModel
            editModelID="org.eclipse.jst.j2ee.applicationClient.editModel"
            factoryClass="org.eclipse.jst.j2ee.applicationclient.creation.AppClientEditModelFactory">
         <editModelResource
               URI="META-INF/application-client.xml">
         </editModelResource>
         <editModelResource
               URI="META-INF/webservicesclient.xml">
         </editModelResource>
      </editModel>
   </extension>
   <extension
         name="J2EE tools function group"
         point="org.eclipse.wst.common.frameworks.functionGroup">
      <functionGroup
            initializerClassName="org.eclipse.jst.j2ee.internal.plugin.J2EEGroupInitializer"
            name="J2EE Core tools"
            functionGroupID="org.eclipse.jst.j2ee"
            priority="0"
            description="J2EE Core tools">
      </functionGroup>
      <functionGroupPatternBinding
            functionGroupID="org.eclipse.jst.j2ee"
            pattern="org.eclipse.jst.j2ee.*">
      </functionGroupPatternBinding>
   </extension>
   <extension
         point="org.eclipse.wst.common.emfworkbench.integration.adapterFactory">
      <adapterFactory
            functionGroupID="org.eclipse.jst.j2ee"
            className="org.eclipse.jst.j2ee.common.internal.provider.CommonItemProviderAdapterFactory"
            packageURI="common.xmi"
            id="org.eclipse.jst.j2ee.common.internal.provider.CommonItemProviderAdapterFactory">
      </adapterFactory>
   </extension>
   <extension
         point="org.eclipse.wst.common.emfworkbench.integration.adapterFactory">
      <adapterFactory
            functionGroupID="org.eclipse.jst.j2ee"
            className="org.eclipse.jst.j2ee.internal.application.provider.ApplicationItemProviderAdapterFactory"
            packageURI="application.xmi"
            id="org.eclipse.jst.j2ee.application.provider.ApplicationItemProviderAdapterFactory">
      </adapterFactory>
   </extension>
   <extension
         point="org.eclipse.wst.common.emfworkbench.integration.adapterFactory">
      <adapterFactory
            functionGroupID="org.eclipse.jst.j2ee"
            className="org.eclipse.jst.j2ee.internal.provider.ClientItemProviderAdapterFactory"
            packageURI="client.xmi"
            id="org.eclipse.jst.j2ee.client.provider.ClientItemProviderAdapterFactory">
      </adapterFactory>
   </extension>
   <extension
         point="org.eclipse.wst.common.emfworkbench.integration.adapterFactory">
      <adapterFactory
            functionGroupID="org.eclipse.jst.j2ee"
            className="org.eclipse.jst.j2ee.internal.provider.ModulemapItemProviderAdapterFactory"
            packageURI="modulemap.xmi"
            id="org.eclipse.jst.j2ee.ear.modulemap.provider.ModulemapItemProviderAdapterFactory">
      </adapterFactory>
   </extension>
   <extension
         point="org.eclipse.wst.common.emfworkbench.integration.adapterFactory">
      <adapterFactory 
            className="org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory"
            packageURI="org.eclipse.emf.ecore.resource"
            id="org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory">
      </adapterFactory>
   </extension>
   <extension
         point="org.eclipse.wst.common.frameworks.ExtendableOperation">
      <extendableOperation
            class="org.eclipse.jst.j2ee.internal.reference.MessageDestReferenceCreationOperation"
            id="org.eclipse.jst.j2ee.internal.reference.MessageDestReferenceCreationOperation">
      </extendableOperation>
    </extension>
   <extension
         point="org.eclipse.wst.server.core.moduleArtifactAdapters">
    <moduleArtifactAdapter
           id="com.ibm.wtp.server.j2ee.ear1"
           class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jst.j2ee.application.Application"/>
           </with>
         </enablement>
      </moduleArtifactAdapter>
   
     <moduleArtifactAdapter
            id="com.ibm.wtp.server.j2ee.ear2"
            class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.core.resources.IProject"/>
           </with>
         </enablement>
      </moduleArtifactAdapter>
      
      <moduleArtifactAdapter
            id="com.ibm.wtp.server.j2ee.ear3"
            class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.core.resources.IFile"/>
           </with>
         </enablement>
      </moduleArtifactAdapter>
     </extension>
     
     <extension point="org.eclipse.core.runtime.adapters">
        <factory
             class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.core.resources.IProject">
            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
        <factory
             class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.jst.j2ee.application.Application">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
        <factory
             class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.core.resources.IFile">
            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
       </factory> 
   </extension> 
   
   
   
<!-- =============================================================== -->
<!-- Purpose: Define the default deployable project factory          -->
<!-- Extension point: com.ibm.etools.server.core.deployableFactories -->
<!-- =============================================================== -->
   <extension
         point="org.eclipse.wst.server.core.moduleFactories">
      <moduleFactory
          
            projects="true"
            
            class="org.eclipse.jst.j2ee.internal.deployables.ApplicationClientDeployableFactory"
            id="com.ibm.wtp.server.j2ee.appclient">
         <moduleType
               versions="*"
               types="j2ee.appClient">
         </moduleType>
      </moduleFactory>
      <moduleFactory
           
            projects="true"
           
            class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseApplicationDeployableFactory"
            id="com.ibm.wtp.server.j2ee.application">
         <moduleType
               versions="*"
               types="j2ee.ear">
         </moduleType>
      </moduleFactory>
      <moduleFactory
            projects="true"
          
            class="org.eclipse.jst.j2ee.internal.deployables.LooseArchiveDeployableFactory"
            id="com.ibm.wtp.server.looseArchive">
         <moduleType
               versions="*"
               types="j2ee.loosearchive">
         </moduleType>
      </moduleFactory>
   </extension>

<!-- =============================================================== -->
<!-- WTP Operation extendable operations						        -->
<!-- 																	 -->
<!-- =============================================================== -->
   <extension
         point="org.eclipse.wst.common.frameworks.ExtendableOperation">
      <extendableOperation
            class="org.eclipse.jst.j2ee.internal.common.operations.RemoveSecurityRoleOperation"
            id="org.eclipse.jst.j2ee.internal.common.operations.RemoveSecurityRoleOperation">
      </extendableOperation>
      <extendableOperation
            class="org.eclipse.jst.j2ee.internal.ejb.operations.EJBRelationshipCreationOperation"
            id="org.eclipse.jst.j2ee.internal.ejb.operations.EJBRelationshipCreationOperation">
      </extendableOperation>
   </extension>
   <extension
         point="org.eclipse.wst.common.frameworks.ExtendableOperation">
      <extendableOperation
            class="org.eclipse.jst.j2ee.internal.reference.EJBReferenceCreationOperation"
            id="org.eclipse.jst.j2ee.internal.reference.EJBReferenceCreationOperation">
      </extendableOperation>
      <extendableOperation
            class="org.eclipse.jst.j2ee.internal.delete.DeleteModuleOperation"
            id="org.eclipse.jst.j2ee.internal.delete.DeleteModuleOperation">     
	   </extendableOperation>             
   </extension>


   <!--============================-->
   <!-- Builder Provider registrations-->
   <!--============================-->
   <extension
         point="org.eclipse.wst.common.frameworks.DataModelProviderExtension">
     	<DataModelProvider
            class="org.eclipse.jst.j2ee.internal.deployables.JavaComponentBuilderDataModelProvider"
            id="org.eclipse.jst.j2ee.internal.deployables.JavaComponentBuilderDataModelProvider"/>
     	<ProviderDefinesType
      		providerType="jst.ear.builder"
      		providerID="org.eclipse.jst.j2ee.internal.deployables.JavaComponentBuilderDataModelProvider"/>
		<ProviderDefinesType
      		providerType="jst.appclient.builder"
      		providerID="org.eclipse.jst.j2ee.internal.deployables.JavaComponentBuilderDataModelProvider"/>
		<ProviderDefinesType
      		providerType="jst.utility.builder"
      		providerID="org.eclipse.jst.j2ee.internal.deployables.JavaComponentBuilderDataModelProvider"/>
	</extension>
</plugin>
