<?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                   -->
<!--============================-->
   
   <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="WSDLServiceHelper" name="WSDLServiceHelper" schema="schema/WSDLServiceHelper.exsd"/>
   <extension-point id="optionalRefactorHandler" name="optionalRefactorHandler" schema="schema/optionalRefactorHandler.exsd"/>
   <extension-point id="classpathdep" name="classpathdep" schema="schema/ClasspathDep.exsd"/>
   <extension-point id="J2EEModelProvider" name="J2EE Model Provider" schema="schema/J2EEModelProvider.exsd"/>
   <extension-point id="archiveExportParticipants" name="Archive Export Participants Extension Point" schema="schema/archiveExportParticipants.exsd"/>
   <extension-point id="RefactoringChecker" name="RefactoringChecker" schema="schema/RefactoringChecker.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> -->

 
   <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> 

<!--=================================-->
<!-- 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>
        <enablement>
      		<and>
        		<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jst.ear:1.4]"/>
			</and>
		</enablement> 
         <contentTypeBinding
               contentTypeId="org.eclipse.jst.j2ee.earDD">
         </contentTypeBinding>
         <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>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="org.eclipse.wst.common.component">
         </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>
         <runStrategy 
         	project="true">
         </runStrategy>
      </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="ClasspathDependencyValidator"
         name="%classpath_component_dependency_validator_UI_"
         point="org.eclipse.wst.validation.validator">
      <validator>
         <enablement>
        		<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jst.java"/>
		 </enablement>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter=".classpath">
         </filter>
          <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="org.eclipse.wst.common.component">
         </filter>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter=".component">
         </filter>
         <dependentValidator depValValue="true">
         </dependentValidator>
         <markerId
               markerIdValue="ClasspathDependencyValidatorMarker">
         </markerId>
         <helper
               class="org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidatorHelper">
         </helper>
         <run
               class="org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator">
         </run>
         <runStrategy 
         	project="true">
         </runStrategy>
      </validator>
   </extension>
   <extension
         id="ClasspathDependencyValidatorMarker"
         name="%classpath_dependency_validator_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>
         <enablement>
      		<and>
        		<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jst.java"/>
	  			<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jst.appclient:1.4]"/>
			</and>
		 </enablement> 
         <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>
         <runStrategy 
         	project="true">
         </runStrategy>
      </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
         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>
   
   
   
   
<!-- =============================================================== -->
<!-- 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.J2EEDeployableFactory"
            id="org.eclipse.jst.j2ee.server">
         <moduleType
               types="jst.ear"
               versions="1.2,1.3,1.4">
         </moduleType>
         <moduleType
               types="jst.appclient"
               versions="1.2,1.3,1.4">
         </moduleType>
         <moduleType
               types="jst.web"
               versions="2.2,2.3,2.4">
         </moduleType>
         <moduleType
               types="jst.ejb"
               versions="1.1,2.0,2.1">
         </moduleType>
         <moduleType
               types="jst.connector"
               versions="1.0,1.5">
         </moduleType>
         <moduleType
               types="jst.utility"
               versions="1.0">
         </moduleType>
      </moduleFactory>
   </extension>

<!-- =============================================================== -->
<!-- WTP Operation extendable operations						        -->
<!-- 																	 -->
<!-- =============================================================== -->


   <!--============================-->
   <!-- Builder Provider registrations-->
   <!--============================-->
   <extension
         point="org.eclipse.wst.common.frameworks.DataModelProviderExtension">
        <DataModelProvider
            class="org.eclipse.jst.j2ee.internal.common.operations.JARDependencyDataModelProvider"
            id="org.eclipse.jst.j2ee.internal.common.operations.JARDependencyDataModelProvider"/>         
        <DataModelProvider
            class="org.eclipse.jst.j2ee.application.internal.operations.UpdateManifestDataModelProvider"
            id="org.eclipse.jst.j2ee.application.internal.operations.UpdateManifestDataModelProvider"/>
        <DataModelProvider
            class="org.eclipse.jst.j2ee.internal.common.operations.NewJavaClassDataModelProvider"
            id="org.eclipse.jst.j2ee.internal.common.operations.NewJavaClassDataModelProvider"/>
	</extension>
	
	<!-- Project Facets -->
  <extension point="org.eclipse.wst.common.project.facet.core.facets">
  
    <project-facet id="jst.ear">
      <label>%EAR_FACET_LABEL</label>
      <description>%EAR_FACET_DESCRIPTION</description>
      <icon>icons/EAR.gif</icon>
      <default-version version="6.0"/>
    </project-facet>

    <project-facet-version facet="jst.ear" version="1.2">
      <constraint>
        <and>
          <conflicts group="modules"/>
          <conflicts facet="jst.java"/>
        </and>
      </constraint>
      <group-member id="modules"/>      
    </project-facet-version>

    <project-facet-version facet="jst.ear" version="1.3">
      <constraint>
        <and>
          <conflicts group="modules"/>
          <conflicts facet="jst.java"/>
        </and>
      </constraint>
      <group-member id="modules"/>      
    </project-facet-version>
    
    <project-facet-version facet="jst.ear" version="1.4">
      <constraint>
        <and>
          <conflicts group="modules"/>
          <conflicts facet="jst.java"/>
        </and>
      </constraint>
      <group-member id="modules"/>      
    </project-facet-version>
    
    <project-facet-version facet="jst.ear" version="5.0">
      <constraint>
        <and>
          <conflicts group="modules"/>
          <conflicts facet="jst.java"/>
        </and>
      </constraint>
      <group-member id="modules"/>     
             
    </project-facet-version>
    
    <project-facet-version facet="jst.ear" version="6.0">
      <constraint>
        <and>
          <conflicts group="modules"/>
          <conflicts facet="jst.java"/>
        </and>
      </constraint>
      <group-member id="modules"/>     
             
    </project-facet-version>
            
    <action facet="jst.ear" version="[1.2-6.0]" type="INSTALL" id="jst.ear.install">
      <delegate class="org.eclipse.jst.j2ee.project.facet.EarFacetInstallDelegate"/>
      <config-factory class="org.eclipse.jst.j2ee.internal.earcreation.EarFacetInstallDataModelProvider"/>
    </action>
      
    <event-handler facet="jst.ear" version="[1.2-6.0]" type="POST_INSTALL">
      <delegate class="org.eclipse.jst.j2ee.project.facet.EarFacetPostInstallDelegate"/>
    </event-handler>  

    <event-handler facet="jst.ear" version="[1.2-6.0]" type="RUNTIME_CHANGED">
      <delegate class="org.eclipse.jst.j2ee.project.facet.EarFacetRuntimeHandler$RuntimeChangedDelegate"/>
	</event-handler>

    <project-facet id="jst.utility">
      <label>%UTILITY_FACET_LABEL</label>
      <description>%UTILITY_FACET_DESCRIPTION</description>
      <property name="hide.version" value="true"/>
    </project-facet>

    <project-facet-version facet="jst.utility" version="1.0">
      <action type="install">
        <delegate class="org.eclipse.jst.j2ee.project.facet.UtilityFacetInstallDelegate"/>
        <config-factory class="org.eclipse.jst.j2ee.project.facet.UtilityFacetInstallDataModelProvider"/>
      </action>
      <action type="uninstall">
        <delegate class="org.eclipse.jst.j2ee.project.facet.UtilityFacetUnInstallDelegate"/>
      </action>
      <event-handler type="RUNTIME_CHANGED">
        <delegate class="org.eclipse.jst.j2ee.project.facet.J2EEFacetRuntimeChangedDelegate"/>
      </event-handler>
	<event-handler type="POST_INSTALL" facet="jst.ear" version="[1.2-1.4]">
	  <delegate class="org.eclipse.jst.j2ee.project.facet.UtilityFacetPostInstallDelegate"/>
	</event-handler>  
	      
      <constraint>
        <and>
          <requires facet="jst.java" version="[1.3"/>
          <conflicts group="modules"/>
        </and>
      </constraint>
      <group-member id="modules"/>      
    </project-facet-version>
    
    
    <project-facet id="jst.appclient">
      <label>%APPCLIENT_FACET_LABEL</label>
      <description>%APPCLIENT_FACET_DESCRIPTION</description>
      <icon>icons/ear.gif</icon>
      <default-version version="6.0"/>
    </project-facet>

    <project-facet-version facet="jst.appclient" version="1.2">
      <constraint>
        <and>
          <requires facet="jst.java" version="[1.3"/>
          <conflicts group="modules"/>
        </and>
      </constraint>
      <group-member id="modules"/>      
    </project-facet-version>
    
    <project-facet-version facet="jst.appclient" version="1.3">
      <constraint>
        <and>
          <requires facet="jst.java" version="[1.3"/>
          <conflicts group="modules"/>
        </and>
      </constraint>
      <group-member id="modules"/>      
    </project-facet-version>
    
    <project-facet-version facet="jst.appclient" version="1.4">
      <constraint>
        <and>
          <requires facet="jst.java" version="[1.3"/>
          <conflicts group="modules"/>
        </and>
      </constraint>
      <group-member id="modules"/>      
    </project-facet-version>
    
    <project-facet-version facet="jst.appclient" version="5.0">
      <constraint>
        <and>
          <requires facet="jst.java" version="[5.0"/>
          <conflicts group="modules"/>
        </and>
      </constraint>
      <group-member id="modules"/>     
    </project-facet-version>
    
    <project-facet-version facet="jst.appclient" version="6.0">
      <constraint>
        <and>
          <requires facet="jst.java" version="[6.0"/>
          <conflicts group="modules"/>
        </and>
      </constraint>
      <group-member id="modules"/>     
    </project-facet-version>
            
    <action type="install" facet="jst.appclient" version="[1.2-6.0]" id="jst.appclient.install">
      <delegate class="org.eclipse.jst.j2ee.project.facet.AppClientFacetInstallDelegate"/>
      <config-factory class="org.eclipse.jst.j2ee.project.facet.AppClientFacetInstallDataModelProvider"/>
    </action>
	  
    <event-handler type="POST_INSTALL" facet="jst.appclient" version="[1.2-6.0]">
      <delegate class="org.eclipse.jst.j2ee.project.facet.AppClientFacetPostInstallDelegate"/>
    </event-handler>
        
    <event-handler type="RUNTIME_CHANGED" facet="jst.appclient" version="[1.2-6.0]">
      <delegate class="org.eclipse.jst.j2ee.project.facet.J2EEFacetRuntimeChangedDelegate"/>
    </event-handler>
	
    <template id="template.jst.ear">
      <label>%EAR_FACET_TEMPLATE</label>
      <fixed facet="jst.ear"/>
    </template>
    
    <template id="template.jst.utility">
      <label>%UTILITY_FACET_TEMPLATE</label>
      <fixed facet="jst.java"/>
      <fixed facet="jst.utility"/>
    </template>

    <template id="template.jst.appclient">
      <label>%APPCLIENT_FACET_TEMPLATE</label>
      <fixed facet="jst.java"/>
      <fixed facet="jst.appclient"/>
    </template>    

  </extension>
  
  <extension point="org.eclipse.wst.common.project.facet.core.validators">
    <validator class="org.eclipse.jst.j2ee.project.facet.EarFacetValidator"/>
  </extension>    

  <extension 
    point="org.eclipse.core.resources.markers"
    id="differentRuntimesDetected"
    name="%differentRuntimesDetectedMarkerName">
    <super type="org.eclipse.wst.common.project.facet.core.validation.marker"/>
    <attribute name="moduleProject"/>
    <attribute name="runtime1"/>
    <attribute name="runtime2"/>
    <persistent value="true"/>
  </extension>
  
  <extension
       point="org.eclipse.wst.validation.validationHelper">
    <validationHelper
    	id="org.eclipse.jst.common.componentcore.util.ProjectValidationHelper"
    	helperClass="org.eclipse.jst.j2ee.internal.validation.ProjectValidationHelper">
    </validationHelper>	   
 </extension>
  
  <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
    <classpathContainerInitializer
      class="org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathInitializer"
      id="org.eclipse.jst.j2ee.internal.module.container"/>
  </extension>
  
   <!--
	  Operation extension that updates the context-root entries in application.xml
  -->
  <extension
     point="org.eclipse.wst.common.frameworks.OperationExtension"
     id="org.eclipse.jst.j2ee.application.internal.operations.UpdateContextRoot">
   <operationExtension
      id="org.eclipse.wst.common.componentcore.internal.operation.ServerContextRootUpdateOperation"
      preOperationClass="org.eclipse.jst.j2ee.application.internal.operations.ComputeEARsForContextRootUpdateOp"/>
   <operationExtension
      id="org.eclipse.wst.common.componentcore.internal.operation.ServerContextRootUpdateOperation"
      postOperationClass="org.eclipse.jst.j2ee.application.internal.operations.UpdateModuleContextRootInEAROp"/>
  </extension>


   <extension
         point="org.eclipse.wst.common.modulecore.componentimpl">
      <componentimpl
            typeID="jst.ear"
            class="org.eclipse.jst.j2ee.componentcore.util.EARVirtualComponent">
      </componentimpl>
   </extension>

   <extension
         point="org.eclipse.wst.common.modulecore.componentimpl">
      <componentimpl
            typeID="jst.utility"
            class="org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent">
      </componentimpl>
   </extension>
  
   <extension
         point="org.eclipse.wst.common.modulecore.componentimpl">
      <componentimpl
            typeID="jst.web"
            class="org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent">
      </componentimpl>
   </extension>

   <extension
         point="org.eclipse.wst.common.modulecore.componentimpl">
      <componentimpl
            typeID="jst.connector"
            class="org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent">
      </componentimpl>
   </extension>

   <extension
         point="org.eclipse.wst.common.modulecore.componentimpl">
      <componentimpl
            typeID="jst.ejb"
            class="org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent">
      </componentimpl>
   </extension>

   <extension
         point="org.eclipse.wst.common.modulecore.componentimpl">
      <componentimpl
            typeID="jst.appclient"
            class="org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent">
      </componentimpl>
   </extension>

   <extension
         point="org.eclipse.wst.common.modulecore.componentimpl">
      <componentimpl
            typeID="jst.webfragment"
            class="org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent">
      </componentimpl>
   </extension>
   
   <extension
         point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            file-names="ejb-jar.xml"
            id="ejbDD"
            base-type="org.eclipse.core.runtime.xml"
            name="%ejbEditorContentType"
            priority="high">
         <describer
               class="org.eclipse.jst.j2ee.contenttype.J2EEContentDescriber">
         </describer>
      </content-type>
  	</extension>   
  	
  	 <extension
         point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            file-names="web.xml"
            id="webDD"
            base-type="org.eclipse.core.runtime.xml"
            name="%webEditorContentType"
            priority="high">
         <describer
               class="org.eclipse.jst.j2ee.contenttype.J2EEContentDescriber">
         </describer>
      </content-type>
  	</extension>   
  	
  	 <extension
         point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            file-names="application.xml"
            id="earDD"
            base-type="org.eclipse.core.runtime.xml"
            name="%earEditorContentType"
            priority="high">
         <describer
               class="org.eclipse.jst.j2ee.contenttype.J2EEContentDescriber">
         </describer>
      </content-type>
  	</extension>   
  	
  	
  	 <extension
         point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            file-names="application-client.xml"
            id="appclientDD"
            base-type="org.eclipse.core.runtime.xml"
            name="%appclientEditorContentType"
            priority="high">
         <describer
               class="org.eclipse.jst.j2ee.contenttype.J2EEContentDescriber">
         </describer>
      </content-type>
  	</extension>   
  	
  	<extension
         point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            file-names="ra.xml"
            id="connectorDD"
            base-type="org.eclipse.core.runtime.xml"
            name="%ConnectorContentType"
            priority="high">
         <describer
               class="org.eclipse.jst.j2ee.contenttype.J2EEContentDescriber">
         </describer>
      </content-type>
  	</extension>   
  
  <extension point="org.eclipse.jst.j2ee.classpathdep">
  	<filteredClasspathContainer containerID="org.eclipse.jst.j2ee.internal.module.container"/>
  	<filteredClasspathContainer containerID="org.eclipse.jst.j2ee.internal.web.container"/>
  	<filteredClasspathContainer containerID="org.eclipse.jst.server.core.container"/>
  	<filteredClasspathContainer containerID="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  </extension>
  <extension
        point="org.eclipse.jst.j2ee.J2EEModelProvider">
        <provider>
        	<modelProvider factoryClass="org.eclipse.jst.j2ee.componentcore.util.EARArtifactEdit"/>	
      		<facet id="jst.ear" versions="1.2,1.3,1.4"/>
      	</provider>
  </extension>
  <extension
        point="org.eclipse.jst.j2ee.J2EEModelProvider">
        <provider>
        	<modelProvider factoryClass="org.eclipse.jst.j2ee.applicationclient.componentcore.util.AppClientArtifactEdit"/>	
      		<facet id="jst.appclient" versions="1.2,1.3,1.4"/>
      	</provider>
  </extension>

  <extension point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
      id="org.eclipse.jst.j2ee.common.internal.FacetedProjectPropertyTester"
      type="org.eclipse.jdt.core.ICompilationUnit"
      namespace="org.eclipse.jst.j2ee.common"
      properties="projectFacet"
      class="org.eclipse.jst.j2ee.internal.common.FacetedProjectPropertyTester">
    </propertyTester>
    <propertyTester
      id="org.eclipse.jst.j2ee.internal.common.WtpPreferencePropertyTester"
      type="org.eclipse.core.resources.IProject"
      namespace="org.eclipse.jst.j2ee"
      properties="preferenceId"
      class="org.eclipse.jst.j2ee.internal.common.J2EEPreferencePropertyTester">
    </propertyTester>
	<propertyTester
  		id="org.eclipse.jst.j2ee.internal.provider.FacetedProjectPropertyTester"
  		type="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider"
  		namespace="org.eclipse.jst.j2ee.provider"
  		properties="projectFacet"
  		class="org.eclipse.jst.j2ee.internal.provider.FacetedProjectPropertyTester">
	</propertyTester>
  </extension>
  
  <!--
    *****************************
    * WTP User Library Provider *
    *****************************
  -->
    
  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
    <provider id="wtp-user-library-provider" abstract="true" extends="user-library-provider">
      <action type="INSTALL">
        <config class="org.eclipse.jst.j2ee.internal.common.classpath.WtpUserLibraryProviderInstallOperationConfig"/>
        <operation class="org.eclipse.jst.j2ee.internal.common.classpath.WtpUserLibraryProviderInstallOperation"/>
      </action>
    </provider>
  </extension>
  
  <!--
    *************************************
    * WTP OSGi Bundles Library Provider *
    *************************************
  -->
    
  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
    <provider id="wtp-osgi-bundles-library-provider" abstract="true" extends="osgi-bundles-library-provider">
      <action type="INSTALL">
        <config class="org.eclipse.jst.j2ee.internal.common.classpath.WtpOsgiBundlesLibraryProviderInstallOperationConfig"/>
        <operation class="org.eclipse.jst.j2ee.internal.common.classpath.WtpOsgiBundlesLibraryProviderInstallOperation"/>
      </action>
    </provider>
  </extension>

  <extension point="org.eclipse.ltk.core.refactoring.deleteParticipants">
     <deleteParticipant
           class="org.eclipse.jst.javaee.ltk.core.participant.JavaEERefactoringParticipant"
           id="JavaEERefactoringParticipant"
           name="JavaEERefactoringParticipant">
        <enablement></enablement>
     </deleteParticipant>
  </extension>
  
   <!-- initialize Java EE preferences -->
	<extension point="org.eclipse.core.runtime.preferences">
		<initializer
			class="org.eclipse.jst.j2ee.internal.plugin.JavaEEPreferencesInitializer" />
	</extension>
 <extension
       point="org.eclipse.wst.common.modulecore.referenceResolver">
    <resolver
          class="org.eclipse.jst.j2ee.internal.modulecore.util.ClasspathDependencyResolver"
          id="org.eclipse.jst.j2ee.componentcore.util.ClasspathDependencyResolver"
          weight="5">
    </resolver>
 </extension>
 <extension
       point="org.eclipse.jst.common.frameworks.JavaComponentDiscerner">
    <discerner
          class="org.eclipse.jst.j2ee.internal.modulecore.util.JEEManifestDiscerner">
    </discerner>
 </extension>
</plugin>
