<?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>
    </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"/>
        <config-factory class="org.eclipse.jst.j2ee.project.facet.UtilityFacetInstallDataModelProvider"/>
      </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.web.internal.operation.WebProjectPropertiesUpdateOperation"
      preOperationClass="org.eclipse.jst.j2ee.application.internal.operations.ComputeEARsForContextRootUpdateOp"/>
   <operationExtension
      id="org.eclipse.wst.web.internal.operation.WebProjectPropertiesUpdateOperation"
      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="rar.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>
  </extension>
  
  <extension point="org.eclipse.core.expressions.propertyTesters">
	<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>
  
</plugin>
