<?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"/>

<!--============================-->
<!-- 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>
      </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>
         <facet
               facetId="jst.java">
         </facet>
         <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>
      </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>
      </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="1.4"/>
    </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>
        
    <action facet="jst.ear" version="[1.2-1.4]" 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-1.4]" type="POST_INSTALL">
      <delegate class="org.eclipse.jst.j2ee.project.facet.EarFacetPostInstallDelegate"/>
    </event-handler>  

    <event-handler facet="jst.ear" version="[1.2-1.4]" 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="1.4"/>
    </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>
            
    <action type="install" facet="jst.appclient" version="[1.2-5.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-5.0]">
      <delegate class="org.eclipse.jst.j2ee.project.facet.AppClientFacetPostInstallDelegate"/>
    </event-handler>
        
    <event-handler type="RUNTIME_CHANGED" facet="jst.appclient" version="[1.2-5.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.core.runtime.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.runtime.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.runtime.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.runtime.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.runtime.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>
</plugin>
