<?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.internal.wizard.EARComponentCreationWizard"
            project="true"
            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
            id="org.eclipse.jst.j2ee.internal.wizard.EARComponentCreationWizard">
         <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.internal.wizard.AppClientComponentCreationWizard"
            project="true"
            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
            id="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentCreationWizard">
         <description>
            %new.appclient.component.description_ui_
         </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.ui.AppClientModuleImportWizardNew">
         <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.ui.EnterpriseApplicationImportWizardNew">
         <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.ui.AppClientModuleExportWizard">
         <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.ui.EnterpriseApplicationExportWizard">
         <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>
   
<!-- 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.earNewProjectActions">
         <action
               label="%ear.project_ui_"
               icon="icons/full/ctool16/newear_wiz.gif"
               class="org.eclipse.jst.j2ee.internal.actions.NewEARProjectAction"
               menubarPath="org.eclipse.wst.common.frameworks.internal.navigator.new.menu/additions"
               enablesFor="1"
               id="org.eclipse.jst.j2ee.internal.ui.navigator.newEARAction">
         </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.appClientNewProjectActions">
         <action
               label="%appclient.project_ui_"
               icon="icons/full/ctool16/newappclient_wiz.gif"
               class="org.eclipse.jst.j2ee.internal.actions.NewApplClientProjectAction"
               menubarPath="org.eclipse.wst.common.frameworks.internal.navigator.new.menu/additions"
               enablesFor="1"
               id="org.eclipse.jst.j2ee.internal.ui.navigator.newAppClientAction">
         </action>
         <visibility>
            <objectState
                  name="projectNature"
                  value="org.eclipse.jst.j2ee.ApplicationClientNature">
            </objectState>
         </visibility>
      </objectContribution>
   </extension>
   -->
<!-- Navigator Object Contributions -->

    <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.navigator.ui.WTPWorkingSetCommonNavigator">
         </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.navigator.ui.WTPWorkingSetCommonNavigator">
         </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.navigator.ui.WTPWorkingSetCommonNavigator">
         </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.navigator.ui.WTPWorkingSetCommonNavigator">
         </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 (Category Page)============ -->
      <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">
      </page>
<!-- =========== org.eclipse.jst.j2ee.internal.JARDependencyProperties============ -->
      <page
            objectClass="org.eclipse.core.resources.IProject"
            name="%jar.dependencies.props_ui_"
            category="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage"
            class="org.eclipse.jst.j2ee.internal.JARDependencyPropertiesPage"
            id="JARDependenciesPropertiesPage">
          <filter
               name="nature"
               value="org.eclipse.wst.common.modulecore.ModuleCoreNature">
          </filter>
     	 </page>
      <page
            objectClass="org.eclipse.jdt.core.IJavaProject"
            name="%jar.dependencies.props_ui_"
             category="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage"
            class="org.eclipse.jst.j2ee.internal.JARDependencyPropertiesPage"
            id="JARDependenciesPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.jdt.core.javanature">
         </filter>
      </page>
<!-- =========== org.eclipse.jst.j2ee.internal.WebLibDependencyPropertiesPage ============ -->
         <page
            objectClass="org.eclipse.core.resources.IProject"
            name="%weblib.dependencies.props_ui_"
            category="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage"
            class="org.eclipse.jst.j2ee.internal.WebLibDependencyPropertiesPage"
            id="WebLibDependencyPropertiesPage">
          <filter
               name="nature"
               value="org.eclipse.wst.common.modulecore.ModuleCoreNature">
          </filter>
     	 </page>
      <page
            objectClass="org.eclipse.jdt.core.IJavaProject"
            name="%weblib.dependencies.props_ui_"
            category="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage"
            class="org.eclipse.jst.j2ee.internal.WebLibDependencyPropertiesPage"
            id="WebLibDependencyPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.jdt.core.javanature">
         </filter>
      </page>
  	</extension>
<!-- =========== org.eclipse.jst.j2ee.internal.AddModulestoEARPropertiesPage============ -->
	<extension point="org.eclipse.ui.propertyPages">
         <page
            objectClass="org.eclipse.core.resources.IProject"
            name="%addmodulestoear.props_ui_"
            category="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage"
            class="org.eclipse.jst.j2ee.internal.AddModulestoEARPropertiesPage"
            id="AddModulestoEARPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.wst.common.modulecore.ModuleCoreNature">
         </filter>
      </page>
      <page
            objectClass="org.eclipse.jdt.core.IJavaProject"
            name="%addmodulestoear.props_ui_"
            category="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage"
            class="org.eclipse.jst.j2ee.internal.AddModulestoEARPropertiesPage"
            id="AddModulestoEARPropertiesPage">
         <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.jdt.core.javanature" />  
            	</iterate>
            </with>
            <with
               variable="element">
               <instanceof
                     value="org.eclipse.core.resources.IProject">
               </instanceof>
            </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.navigator.workbench.commonWizard">
          <!-- EAR New -->
          <commonWizard
            type="new"
            wizardId="org.eclipse.jst.j2ee.internal.wizard.EARComponentCreationWizard">
         <enablement>
         <or> 
               <objectClass
	                  name="org.eclipse.core.resources.IWorkspaceRoot">
	           </objectClass>
               <and>
                   <objectClass
	                     name="org.eclipse.core.resources.IProject">
	               </objectClass>
	               <or>
	                  <objectState
	                        name="projectNature"
	                        value="org.eclipse.wst.common.modulecore.ModuleCoreNature">
	                  </objectState>
	               </or> 
                </and>      
            </or>
         </enablement>
       </commonWizard>
        <!-- AppClient New -->
        <commonWizard
            type="new"
            wizardId="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentCreationWizard">
         <enablement>
         <or>
                <objectClass
	                  name="org.eclipse.core.resources.IWorkspaceRoot">
	           </objectClass>
               <and>
                   <objectClass
	                     name="org.eclipse.core.resources.IProject">
	               </objectClass>
	               <or>
	                  <objectState
	                        name="projectNature"
	                        value="org.eclipse.wst.common.modulecore.ModuleCoreNature">
	                  </objectState>
	               </or> 
                </and> 
              <objectClass
                 name="org.eclipse.jst.j2ee.application.Application">
           	   </objectClass>
           	    <objectClass
                 name="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider">
           	   </objectClass>
           	   <objectClass
                 name="org.eclipse.jst.j2ee.application.Module">
           	   </objectClass>
                   
            </or>
         </enablement>
       </commonWizard>
           <!-- EAR Import -->
        <!--  <commonWizard
            type="import"
            wizardId="org.eclipse.jst.j2ee.ui.EnterpriseApplicationImportWizard">
         <enablement>
         <or> 
               <objectClass
	                  name="org.eclipse.core.resources.IWorkspaceRoot">
	           </objectClass>
               <and>
            	   <objectClass
                     name="org.eclipse.wst.common.navigator.internal.groups.NavigatorGroup">
               	   </objectClass>
               	   <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.EARNature">
                  </objectState>
                </and>	 
                         
            </or>
         </enablement>
       </commonWizard> -->
            <!-- App Client Import -->
        <!--  <commonWizard
            type="import"
            wizardId="org.eclipse.jst.j2ee.ui.AppClientModuleImportWizard">
         <enablement>
         <or> 
               <objectClass
	                  name="org.eclipse.core.resources.IWorkspaceRoot">
	           </objectClass>
               <and>
            	   <objectClass
                     name="org.eclipse.wst.common.navigator.internal.groups.NavigatorGroup">
               	   </objectClass>
               	   <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.ApplicationClientNature">
                  </objectState>
                </and>
                <and>
                   <objectClass
	                     name="org.eclipse.core.resources.IProject">
	               </objectClass>
	               <or>
	                  <objectState
	                        name="projectNature"
	                        value="org.eclipse.jst.j2ee.EARNature">
	                  </objectState>
	                  <objectState
	                        name="projectNature"
	                        value="org.eclipse.jst.j2ee.ApplicationClientNature">
	                  </objectState>
	               </or> 
                </and> 
               <objectClass
                name="org.eclipse.jst.j2ee.internal.client.impl.ApplicationClientImpl">
              </objectClass>
              <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ApplicationImpl">
           	   </objectClass>
           	    <objectClass
                 name="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider">
           	   </objectClass>
           	    <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ModuleImpl">
           	   </objectClass>
            </or>
         </enablement>
       </commonWizard> -->
        <!-- Utility Jar Import -->
     <!--   <commonWizard
            type="import"
            wizardId="org.eclipse.jst.j2ee.ui.J2EEUtilityJarImportWizard">
         <enablement>
         <or>
             <objectClass
	                  name="org.eclipse.jst.j2ee.internal.provider.J2EEUtilityJarItemProvider">
	        </objectClass>
         	 <objectClass
	                  name="org.eclipse.jst.j2ee.internal.earcreation.modulemap.EARProjectMapImpl">
	        </objectClass>
            <objectClass
	                  name="org.eclipse.core.resources.IWorkspaceRoot">
	        </objectClass>
            <and>
               <objectClass
                     name="org.eclipse.core.resources.IProject">
               </objectClass>
               <or>
                  <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.EARNature">
                  </objectState>
               </or>
            </and>     
              <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ApplicationImpl">
           	   </objectClass>
           	    <objectClass
                 name="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider">
           	   </objectClass>
           	   <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ModuleImpl">
           	   </objectClass>       
            </or>
         </enablement>
       </commonWizard> -->
       <!-- EAR export -->
    <!--   <commonWizard
            type="export"
            wizardId="org.eclipse.jst.j2ee.ui.EnterpriseApplicationExportWizard">
         <enablement>
         <or>
            <and>
               <or>
                  <objectClass
                     name="org.eclipse.wst.common.navigator.internal.groups.NavigatorGroup">
               	   </objectClass>
	               <objectClass
	                     name="org.eclipse.core.resources.IProject">
	               </objectClass>
               </or>
               <or>
                  <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.EARNature">
                  </objectState>
               </or>
            </and>     
             <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ApplicationImpl">
           	   </objectClass>
           	    <objectClass
                 name="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider">
           	   </objectClass>
           	   <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ModuleImpl">
           	   </objectClass>       
            </or>
         </enablement>
       </commonWizard> -->
        <!-- App Client export -->
    <!--   <commonWizard
            type="export"
            wizardId="org.eclipse.jst.j2ee.ui.AppClientModuleExportWizard">
         <enablement>
         <or>
            <and>
               <or>
                  <objectClass
                     name="org.eclipse.wst.common.navigator.internal.groups.NavigatorGroup">
               	   </objectClass>
	               <objectClass
	                     name="org.eclipse.core.resources.IProject">
	               </objectClass>
               </or>
               <or>
                  <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.ApplicationClientNature">
                  </objectState>
               </or>
            </and>  
            <objectClass
                name="org.eclipse.jst.j2ee.internal.client.impl.ApplicationClientImpl">
            </objectClass>          
            </or>
         </enablement>
       </commonWizard> -->
       <!-- Import Classes Wizard -->
      <!--  <commonWizard
            type="import"
            wizardId="org.eclipse.jst.j2ee.internal.wizard.ClassesImportWizard">
         <enablement>
         <or>
            <and>
               <objectClass
                     name="org.eclipse.core.resources.IProject">
               </objectClass>
               <or>
               	  <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.ApplicationClientNature">
                  </objectState>
                  <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.jca.ConnectorNature">
                  </objectState>
                  <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.ejb.EJBNature">
                  </objectState>
                  <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.web.WebNature">
                  </objectState>
               </or>
            </and>     
             <objectClass
                name="org.eclipse.jst.j2ee.internal.client.impl.ApplicationClientImpl">
            </objectClass> 	        
            </or>
         </enablement>
       </commonWizard> -->
   </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="utility" version="1.0">
      <install>
        <config class="org.eclipse.jst.j2ee.project.facet.UtilityFacetInstallConfig"/>
        <page class="org.eclipse.jst.j2ee.ui.project.facet.UtilityFacetInstallPage"/>
      </install>
    </wizard-pages>

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

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

    <wizard-pages facet="ear" version="1.4">
      <install>
        <config class="org.eclipse.jst.j2ee.project.facet.EarFacetInstallConfig"/>
        <page class="org.eclipse.jst.j2ee.ui.project.facet.EarFacetInstallPage"/>
      </install>
    </wizard-pages>
    
  </extension>
  
    <extension point="org.eclipse.ui.newWizards">
  
    <category
      name="%new-projects-wizard-category-name"
      id="org.eclipse.jst.newprojects">
    </category>
    
    <wizard
      name="%util-project-wizard-name"
      icon="icons/util-wiz-icon.gif"
      category="org.eclipse.jst.newprojects"
      class="org.eclipse.jst.j2ee.ui.project.facet.UtilityProjectWizard"
      project="true"
      id="org.eclipse.jst.j2ee.ui.project.facet.UtilityProjectWizard">
      <description>%util-project-wizard-description</description>
    </wizard>

    <wizard
      name="%ear-project-wizard-name"
      icon="icons/ear-wiz-icon.gif"
      category="org.eclipse.jst.newprojects"
      class="org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard"
      project="true"
      id="org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard">
      <description>%ear-project-wizard-description</description>
    </wizard>

    
  </extension>
   

</plugin>
