<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
   <extension point="org.eclipse.wst.common.project.facet.ui.wizardPages">
    <wizard-pages action="jst.ear#5.0#install">
      <page class="org.eclipse.jst.jee.ui.project.facet.EarJavaEEFacetInstallPage"/>
    </wizard-pages>
  </extension>

   
    <extension point="org.eclipse.core.runtime.adapters">
        <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.core.resources.IProject">
            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
        <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.core.resources.IFile">
            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
       </factory>

        <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.jst.javaee.application.Application">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
        <factory
              adaptableType="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider"
              class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
           <adapter
                 type="org.eclipse.debug.ui.actions.ILaunchable">
           </adapter>
        </factory>

   </extension>
   
    <extension point="org.eclipse.core.runtime.adapters">
         <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.core.resources.IProject">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
        <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.jdt.core.ICompilationUnit">
            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
        <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.core.resources.IFile">
            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
       </factory>
       <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.jst.javaee.web.Servlet">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
       </factory>       
       <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.jst.javaee.web.WebApp">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
       </factory> 

   </extension>  

    <extension point="org.eclipse.core.runtime.adapters">
         <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.core.resources.IProject">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/> 
        </factory>
        <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.jdt.core.ICompilationUnit">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/> 
        </factory>
        <factory
             class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.core.resources.IFile">
            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/> 
       </factory>

	   	<factory
	    	class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory"
	     	adaptableType="org.eclipse.jst.javaee.ejb.EJBJar">
	     	<adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/> 
		</factory>
		
		<factory
			class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory"
	     	adaptableType="org.eclipse.jst.javaee.ejb.SessionBean">
	     	<adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/> 
	   	</factory>
	   		
		<factory
			class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory"
	     	adaptableType="org.eclipse.jst.javaee.ejb.MessageDrivenBean">
	     	<adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/> 
	   	</factory>	
	   	
	   	<factory
			class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory"
	     	adaptableType="org.eclipse.jst.javaee.ejb.EntityBean">
	     	<adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/> 
	   	</factory>       
   </extension> 
   
   <extension
         point="org.eclipse.wst.server.core.moduleArtifactAdapters">
  
    <moduleArtifactAdapter
           id="org.eclipse.jst.jee.server.ear1"
           class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jst.javaee.application.Application"/>
           </with>
         </enablement>
      </moduleArtifactAdapter>
 
     <moduleArtifactAdapter
            id="org.eclipse.jst.jee.server.ear2"
            class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.core.resources.IProject">
             	<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ear:5.0" />
			 </adapt>
             
           </with>
         </enablement>
      </moduleArtifactAdapter>
      
      <moduleArtifactAdapter
            id="org.eclipse.jst.jee.server.ear3"
            class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.core.resources.IFile">
             	<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ear:5.0" />
			 </adapt>
           </with>
         </enablement>
      </moduleArtifactAdapter>
      <moduleArtifactAdapter
            class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory"
            id="org.eclipse.jst.jee.server.ear4">
         <enablement>
            <with
                  variable="selection">
               <adapt
                     type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
               </adapt>
            </with>
         </enablement>
      </moduleArtifactAdapter>
     </extension>


 <!-- ==================================================================== -->
<!-- Extension point: org.eclipse.etools.server.core.moduleObjectAdapters -->
<!-- Purpose: Define adapters for Web resources                           -->
<!-- ==================================================================== -->
      <extension point="org.eclipse.wst.server.core.moduleArtifactAdapters">  
    
       <moduleArtifactAdapter
            id="org.eclipse.jst.jee.web.server.webresource"
            class="org.eclipse.jst.jee.ui.internal.deployables.WebDeployableArtifactAdapterFactory">     
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jst.javaee.web.WebApp"/>
           </with>
         </enablement>
      </moduleArtifactAdapter> 
       
      <moduleArtifactAdapter
            id="org.eclipse.jst.jee.web.server.webresource2"
             class="org.eclipse.jst.jee.ui.internal.deployables.WebDeployableArtifactAdapterFactory">      
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jst.javaee.web.Servlet"/>
           </with>
         </enablement>
       </moduleArtifactAdapter>
      
       <moduleArtifactAdapter
            id="org.eclipse.jst.jee.web.server.webresource3"
            class="org.eclipse.jst.jee.ui.internal.deployables.WebDeployableArtifactAdapterFactory">     
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.core.resources.IProject">
             <test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.web:2.5" />
			 </adapt>
           </with>
         </enablement>
       </moduleArtifactAdapter>     
       
        <moduleArtifactAdapter
            id="org.eclipse.jst.jee.web.server.webresource4"
            class="org.eclipse.jst.jee.ui.internal.deployables.WebDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.core.resources.IFile">
             <test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.web:2.5" />
			 </adapt>
           </with>
         </enablement>
       </moduleArtifactAdapter>

      <moduleArtifactAdapter
            id="org.eclipse.jst.jee.web.server.webresource5"
            class="org.eclipse.jst.jee.ui.internal.deployables.WebDeployableArtifactAdapterFactory">
          
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jdt.core.ICompilationUnit">
             <test forcePluginActivation="true"
							property="org.eclipse.jst.j2ee.common.projectFacet"
							value="jst.web:2.5" />             
             </adapt>
           </with>
         </enablement>
       </moduleArtifactAdapter>
   </extension>
   
   <!-- ==================================================================== -->
<!-- Purpose: Define adapters for EJB resources                           -->
<!-- Extension point: org.eclipse.wst.server.core.moduleArtifactAdapters  -->
<!-- ==================================================================== -->
   <extension
         point="org.eclipse.wst.server.core.moduleArtifactAdapters">
       
      <moduleArtifactAdapter
            id="org.eclipse.jst.j2ee.server.ejb"
            class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jst.javaee.ejb.EJBJar"/>
           </with>
         </enablement>
      </moduleArtifactAdapter>
      <moduleArtifactAdapter
            id="org.eclipse.jst.j2ee.server.ejb2"
            class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jst.javaee.ejb.SessionBean"/>
           </with>
         </enablement>
      </moduleArtifactAdapter>
     
      <moduleArtifactAdapter
            id="org.eclipse.jst.jee.server.ejb3"
             class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jdt.core.ICompilationUnit"/>
           </with>
         </enablement>
      </moduleArtifactAdapter>
      <moduleArtifactAdapter
            id="org.eclipse.jst.jee.server.ejb4"
             class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.core.resources.IFile">
             <test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ejb:3.0" />
			 </adapt>
           </with>
         </enablement>
      </moduleArtifactAdapter>
      <moduleArtifactAdapter
            id="org.eclipse.jst.jee.server.ejb5"
             class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.core.resources.IProject">
              <test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ejb:3.0" />
			 </adapt>
           </with>
         </enablement>
      </moduleArtifactAdapter>
      
      <moduleArtifactAdapter
            id="org.eclipse.jst.j2ee.server.ejb6"
            class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jst.javaee.ejb.MessageDrivenBean"/>
           </with>
         </enablement>
      </moduleArtifactAdapter>
      
      <moduleArtifactAdapter
            id="org.eclipse.jst.j2ee.server.ejb7"
            class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory">
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jst.javaee.ejb.EntityBean"/>
           </with>
         </enablement>
      </moduleArtifactAdapter>
      </extension>
   <extension
         point="org.eclipse.wst.server.core.moduleArtifactAdapters">
      <moduleArtifactAdapter
            class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory"
            id="org.eclipse.jst.jee.server.ejb">
         <enablement>
            <with
                  variable="selection">
               <adapt
                     type="org.eclipse.core.resources.IProject">
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.wst.common.project.facet.core.projectFacet"
                        value="jst.ejb:3.0">
                  </test>
               </adapt>
            </with>
         </enablement>
      </moduleArtifactAdapter>
      <moduleArtifactAdapter
            class="org.eclipse.jst.jee.ui.internal.deployables.EJBDeployableArtifactAdapterFactory"
            id="org.eclipse.jst.jee.server.ejb77">
         <enablement>
            <with
                  variable="selection">
               <instanceof
                     value="org.eclipse.jst.jee.ui.internal.navigator.ejb.GroupEJBProvider">
               </instanceof>
            </with>
         </enablement>
      </moduleArtifactAdapter>
   </extension>
  
  <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            id="org.eclipse.jst.jee.ui.CreateDeploymentFilesAction">
         <action
               class="org.eclipse.jst.jee.ui.internal.CreateDeploymentFilesActionDelegate"
               enablesFor="1"
               icon="icons/full/ctool16/dep_desc.gif"
               id="createDeploymentFiles"
               label="%create_deploy_files"
               menubarPath="javeeUIPopupMenuCategory/slot2">
		</action>
        <enablement>
            <or>
               	  <adapt type="org.eclipse.core.resources.IProject">
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ejb:[3.0" />
				  </adapt>
				  <adapt type="org.eclipse.core.resources.IProject">
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.web:[2.5" />
				  </adapt>
				  <adapt type="org.eclipse.core.resources.IProject">
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ear:[5.0" />
				  </adapt>
				  <adapt type="org.eclipse.core.resources.IProject">
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.appclient:[5.0" />
				  </adapt>
		    </or>
         </enablement>         		   		
      </objectContribution>
      <objectContribution
            id="show_dep_prop_page"
            nameFilter="*"
            objectClass="org.eclipse.jst.jee.ui.internal.navigator.ear.ModulesNode">
         <action
               class="org.eclipse.jst.jee.ui.internal.navigator.ear.ShowDepPropPageAction"
               enablesFor="1"
               id="show_dep_prop_page"
               label="Add/Remove"
               menubarPath="additions">
         </action>
      </objectContribution>
   </extension>
   
   <!--
     <extension
         point="org.eclipse.wst.common.frameworks.OperationExtension"
         id="org.eclipse.wst.common.frameworks.datamodel.tests.extended">
      <operationExtension
            id="org.eclipse.jst.jee.ui.internal.CreateDeploymentFilesDataModelOperation"
            postOperationClass="org.eclipse.wst.common.frameworks.datamodel.tests.extended.B"
            preOperationClass="org.eclipse.wst.common.frameworks.datamodel.tests.extended.A"/>
 
 	</extension>
    -->
    <extension  
	  point="org.eclipse.ui.navigator.navigatorContent">
   <navigatorContent
         activeByDefault="true"
         contentProvider="org.eclipse.jst.jee.ui.internal.navigator.Ejb3ContentProvider"
         icon="icons/ejbgroup_obj.gif"
         id="org.eclipse.jst.jee.ui.ejb"
         labelProvider="org.eclipse.jst.jee.ui.internal.navigator.Ejb3LabelProvider"
         name="JEE Navigator Content EJB"
         priority="highest">
     <triggerPoints>
        <or>
           <adapt type="org.eclipse.core.resources.IProject">
              <or>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.ejb:3.0"/>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.appclient:5.0">
                 </test>
              </or>
           </adapt>
			<instanceof value="org.eclipse.jst.jee.ui.internal.navigator.AbstractDDNode" />
		 	<instanceof value="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanNode" />
  			<instanceof value="org.eclipse.jst.javaee.core.JavaEEObject" />
   <instanceof
         value="org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider">
   </instanceof>
   <instanceof
         value="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
   </instanceof>
        </or>
     </triggerPoints>
     <possibleChildren>
        <or>
			<instanceof value="org.eclipse.jst.jee.ui.internal.navigator.AbstractDDNode" />
		 	<instanceof value="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanNode" />
  			<instanceof value="org.eclipse.jst.javaee.core.JavaEEObject" />
   <instanceof
         value="org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider">
   </instanceof>
        </or>
     </possibleChildren>
    

     <commonWizard
           menuGroupId="org.eclipse.jst.ejb.ui"
           type="new"
           wizardId="org.eclipse.jst.ejb.ui.internal.wizard.AddSessionBeanWizard">
        <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.ejb.GroupEJBProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.ejb.GroupEjbSession">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.javaee.ejb.SessionBean">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanInterfaceNode">
              </instanceof>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanNode">
                 <or>
                    <test
                          forcePluginActivation="true"
                          property="org.eclipse.jst.jee.ui.beanType"
                          value="isSessionBean">
                    </test>
                 </or>
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ejb.ui"
           type="new"
           wizardId="org.eclipse.jst.ejb.ui.internal.wizard.AddMessageDrivenBeanWizard">
        <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.ejb.GroupEJBProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.ejb.GroupEjbMessageDriven">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.javaee.ejb.MessageDrivenBean">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.ejb.ActivationConfigProperties">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.javaee.ejb.ActivationConfigProperty">
              </instanceof>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanNode">
                 <or>
                    <test
                          forcePluginActivation="true"
                          property="org.eclipse.jst.jee.ui.beanType"
                          value="isMessageDrivenBean">
                    </test>
                 </or>
              </adapt>
           </or></enablement>
     </commonWizard>
     
     
     <actionProvider
           class="org.eclipse.jst.jee.ui.internal.navigator.JEEActionProvider"
           id="org.eclipse.jst.javaee.ui.JEEActionProvider">
        <enablement>
           <or>
              <instanceof value="org.eclipse.jst.jee.ui.internal.navigator.AbstractDDNode"/>
              <instanceof value="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanNode"/>
              <instanceof value="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanInterfaceNode"/>
              <instanceof value="org.eclipse.jst.javaee.core.JavaEEObject" />
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.appclient.GroupAppClientProvider">
              </instanceof>
           </or>
        </enablement>
     </actionProvider>
     

     <actionProvider
			class="org.eclipse.ui.internal.navigator.resources.actions.NewActionProvider"
			id="org.eclipse.ui.navigator.resources.JEENewActions">
			<enablement>
    <or>
       <instanceof
             value="org.eclipse.jst.jee.ui.internal.navigator.AbstractDDNode">
       </instanceof>
       <instanceof
             value="org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider">
       </instanceof>

       <instanceof
             value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
       </instanceof>
       <instanceof
             value="org.eclipse.jst.jee.ui.internal.navigator.web.AbstractSubWebProviders">
       </instanceof>
       <instanceof
             value="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
       </instanceof></or>
			</enablement>
	 </actionProvider>
    
     <actionProvider
           class="org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider"
           id="org.eclipse.ui.navigator.resources.actions.JEEResourceMgmtAction">
        <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.AbstractDDNode">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider">
              </instanceof>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>

           </or>
        </enablement>
     </actionProvider>
     <actionProvider
           class="org.eclipse.ui.internal.navigator.resources.actions.WorkManagementActionProvider"
           id="org.eclipse.ui.internal.navigator.resources.actions.JEEWorkMgmtAction">
           <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.AbstractDDNode">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider">
              </instanceof>

		       <instanceof
		             value="org.eclipse.jst.javaee.core.JavaEEObject">
		       </instanceof>
         <adapt
               type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
         </adapt>

           </or>
        </enablement>
     </actionProvider>
     <actionProvider
           class="org.eclipse.ui.internal.navigator.resources.actions.PortingActionProvider"
           id="org.eclipse.ui.internal.navigator.resources.actions.JEEPortingAction">
           <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.AbstractDDNode">
              </instanceof>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>

           </or>
        </enablement>
     </actionProvider>
     <commonWizard
           menuGroupId="org.eclipse.jst.ejb.export1"
           type="export"
           wizardId="org.eclipse.jst.ejb.ui.internal.wizard.EJBComponentExportWizard">
        <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.ejb.GroupEJBProvider">
              </instanceof>
           </or>
        </enablement>
     </commonWizard>
     	 
     	 
  </navigatorContent>
  
  <navigatorContent
        contentProvider="org.eclipse.jst.jee.ui.internal.navigator.Web25ContentProvider"
        icon="icons/webgroup_obj.gif"
        id="org.eclipse.jst.jee.ui.web"
        labelProvider="org.eclipse.jst.jee.ui.internal.navigator.Web25LabelProvider"
        name="JEE Navigator Content WEB"
        priority="highest">
     <triggerPoints>
        <or>
           <adapt type="org.eclipse.core.resources.IProject">
              <or>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.web:2.5"/>
              </or>
           </adapt>
   <instanceof
         value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
   </instanceof>
   <instanceof
         value="org.eclipse.jst.jee.ui.internal.navigator.web.AbstractSubWebProviders">
   </instanceof>
        </or>
     </triggerPoints>
     <possibleChildren>
        <or>
           <instanceof
                 value="org.eclipse.jst.jee.ui.internal.navigator.web.AbstractSubWebProviders">
           </instanceof>
           <instanceof
                 value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
           </instanceof>
        </or>
     </possibleChildren>
     
     
     <actionProvider
           class="org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider"
           id="org.eclipse.ui.internal.navigator.resources.actions.JEEWebResourceMgmtAction">
        <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.AbstractSubWebProviders">
              </instanceof>
              <!--<instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
              </instanceof>-->
           </or>
        </enablement>
     </actionProvider>
     <actionProvider
           class="org.eclipse.ui.internal.navigator.resources.actions.WorkManagementActionProvider"
           id="org.eclipse.ui.internal.navigator.resources.actions.JEEWebWrkMngmntAction">
           <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.AbstractSubWebProviders">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
              </instanceof>

		       <instanceof
		             value="org.eclipse.jst.javaee.core.JavaEEObject">
		       </instanceof>

           </or>
        </enablement>
     </actionProvider>
     <actionProvider
           class="org.eclipse.ui.internal.navigator.resources.actions.PortingActionProvider"
           id="org.eclipse.ui.internal.navigator.resources.actions.JEEWebPortingAction">
           <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.AbstractSubWebProviders">
              </instanceof>
              <!--
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
              </instanceof>-->
           </or>
        </enablement>
     </actionProvider>
     
     <commonWizard
           menuGroupId="org.eclipse.wst.web.ui.webclass"
           type="new"
           wizardId="org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard">
        <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.GroupServletItemProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.javaee.web.Servlet">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.GroupServletMappingItemProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.javaee.web.ServletMapping">
              </instanceof>
           </or></enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.wst.web.ui.webclass"
           type="new"
           wizardId="org.eclipse.jst.servlet.ui.internal.wizard.AddFilterWizard">
        <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.GroupFiltersItemProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.javaee.web.Filter">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.GroupFilterMappingItemProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.javaee.web.FilterMapping">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.javaee.web.Servlet">
              </instanceof>
           </or></enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.wst.web.ui.webclass"
           type="new"
           wizardId="org.eclipse.jst.servlet.ui.internal.wizard.AddListenerWizard">
        <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.GroupListenerItemProvider">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.javaee.core.Listener">
              </instanceof>
           </or></enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.wst.web.export"
           type="export"
           wizardId="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentExportWizard">
        <enablement>
           <or>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider">
              </instanceof>
           </or>
        </enablement>
     </commonWizard>
  </navigatorContent>
  <navigatorContent
        activeByDefault="true"
        contentProvider="org.eclipse.jst.jee.ui.internal.navigator.Ear5ContentProvider"
        icon="icons/eargroup_obj.gif"
        id="org.eclipse.jst.jee.ui.ear"
        labelProvider="org.eclipse.jst.jee.ui.internal.navigator.Ear5LabelProvider"
        name="JEE Navigator Content EAR"
        priority="highest">
     <triggerPoints>
        <or>
           <instanceof
                 value="org.eclipse.core.resources.IProject">
           </instanceof>
           <instanceof
                 value="org.eclipse.jst.jee.ui.internal.navigator.ear.BundledNode">
           </instanceof>
           <adapt
                 type="org.eclipse.core.resources.IProject">
              <test
                    forcePluginActivation="true"
                    property="org.eclipse.wst.common.project.facet.core.projectFacet"
                    value="jst.ear:5.0">
              </test>
           </adapt>
           <instanceof
                 value="org.eclipse.jst.jee.ui.internal.navigator.ear.ModulesNode">
           </instanceof>
           <instanceof
                 value="org.eclipse.jst.jee.ui.internal.navigator.ear.BundledLibsNode">
           </instanceof>
        </or>
     </triggerPoints>
     <possibleChildren>
        <or>
           <instanceof
                 value="java.io.File">
           </instanceof>
           <adapt
                 type="org.eclipse.core.resources.IProject">
              <or>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.web">
                 </test>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.ejb">
                 </test>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.utility">
                 </test>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.ear">
                 </test>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.appclient">
                 </test>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.connector">
                 </test>
              </or>
           </adapt>
           <instanceof
                 value="org.eclipse.jst.jee.ui.internal.navigator.ear.ModulesNode"/>
           <instanceof
                 value="org.eclipse.jst.jee.ui.internal.navigator.ear.BundledNode"/>
           <instanceof
                 value="org.eclipse.core.internal.resources.File">
           </instanceof>
           <instanceof
                 value="org.eclipse.jdt.internal.core.JarPackageFragmentRoot">
           </instanceof>
           <instanceof
                 value="org.eclipse.core.internal.resources.Project">
           </instanceof>
           <instanceof
                 value="org.eclipse.wst.common.componentcore.resources.IVirtualReference">
           </instanceof>
        </or>
     </possibleChildren>
     <commonSorter
           class="org.eclipse.jst.jee.ui.internal.navigator.ear.Application5ViewerSorter"
           id="org.eclipse.jst.jee.navigator.internal.ApplicationViewerSorter">
     </commonSorter>
     <dropAssistant
           class="org.eclipse.jst.jee.ui.internal.navigator.dnd.AddProjectToEARDropAssistant"
           id="org.eclipse.jst.jee.navigator.ui.AddModulesToEAR">
        <possibleDropTargets>
           <or>
              <adapt
                    type="org.eclipse.core.resources.IProject">
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.ear">
                 </test>
              </adapt>
              <instanceof
                    value="org.eclipse.jst.javaee.application.Application">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.ear.AbstractEarNode">
              </instanceof>
              <instanceof
                    value="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </instanceof>
           </or>
        </possibleDropTargets>
     </dropAssistant>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui"
           type="new"
           wizardId="org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or></enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui"
           type="new"
           wizardId="org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui"
           type="new"
           wizardId="org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui"
           type="new"
           wizardId="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui"
           type="new"
           wizardId="org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui.export"
           type="export"
           wizardId="org.eclipse.jst.j2ee.internal.wizard.EARComponentExportWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui.import"
           type="import"
           wizardId="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentImportWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui.import"
           type="import"
           wizardId="org.eclipse.jst.j2ee.internal.wizard.EARComponentImportWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui.import"
           type="import"
           wizardId="org.eclipse.jst.j2ee.internal.wizard.J2EEUtilityJarImportWizardNew">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui.import"
           type="import"
           wizardId="org.eclipse.jst.ejb.ui.internal.wizard.EJBComponentImportWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui.import"
           type="import"
           wizardId="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentImportWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
     <commonWizard
           menuGroupId="org.eclipse.jst.ear.ui.import"
           type="import"
           wizardId="org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorComponentImportWizard">
        <enablement>
           <or>
              <adapt
                    type="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
              </adapt>
           </or>
        </enablement>
     </commonWizard>
  </navigatorContent>
  <navigatorContent
        activeByDefault="true"
        contentProvider="org.eclipse.jst.jee.ui.internal.navigator.AppClient5ContentProvider"
        icon="icons/appclientgroup_obj.gif"
        id="org.eclipse.jst.jee.ui.appclient"
        labelProvider="org.eclipse.jst.jee.ui.internal.navigator.AppClient5LabelProvider"
        name="JEE Navigator Content App Client"
        priority="highest">
     <triggerPoints>
        <or>
           <instanceof
                 value="org.eclipse.core.resources.IProject">
           </instanceof>
           <adapt
                 type="org.eclipse.core.resources.IProject">
              <test
                    forcePluginActivation="true"
                    property="org.eclipse.wst.common.project.facet.core.projectFacet"
                    value="jst.appclient:5.0">
              </test>
           </adapt>
           <instanceof
                 value="org.eclipse.jst.javaee.core.JavaEEObject">
           </instanceof>
        </or>
     </triggerPoints>
     <possibleChildren>
        <or>
           <instanceof
                 value="org.eclipse.jst.javaee.core.JavaEEObject">
           </instanceof>
           <adapt
                 type="org.eclipse.core.resources.IProject">
              <or>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.common.project.facet.core.projectFacet"
                       value="jst.appclient:5.0">
                 </test>
              </or>
           </adapt>
        </or>
     </possibleChildren>
  </navigatorContent>
	</extension>
   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="org.eclipse.jst.jee.ui.internal.navigator.ejb.GroupEJBProvider"
            class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
         <adapter
               type="org.eclipse.debug.ui.actions.ILaunchable">
         </adapter>
      </factory>
      <factory
            adaptableType="org.eclipse.jst.javaee.core.JavaEEObject"
            class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
         <adapter
               type="org.eclipse.debug.ui.actions.ILaunchable">
         </adapter>
      </factory>
      <factory
            adaptableType="org.eclipse.jst.jee.ui.internal.navigator.web.WebAppProvider"
            class="org.eclipse.jst.jee.ui.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
         <adapter
               type="org.eclipse.debug.ui.actions.ILaunchable">
         </adapter>
      </factory>
      
    
    <factory
          adaptableType="org.eclipse.jst.javaee.core.JavaEEObject"
          class="org.eclipse.jst.j2ee.navigator.internal.J2EEEMFAdapterFactory">
       <adapter type="org.eclipse.core.resources.IResource"/>
    </factory>
      
   </extension>
   <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewerActionBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
         <includes>
            <actionExtension pattern="org.eclipse.jst.javaee.ui.JEEActionProvider"/>
         </includes>
      </viewerActionBinding>
   </extension>
   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            adaptable="true"
            location="TOP_RIGHT"
            lightweight="true"
            label="%ENTERPRISE_BEAN_DECORATOR"
            state="true"
            class="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanDecorator"
            id="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanDecorator">
         <enablement>
           <or>
            <objectClass
                  name="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanInterfaceNode">
            </objectClass>
            <objectClass
                  name="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanNode">
            </objectClass>
           </or>
         </enablement>
         <description>
            %ENTERPRISE_BEAN_DECORATOR.DESCRIPTION
         </description>
      </decorator>
   </extension>  
      <extension
   		 point="org.eclipse.ui.navigator.viewer">
      <viewerContentBinding
         viewerId="org.eclipse.ui.navigator.ProjectExplorer">
         <includes>
           <contentExtension pattern="org.eclipse.jst.jee.ui.*"/>
           <contentExtension pattern="org.eclipse.jst.jee.ui.filters.*"/>
           <contentExtension
                 pattern="org.eclipse.jst.jee.ui.internal.navigator.*">
           </contentExtension>
         </includes>
      </viewerContentBinding>
   </extension>
   
      
<!-- ====================================================== -->
<!--           Label Decorators                             -->
<!-- ====================================================== -->
   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            adaptable="true"
            location="TOP_LEFT"
            lightweight="true"
            label="%jeeProjectDecorator"
            state="true"
            class="org.eclipse.jst.j2ee.navigator.internal.J2EEProjectDecorator"
            id="org.eclipse.jst.jee.navigator.internal.JEEProjectDecorator">
         <enablement>
           <or>
            <objectClass name="org.eclipse.core.resources.IProject"/>
            <objectClass name="org.eclipse.jdt.core.IJavaProject"/>
           </or>
         </enablement>
         <description>
            %jeeProjectDecorator.description
         </description>
      </decorator>
   </extension>
   
   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            adaptable="true"
            label="%JAVA_EE_5_PROBLEM_MARKER_RESOURCE_DECORATOR"
            state="true"
            class="org.eclipse.jdt.ui.ProblemsLabelDecorator"
            id="org.eclipse.jst.jee.navigator.ui.java.resource.decorator">
            <enablement>
                <objectClass name="org.eclipse.core.resources.IResource"/> 
            </enablement>
            <description>
               %JAVA_EE_5_PROBLEM_MARKER_RESOURCE_DECORATOR.DESCRIPTION
            </description>
      </decorator>
   </extension>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanNodePropertyTester"
            id="org.eclipse.jst.jee.ui.BeanNodePropertyTester"
            namespace="org.eclipse.jst.jee.ui"
            properties="beanType"
            type="org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanNode">
      </propertyTester>
   </extension>  
      
      
      
   </plugin>
