<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.jst.j2ee.ui"
   name="WTP J2EE UI Plug-in"
   version="1.0.0"
   provider-name="IBM"
   description="This plugin contains J2EE project creation, import, and export wizards for Applications and EJB, AppClients, Web and Connector modules.  Related actions are contributed to the Project Explorer.  J2EE Migration and some Web Service support are also defined here.  This plugin offers no extension-points."
   class="org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin">

   <runtime>
      <library name="j2ee_ui.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.ui.ide"/>
      <import plugin="org.eclipse.wst.common.navigator.views"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.wst.common.frameworks.ui"/>
      <import plugin="org.eclipse.jst.j2ee"/>
      <import plugin="org.eclipse.jst.j2ee.ejb"/>
      <import plugin="org.eclipse.jst.j2ee.jca"/>
      <import plugin="org.eclipse.jst.j2ee.web"/>
      <import plugin="org.eclipse.emf.edit.ui"/>
      <import plugin="org.eclipse.jdt.ui"/>
      <import plugin="org.eclipse.wst.validation"/>
      <import plugin="org.eclipse.jst.j2ee.core"/>
      <import plugin="com.ibm.wtp.emf.workbench"/>
      <import plugin="org.eclipse.wst.common.emfworkbench.integration"/>
      <import plugin="org.eclipse.ui.workbench"/>
      <import plugin="org.eclipse.jem.workbench"/>
      <import plugin="org.eclipse.jem"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.wst.common.frameworks"/>
      <import plugin="org.eclipse.jdt.core"/>
      <import plugin="org.eclipse.wst.server.core"/>
      <import plugin="org.eclipse.wst.server.ui"/>
      <import plugin="org.eclipse.wst.common.emf"/>
      <import plugin="org.eclipse.emf.ecore.xmi"/>
      <import plugin="org.eclipse.wst.common.migration"/>
      <import plugin="org.eclipse.ltk.core.refactoring"/>
      <import plugin="org.eclipse.wst.internet.webbrowser"/>
      <import plugin="org.eclipse.jface.text"/>
      <import plugin="org.eclipse.jst.common.annotations.controller"/>
      <import plugin="org.eclipse.jst.common.navigator.java"/>
      <import plugin="org.eclipse.wst.web"/>
      <import plugin="org.eclipse.wst.common.navigator.workbench"/>
      <import plugin="org.eclipse.debug.ui"/>
      <import plugin="org.eclipse.wst.sse.core"/>
      <import plugin="org.eclipse.wst.xml.core"/>
      
   </requires>


<!--================================-->
<!-- Project Wizard Contributions   -->
<!--================================-->
   <extension
         id="J2EEUIProjectWizards"
         point="org.eclipse.ui.newWizards">
      <category
            name="%j2ee.category_ui_"
            id="org.eclipse.jst.j2ee.internal">
      </category>
<!-- Application Project Wizard -->
      <wizard
            name="%ear.project_ui_"
            icon="icons/full/ctool16/newear_wiz.gif"
            category="org.eclipse.jst.j2ee.internal"
            class="org.eclipse.jst.j2ee.ui.EnterpriseApplicationCreationWizard"
            project="true"
            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
            id="org.eclipse.jst.j2ee.ui.EnterpriseApplicationCreationWizard"
            >
         <description>
            %new.ear.project.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
<!-- Application Client Project Wizard -->
      <wizard
            name="%appclient.project_ui_"
            icon="icons/full/ctool16/newappclient_wiz.gif"
            category="org.eclipse.jst.j2ee.internal"
            class="org.eclipse.jst.j2ee.ui.AppClientModuleCreationWizard"
            project="true"
            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
            id="org.eclipse.jst.j2ee.ui.AppClientModuleCreationWizard">
         <description>
            %new.appclient.project.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.ui.AppClientModuleImportWizard"
            id="org.eclipse.jst.j2ee.ui.AppClientModuleImportWizard">
         <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.ui.EnterpriseApplicationImportWizard"
            id="org.eclipse.jst.j2ee.ui.EnterpriseApplicationImportWizard">
         <description>
            %ear.import.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard> 
      <wizard
            class="org.eclipse.jst.j2ee.ui.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.ui.AppClientModuleExportWizard"
            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.ui.EnterpriseApplicationExportWizard"
            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>
      </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>
      </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>
      </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>
      </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>
               <and>
                  <or>
                     <objectState
                           name="projectNature"
                           value="org.eclipse.jst.j2ee.EARNature">
                     </objectState>
                     <objectState
                           name="projectNature"
                           value="org.eclipse.jst.j2ee.ApplicationNature">
                     </objectState>
                     <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>
            </or>
         </visibility>
      </objectContribution>
   </extension> -->
<!-- Navigator Object Contributions -->

   
   
    <extension
         point="org.eclipse.ui.propertyPages">
<!-- ====================================================== -->
<!--           J2EE Dependencies properties page            -->
<!-- ====================================================== -->
<!-- =========== org.eclipse.jst.j2ee.internal.EARNature ============ -->
      <page
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            name="%j2ee"
            class="org.eclipse.jst.j2ee.internal.J2EEPropertiesPage"
            id="J2EEPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.jst.j2ee.EARNature">
         </filter>
      </page>
<!-- =========== org.eclipse.jst.j2ee.internal.web.WebNature ============ -->
      <page
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            name="%j2ee"
            class="org.eclipse.jst.j2ee.internal.J2EEPropertiesPage"
            id="J2EEPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.jst.j2ee.web.WebNature">
         </filter>
      </page>
<!-- =========== org.eclipse.jst.j2ee.internal.jca ============ -->
      <page
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            name="%j2ee"
            class="org.eclipse.jst.j2ee.internal.J2EEPropertiesPage"
            id="J2EEPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.jst.j2ee.jca.ConnectorNature">
         </filter>
      </page>
<!-- =========== org.eclipse.jst.j2ee.ApplicationClientNature ============ -->
      <page
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            name="%j2ee"
            class="org.eclipse.jst.j2ee.internal.J2EEPropertiesPage"
            id="J2EEPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.jst.j2ee.ApplicationClientNature">
         </filter>
      </page>
<!-- =========== org.eclipse.jst.j2ee.internal.ejb.EJBNature ============ -->
      <page
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            name="%j2ee"
            class="org.eclipse.jst.j2ee.internal.J2EEPropertiesPage"
            id="J2EEPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.jst.j2ee.ejb.EJBNature">
         </filter>
      </page>
<!-- =========== org.eclipse.jst.j2ee.internal.JARDependencyProperties============ -->
         <page
            objectClass="org.eclipse.core.resources.IProject"
            name="%jar.dependencies.props_ui_"
            class="org.eclipse.jst.j2ee.internal.JARDependencyPropertiesPage"
            id="JARDependenciesPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.jdt.core.javanature">
         </filter>
      </page>
      <page
            objectClass="org.eclipse.jdt.core.IJavaProject"
            name="%jar.dependencies.props_ui_"
            class="org.eclipse.jst.j2ee.internal.JARDependencyPropertiesPage"
            id="JARDependenciesPropertiesPage">
         <filter
               name="nature"
               value="org.eclipse.jdt.core.javanature">
         </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.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="com.ibm.wtp.common.util.uiContextSensitiveClass">
      <uiContextSensitiveClass
            context="UI"
            key="rendererFactory"
            className="org.eclipse.jst.j2ee.emf2xml.sed.EMF2DOMSedRendererFactory">
      </uiContextSensitiveClass>
   </extension>
   -->
   <extension
         point="org.eclipse.wst.common.navigator.workbench.commonWizard">
          <!-- EAR New -->
          <commonWizard
            type="new"
            wizardId="org.eclipse.jst.j2ee.ui.EnterpriseApplicationCreationWizard">
         <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>
        <!-- AppClient New -->
        <commonWizard
            type="new"
            wizardId="org.eclipse.jst.j2ee.ui.AppClientModuleCreationWizard">
         <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>
	               </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 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>
</plugin>
