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

    
<!-- ====================================================== -->
<!--                                                        -->
<!-- Purpose: Extension for the J2EE ACtion Sets            -->
<!-- Extension point: org.eclipse.ui.actionSets             -->
<!-- ====================================================== -->
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%j2ee"
            description="%j2ee.actions.description_ui_"
            visible="false"
            id="org.eclipse.jst.j2ee.J2eeMainActionSet">
         <action
               label="%create.client.module_ui_"
               icon="icons/full/ctool16/newappclient_wiz.gif"
               tooltip="%create.client.module_ui_"
               class="org.eclipse.jst.j2ee.internal.actions.NewAppClientComponentAction"
               toolbarPath="J2EEMain"
               id="org.eclipse.jst.j2ee.internal.actions.NewAppClientComponent">
         </action>
         <action
               label="%create.enterprise.application_ui_"
               icon="icons/full/ctool16/newear_wiz.gif"
               tooltip="%create.enterprise.application_ui_"
               class="org.eclipse.jst.j2ee.internal.actions.NewEARComponentAction"
               toolbarPath="J2EEMain"
               id="org.eclipse.jst.j2ee.internal.actions.NewEARComponent">
         </action>
      </actionSet> 
   </extension>

<!--================================-->
<!-- Project Wizard Contributions   -->
<!--================================-->
   <extension
         id="J2EEUIProjectWizards"
         point="org.eclipse.ui.newWizards">
      <category
            name="%j2ee.category_ui_"
            id="org.eclipse.jst.j2ee.internal">
      </category>
<!-- Flexible Project Wizard 
      <wizard
            name="%flexible.project_ui_"
            icon="icons/full/ctool16/newear_wiz.gif"
            category="org.eclipse.jdt.ui.java"
            class="org.eclipse.jst.j2ee.internal.wizard.FlexibleProjectCreationWizard"
            project="true"
            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
            id="org.eclipse.jst.j2ee.ui.FlexibleProjectCreationWizard"
            >
         <description>
            %new.flexible.project.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>-->
<!-- EAR Component Wizard -->
      <wizard
            name="%ear_component_ui_"
            icon="icons/full/ctool16/newear_wiz.gif"
            category="org.eclipse.jst.j2ee.internal"
            class="org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard"
            project="true"
            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
            id="org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard">
         <description>
            %new.ear.component.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
<!-- Application Client Component Wizard -->
      <wizard
            name="%appclient_component_ui_"
            icon="icons/full/ctool16/newappclient_wiz.gif"
            category="org.eclipse.jst.j2ee.internal"
            class="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard"
            project="true"
            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
            id="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard">
         <description>
            %new.appclient.component.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
<!-- Utility Component Wizard -->
      <wizard
      		name="%util-project-wizard-name"
      		icon="icons/util-wiz-icon.gif"
      		category="org.eclipse.jst.j2ee.internal"
      		class="org.eclipse.jst.j2ee.ui.project.facet.UtilityProjectWizard"
      		project="true"
      		finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
      		id="org.eclipse.jst.j2ee.ui.project.facet.UtilityProjectWizard">
      <description>
      	%util-project-wizard-description
      </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
    </wizard>
      
   </extension>
  
<!--================================-->
<!-- Import Wizard Contributions    -->
<!--================================-->
   <extension
         point="org.eclipse.ui.importWizards">
      <wizard
            name="%client.jar.file_ui_"
            icon="icons/full/ctool16/appclient_import_wiz.gif"
            class="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentImportWizard"
            id="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentImportWizard">
         <description>
            %client.import.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
       <wizard
            name="%ear.file_ui_"
            icon="icons/full/ctool16/import_ear.gif"
            class="org.eclipse.jst.j2ee.internal.wizard.EARComponentImportWizard"
            id="org.eclipse.jst.j2ee.internal.wizard.EARComponentImportWizard">
         <description>
            %ear.import.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard> 
       </extension>
     
   <!--   <wizard
            class="org.eclipse.jst.j2ee.internal.wizard.J2EEUtilityJarImportWizard"
            icon="icons/jar_obj.gif"
            name="%utility_jar_import_wizard"
            id="org.eclipse.jst.j2ee.ui.J2EEUtilityJarImportWizard">
            <selection
               class="org.eclipse.core.resources.IResource">
	        </selection>
	  </wizard>     
	   <wizard
            name="%Import_Classes"
            icon=""
            class="org.eclipse.jst.j2ee.internal.wizard.ClassesImportWizard"
            id="org.eclipse.jst.j2ee.internal.wizard.ClassesImportWizard">
         
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>             
   </extension> -->
<!--================================-->
<!-- Export Wizard Contributions    -->
<!--================================-->
   <extension
         point="org.eclipse.ui.exportWizards">
      <wizard
            name="%client.jar.file_ui_"
            icon="icons/full/ctool16/appclient_export.gif"
            class="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentExportWizard"
            id="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentExportWizard">
         <description>
            %client.export.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
      <wizard
            name="%ear.file_ui_"
            icon="icons/full/ctool16/export_ear.gif"
            class="org.eclipse.jst.j2ee.internal.wizard.EARComponentExportWizard"
            id="org.eclipse.jst.j2ee.internal.wizard.EARComponentExportWizard">
         <description>
            %ear.export.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
   </extension>
<!-- ====================================================== -->
<!-- Extension point: org.eclipse.ui.projectNatureImages    -->
<!-- Purpose: Attach icon overlays for J2EE project natures -->
<!-- ====================================================== -->
   <extension
         point="org.eclipse.ui.ide.projectNatureImages">
      <image
            icon="icons/full/ovr16/ejb_module_ovr.gif"
            natureId="org.eclipse.jst.j2ee.ejb.EJBNature"
            id="org.eclipse.ui.ejbProjectNatureImage">
      </image>
      <image
            icon="icons/full/ovr16/enterprise_app_ovr.gif"
            natureId="org.eclipse.jst.j2ee.EARNature"
            id="org.eclipse.ui.earProjectNatureImage">
      </image>
      <image
            icon="icons/full/ovr16/client_app_ovr.gif"
            natureId="org.eclipse.jst.j2ee.ApplicationClientNature"
            id="org.eclipse.ui.appClientModProjectNatureImage">
      </image>
      <image
            icon="icons/full/ovr16/connector_ovr.gif"
            natureId="org.eclipse.jst.j2ee.jca.ConnectorNature"
            id="org.eclipse.ui.ConnectorModProjectNatureImage">
      </image>
      <image
            icon="icons/full/ovr16/web_module_ovr.gif"
            natureId="org.eclipse.jst.j2ee.web.WebNature"
            id="org.eclipse.ui.webProjectNatureImage">
      </image>
   </extension>

    <extension
         point="org.eclipse.wst.common.frameworks.ui.wtpuiAction"> 
      <masterOperation
            description="Delete the dependent J2EE modules"
            extendedGenericId="org.eclipse.wst.common.generic.Delete"
            populatorClass="org.eclipse.jst.j2ee.internal.ui.actions.J2EEDeleteModuleActionPopulator"
            operationClass="org.eclipse.wst.common.frameworks.internal.operation.extension.ui.IActionWTPOperation"
            name="Delete J2EE Dependent Modules" 
            alwaysExecute="true"
            overrideId="org.eclipse.wst.common.actions.Java.delete">
            <selectionEnablement>
            	<or>
            		<and>
            		<objectClass name="org.eclipse.core.resources.IProject"
            					 adaptable="true" />
					<or>
			            <objectState
			                  value="org.eclipse.jst.j2ee.EARNature"
			                  name="projectNature" /> 
			            <objectState
			                  value="org.eclipse.jst.j2ee.ApplicationClientNature"
			                  name="projectNature" /> 
			            <objectState
			                  value="org.eclipse.jst.j2ee.jca.ConnectorNature"
			                  name="projectNature" /> 
			            <objectState
			                  value="org.eclipse.jst.j2ee.ejb.EJBNature"
			                  name="projectNature" /> 
			            <objectState
			                  value="org.eclipse.jst.j2ee.web.WebNature"
			                  name="projectNature" /> 
			            </or>            					 
            		</and> 
	               <objectClass
	                    name="org.eclipse.jst.j2ee.internal.application.Application">
	              </objectClass>
	              <objectClass
	                    name="org.eclipse.jst.j2ee.internal.client.ApplicationClient">
	              </objectClass>
	              <objectClass
	                    name="org.eclipse.jst.j2ee.internal.jca.Connector">
	              </objectClass>
	              <objectClass
	                    name="org.eclipse.jst.j2ee.internal.ejb.EJBJar">
	              </objectClass>
	              <objectClass
	                    name="org.eclipse.jst.j2ee.internal.webapplication.WebApp">
	              </objectClass>            		       		
            	</or>
			</selectionEnablement>
      </masterOperation>
	</extension>   
	
	
	<extension
         point="org.eclipse.wst.common.emfworkbench.integration.adapterFactory">
      <adapterFactory
            className="org.eclipse.jst.j2ee.internal.ejb.provider.J2EEEjbItemProviderAdapterFactory"
            packageURI="ejb.xmi"
            id="org.eclipse.jst.j2ee.internal.ejb.provider.J2EEEjbItemProviderAdapterFactory">
       <!--  <view
               id="org.eclipse.wst.navigator.ui.WTPCommonNavigator">
         </view> -->
         <view 
         	   id="org.eclipse.wst.common.explorer.CommonProjectExplorer">
         </view>
      </adapterFactory>
      <adapterFactory
            className="org.eclipse.jst.j2ee.internal.war.ui.util.J2EEWebItemProviderAdapterFactory"
            packageURI="webapplication.xmi"
            id="org.eclipse.jst.j2ee.internal.war.ui.util.J2EEWebItemProviderAdapterFactory">
       <!--  <view
               id="org.eclipse.wst.navigator.ui.WTPCommonNavigator">
         </view> -->
          <view 
         	   id="org.eclipse.wst.common.explorer.CommonProjectExplorer">
         </view>
      </adapterFactory>
      <adapterFactory
            className="org.eclipse.jst.j2ee.internal.provider.J2EEApplicationItemProviderAdapterFactory"
            packageURI="application.xmi"
            id="org.eclipse.jst.j2ee.internal.provider.J2EEApplicationItemProviderAdapterFactory">
     <!--    <view
               id="org.eclipse.wst.navigator.ui.WTPCommonNavigator">
         </view> -->
          <view 
         	   id="org.eclipse.wst.common.explorer.CommonProjectExplorer">
         </view>
      </adapterFactory>
      <adapterFactory
            className="org.eclipse.jst.j2ee.internal.provider.J2EEModulemapItemProviderAdapterFactory"
            packageURI="modulemap.xmi"
            id="org.eclipse.jst.j2ee.internal.provider.J2EEModulemapItemProviderAdapterFactory">
        <!-- <view
               id="org.eclipse.wst.navigator.ui.WTPCommonNavigator">
         </view> -->
          <view 
         	   id="org.eclipse.wst.common.explorer.CommonProjectExplorer">
         </view>
      </adapterFactory>
   </extension>
   

   
  
<!-- Navigator Object Contributions -->
<!-- EAR Group Contributions 
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.wst.common.navigator.internal.groups.NavigatorGroup"
            id="org.eclipse.jst.j2ee.internal.ui.navigator.earProjectActions">
         <action
               label="%ear.file_ui_"
               icon="icons/full/ctool16/import_ear.gif"
               class="org.eclipse.jst.j2ee.internal.ear.actions.ImportEARAction"
               menubarPath="org.eclipse.wst.common.frameworks.internal.navigator.import.menu/additions"
               enablesFor="1"
               id="org.eclipse.jst.j2ee.internal.ui.navigator.importEARAction">
         </action>
         <action
               label="%ear.file_ui_"
               icon="icons/full/ctool16/export_ear.gif"
               class="org.eclipse.jst.j2ee.internal.ear.actions.ExportEARAction"
               menubarPath="org.eclipse.wst.common.frameworks.internal.navigator.export.menu/additions"
               enablesFor="1"
               id="org.eclipse.jst.j2ee.internal.ui.navigator.exportEARAction">
         </action>
         <visibility>
            <objectState
                  name="projectNature"
                  value="org.eclipse.jst.j2ee.EARNature">
            </objectState>
         </visibility>
      </objectContribution>
   </extension>
   -->
<!-- Navigator Object Contributions -->
<!-- Application Client Group Contributions
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.wst.common.navigator.internal.groups.NavigatorGroup"
            id="org.eclipse.jst.j2ee.internal.ui.navigator.appClientProjectActions">
         <action
               label="%client.jar.file_ui_"
               icon="icons/full/ctool16/appclient_import_wiz.gif"
               class="org.eclipse.jst.j2ee.internal.client.actions.ImportApplicationClientAction"
               menubarPath="org.eclipse.wst.common.frameworks.internal.navigator.import.menu/additions"
               enablesFor="1"
               id="org.eclipse.jst.j2ee.internal.ui.navigator.importAppClientAction">
         </action>
         <action
               label="%client.jar.file_ui_"
               icon="icons/full/ctool16/appclient_export.gif"
               class="org.eclipse.jst.j2ee.internal.client.actions.ExportApplicationClientAction"
               menubarPath="org.eclipse.wst.common.frameworks.internal.navigator.export.menu/additions"
               enablesFor="1"
               id="org.eclipse.jst.j2ee.internal.ui.navigator.exportAppClientAction">
         </action>
         <visibility>
            <objectState
                  name="projectNature"
                  value="org.eclipse.jst.j2ee.ApplicationClientNature">
            </objectState>
         </visibility>
      </objectContribution>
   </extension>
    -->
<!-- Navigator Object Contributions -->
<!-- ================================================== -->
<!--          DEPLOY EXTENSIONS                         -->
<!-- ================================================== -->
<!--  <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="java.lang.Object"
            nameFilter="*"
            id="org.eclipse.jst.j2ee.internal.ui.deploy">
         <action
               label="%deploy_ui_"
               icon="icons/full/ctool16/re_execute.gif"
               class="org.eclipse.jst.j2ee.internal.actions.J2EEDeployAction"
               menubarPath="additions"
               id="deployAction">
         </action>
         <visibility>
            <or>
               <objectClass
                     name="org.eclipse.jst.j2ee.ejb.EJBJar">
               </objectClass>
               <objectClass
                     name="org.eclipse.jst.j2ee.ejb.EnterpriseBean">
               </objectClass>
               <objectClass
                     name="org.eclipse.jst.j2ee.webapplication.WebApp">
               </objectClass>
               <objectClass
                     name="org.eclipse.jst.j2ee.jca.Connector">
               </objectClass>
               <objectClass
                     name="org.eclipse.jst.j2ee.application.Application">
               </objectClass>
               <objectClass
                     name="org.eclipse.jst.j2ee.client.ApplicationClient">
               </objectClass>
               
                     <objectState
                           name="projectNature"
                           value="org.eclipse.wst.common.componentcore.ModuleCoreNature">
                     </objectState>
          
            </or>
         </visibility>
      </objectContribution>
   </extension> -->
<!-- Navigator Object Contributions -->

    <extension point="org.eclipse.ui.propertyPages">
 
     
<!-- =========== org.eclipse.jst.j2ee.internal.J2EEDependencyPage ============ -->
      <page
      		objectClass="org.eclipse.core.resources.IProject"
      		name="%J2EEDependenciesPage.name"
            class="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage"
            id="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage">
          <filter
               name="nature"
               value="org.eclipse.wst.common.modulecore.ModuleCoreNature">
          </filter>            
      </page>
      <page
      		objectClass="org.eclipse.jdt.core.IJavaProject"
      		name="%J2EEDependenciesPage.name"
            class="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage"
            id="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage">
            <filter
               name="nature"
               value="org.eclipse.wst.common.modulecore.ModuleCoreNature">
          </filter>    
      </page>
      
      <page
      		adaptable="true"
            objectClass="org.eclipse.core.resources.IProject"
             name="%j2ee"
            class="org.eclipse.jst.j2ee.internal.ui.J2EEPropertiesPage"
            id="J2EEPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.wst.common.modulecore.ModuleCoreNature">
         </filter>
      </page>
            
    </extension>

<!--  
	<extension point="org.eclipse.ltk.core.refactoring.renameParticipants">
	  
		<renameParticipant
				class="org.eclipse.jst.j2ee.internal.actions.J2EERenameParticipant"
				id="org.eclipse.jst.j2ee.internal.actions.J2EERenameParticipant" 
				name="%J2EE_Rename_Participant"> 
			<enablement>
				<with variable="affectedNatures">
					<iterate operator="or">
						<equals value="org.eclipse.wst.common.modulecore.ModuleCoreNature" />

					</iterate>
				</with>
				<with variable="element">
					<instanceof value="org.eclipse.core.resources.IProject" />

				</with>
			</enablement> 
		</renameParticipant>
	</extension>
	
	<extension point="org.eclipse.ltk.core.refactoring.renameParticipants">
	  
		<renameParticipant
				class="org.eclipse.jst.j2ee.internal.actions.J2EEComponentRenameParticipant"
				id="org.eclipse.jst.j2ee.internal.actions.J2EEComponentRenameParticipant" 
				name="J2EE Rename Participant"> 
		<enablement> 
		   	<with variable="affectedNatures">
            	<iterate operator="or"> 
            			<equals value="org.eclipse.wst.common.modulecore.ModuleCoreNature" />  
            	</iterate>
            </with>
            <with
                  variable="element">
               <instanceof
                     value="org.eclipse.wst.common.componentcore.resources.IVirtualComponent">
               </instanceof>
            </with>
         </enablement> 
		</renameParticipant>
	</extension> -->
	
  <extension
         point="org.eclipse.ui.perspectives">
      <perspective
            name="%j2ee"
            icon="icons/full/cview16/j2ee_perspective.gif"
            class="org.eclipse.jst.j2ee.internal.perspective.J2EEPerspective"
            id="org.eclipse.jst.j2ee.J2EEPerspective">
      </perspective>
   </extension>	
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension targetID="org.eclipse.jst.j2ee.J2EEPerspective">
         <perspectiveShortcut id="org.eclipse.debug.ui.DebugPerspective"/>
         <perspectiveShortcut id="org.eclipse.jdt.ui.JavaPerspective"/>
         <perspectiveShortcut id="org.eclipse.ui.resourcePerspective"/>
      </perspectiveExtension>
      <perspectiveExtension targetID="org.eclipse.ui.resourcePerspective">
         <perspectiveShortcut id="org.eclipse.jst.j2ee.J2EEPerspective"/>
      </perspectiveExtension>
   </extension>	
    
   <extension
		point="org.eclipse.wst.common.frameworks.DataModelProviderExtension">
		<DataModelProvider
            class="org.eclipse.jst.j2ee.internal.earcreation.EarComponentCreationDataModelProvider"
            id="org.eclipse.jst.j2ee.internal.earcreation.IEarComponentCreationDataModelProperties"/>
	</extension>
	
	<extension
         id="context.Sensitive.Class.workingCopyManager"
         name="Working Copy Manager - UI Context Class"
         point="org.eclipse.jem.util.uiContextSensitiveClass">
      <uiContextSensitiveClass
            context="UI"
            key="workingCopyManager"
            className="org.eclipse.jst.common.jdt.internal.integration.ui.WTPUIWorkingCopyManager">
      </uiContextSensitiveClass>
   </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> 
   
   <extension
         point="org.eclipse.wst.server.core.moduleArtifactAdapters">
    <moduleArtifactAdapter
           id="org.eclipse.jst.j2ee.server.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="org.eclipse.jst.j2ee.server.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="org.eclipse.jst.j2ee.server.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.wst.common.project.facet.ui.wizard">

    <!-- <wizard-pages facet="jst.utility" version="1.0">
      <install>
        <page class="org.eclipse.jst.j2ee.ui.project.facet.UtilityFacetInstallPage"/>
      </install>
    </wizard-pages> -->

    <wizard-pages facet="jst.ear" version="1.2">
      <install>
        <page class="org.eclipse.jst.j2ee.ui.project.facet.EarFacetInstallPage"/>
      </install>
    </wizard-pages>

    <wizard-pages facet="jst.ear" version="1.3">
      <install>
        <page class="org.eclipse.jst.j2ee.ui.project.facet.EarFacetInstallPage"/>
      </install>
    </wizard-pages>

    <wizard-pages facet="jst.ear" version="1.4">
      <install>
        <page class="org.eclipse.jst.j2ee.ui.project.facet.EarFacetInstallPage"/>
      </install>
    </wizard-pages>
    
    <wizard-pages facet="jst.appclient" version="1.2">
      <install>
        <page class="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientFacetInstallPage"/>
      </install>
    </wizard-pages>

    <wizard-pages facet="jst.appclient" version="1.3">
      <install>
        <page class="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientFacetInstallPage"/>
      </install>
    </wizard-pages>

    <wizard-pages facet="jst.appclient" version="1.4">
      <install>
        <page class="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientFacetInstallPage"/>
      </install>
    </wizard-pages>
    </extension>

  <extension
    point="org.eclipse.ui.ide.markerResolution">
	<markerResolutionGenerator
      markerType="org.eclipse.jst.common.frameworks.javaVersionMismatch"
      class="org.eclipse.jst.j2ee.ui.project.facet.JavaVersionMismatchMarkerResolutions">
    </markerResolutionGenerator>
  </extension>

  <extension
    point="org.eclipse.ui.ide.markerResolution">
	<markerResolutionGenerator
      markerType="org.eclipse.jst.j2ee.differentRuntimesDetected"
      class="org.eclipse.jst.j2ee.ui.project.facet.RuntimeMismatchMarkerResolutions">
    </markerResolutionGenerator>
  </extension>
      
    <extension
          point="org.eclipse.wst.common.modulecore.ComponentProjectMigrator">
       <migratorExtension class="org.eclipse.jst.j2ee.internal.J2EEComponentProjectMigrator"/>
    </extension>
   

</plugin>
