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

   <extension
   		 point="org.eclipse.ui.navigator.viewer">
      <viewerContentBinding
         viewerId="org.eclipse.ui.navigator.ProjectExplorer">
         <includes>
           <contentExtension pattern="org.eclipse.jst.navigator.j2ee.ui.*"/>
           <contentExtension pattern="org.eclipse.jst.j2ee.navigator.ui.filters.*"/>
         </includes>
      </viewerContentBinding>
   </extension>
   
   <extension
         point="org.eclipse.ui.navigator.navigatorContent">
	<navigatorContent name="%extension.application.name"
		priority="highest" icon="icons/eargroup_obj.gif"
		activeByDefault="true"
		contentProvider="org.eclipse.jst.j2ee.navigator.internal.EARContentProvider"
		labelProvider="org.eclipse.jst.j2ee.navigator.internal.J2EELabelProvider"
		id="org.eclipse.jst.navigator.j2ee.ui.EARDDContent">
		<triggerPoints>
			<or>
				<instanceof value="java.io.File" />
				<and>
					<instanceof value="org.eclipse.emf.ecore.EObject" />
					<or>
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="common.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="application.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="modulemap.xmi" />
					</or>
				</and>
				<and>
					<adapt type="org.eclipse.core.resources.IProject">
						<or>
							<test forcePluginActivation="true"
								property="org.eclipse.wst.common.project.facet.core.projectFacet"
								value="jst.ear:1.4]" />
						</or>
					</adapt>
				</and>
    <instanceof
          value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider">
    </instanceof>
    <instanceof
          value="org.eclipse.jst.j2ee.internal.provider.J2EEUtilityJarItemProvider">
    </instanceof>
    <instanceof
		value="org.eclipse.jst.j2ee.internal.provider.J2EEBinaryModulesItemProvider" />
    <instanceof
          value="org.eclipse.jst.j2ee.internal.provider.UtilityModuleProjectItemProvider">
    </instanceof>
			</or>
		</triggerPoints>
		<!--  The possibleChildren is more verbose to allow the drop handlers to be invoked for 
			children not provided by this extension
		-->
		<possibleChildren>
			<or>
				<instanceof value="java.io.File" />
				<adapt type="org.eclipse.core.resources.IProject">
					<or>
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.web" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ejb" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.utility" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ear" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.appclient" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.connector" />
					</or>
				</adapt>
				<and>
					<instanceof value="org.eclipse.emf.ecore.EObject" />
					<or>
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="common.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="application.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="client.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="modulemap.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="ejb.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="jca.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="webapplication.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="jsp.xmi" />
					</or>
				</and>
			</or>
		</possibleChildren>
		<commonSorter
		    id="org.eclipse.jst.j2ee.navigator.internal.ApplicationViewerSorter"
			class="org.eclipse.jst.j2ee.navigator.internal.ApplicationViewerSorter" />
		<!--  Handle open requests -->
		<actionProvider
			class="org.eclipse.jst.j2ee.navigator.internal.J2EEActionProvider"
			id="org.eclipse.jst.j2ee.navigator.ui.EARActionProvider">
			<enablement>
				<or>
					<and>
						<instanceof
							value="org.eclipse.emf.ecore.EObject" />
						<or>
							<test forcePluginActivation="true"
								property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
								value="common.xmi" />
							<test forcePluginActivation="true"
								property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
								value="application.xmi" />
							<test forcePluginActivation="true"
								property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
								value="modulemap.xmi" />
						</or>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider" />
				</or>
			</enablement>
		</actionProvider>
		<dropAssistant
			class="org.eclipse.jst.j2ee.navigator.internal.dnd.AddProjectToEARDropAssistant"
			id="org.eclipse.jst.j2ee.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" />
					</adapt>
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
				</or>
			</possibleDropTargets>
		</dropAssistant>
		<dropAssistant
			class="org.eclipse.jst.j2ee.navigator.internal.dnd.ImportJ2EEModuleDropAssistant"
			id="org.eclipse.jst.j2ee.navigator.ui.ImportJ2EEModule">
			<possibleDropTargets>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<adapt type="org.eclipse.core.resources.IProject">
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ear" />
					</adapt>
				</or>
			</possibleDropTargets>
		</dropAssistant>

		<!-- EAR New -->
		<commonWizard
        menuGroupId="org.eclipse.jst.j2ee.ui.newProjects"
        type="new"
        wizardId="org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ejb" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.connector" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.utility" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.web" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>
		<!-- EAR Import -->
		<commonWizard type="import"
			wizardId="org.eclipse.jst.j2ee.internal.wizard.EARComponentImportWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.web" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>
		<!-- Utility Jar Import -->
		<commonWizard type="import"
			wizardId="org.eclipse.jst.j2ee.internal.wizard.J2EEUtilityJarImportWizardNew">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<instanceof
						value="org.eclipse.jst.j2ee.application.Module" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>

		<!-- EAR export -->
		<commonWizard type="export"
			wizardId="org.eclipse.jst.j2ee.internal.wizard.EARComponentExportWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
				</or>
			</enablement>
		</commonWizard>

		<commonWizard
			menuGroupId="org.eclipse.jst.j2ee.ui.newProjects" 
			type="new"
			wizardId="org.eclipse.jpt.ui.wizard.newJpaProject">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
							</or>
						</adapt>
					</and>
				    <and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>											
				</or>
			</enablement>
		</commonWizard> 
	</navigatorContent>
	
	<navigatorContent name="%extension.appclient.name" priority="highest"
		icon="icons/appclientgroup_obj.gif" activeByDefault="true"
		contentProvider="org.eclipse.jst.j2ee.navigator.internal.J2EEContentProvider"
		labelProvider="org.eclipse.jst.j2ee.navigator.internal.J2EELabelProvider"
		id="org.eclipse.jst.navigator.j2ee.ui.AppClientContent">
		<triggerPoints>
			<or>
				<and>
					<instanceof value="org.eclipse.emf.ecore.EObject" />
					<or>
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="client.xmi" />
					</or>
				</and>
				<adapt type="org.eclipse.core.resources.IProject">
					<test forcePluginActivation="true"
						property="org.eclipse.wst.common.project.facet.core.projectFacet"
						value="jst.appclient:1.4]" />
				</adapt>
			</or>
		</triggerPoints>
		<possibleChildren>
			<and>
				<instanceof value="org.eclipse.emf.ecore.EObject" />
				<or>
					<test forcePluginActivation="true"
						property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
						value="client.xmi" />
				</or>
			</and>
		</possibleChildren>
		<commonSorter
		    id="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter"
			class="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter" />
		<!--  Handle open requests -->
		<actionProvider
			class="org.eclipse.jst.j2ee.navigator.internal.J2EEActionProvider"
			id="org.eclipse.jst.j2ee.navigator.ui.AppClientActionProvider">
			<enablement>
				<or>
					<and>
						<instanceof
							value="org.eclipse.emf.ecore.EObject" />
						<or>
							<test forcePluginActivation="true"
								property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
								value="client.xmi" />
						</or>
					</and>
				</or>
			</enablement>
		</actionProvider>
		
		<!-- AppClient New -->
		<commonWizard
        menuGroupId="org.eclipse.jst.j2ee.ui.newProjects"
        type="new"
        wizardId="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.appclient" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>
		<!-- App Client Import -->
		<commonWizard type="import"
			wizardId="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentImportWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>
		<!-- App Client export -->
		<commonWizard type="export"
			wizardId="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentExportWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.appclient" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.client.ApplicationClient" />
				</or>
			</enablement>
		</commonWizard>
	</navigatorContent>
		
	<navigatorContent name="%extension.web.name" priority="highest"
		icon="icons/webgroup_obj.gif" activeByDefault="true"
		contentProvider="org.eclipse.jst.j2ee.navigator.internal.J2EEContentProvider"
		labelProvider="org.eclipse.jst.j2ee.navigator.internal.J2EELabelProvider"
		id="org.eclipse.jst.navigator.j2ee.ui.WebDDContent">
		<triggerPoints>
			<or>
				<and>
					<instanceof value="org.eclipse.emf.ecore.EObject" />
					<or>
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="webapplication.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="jsp.xmi" />
					</or>
				</and>
				<adapt type="org.eclipse.core.resources.IProject">
					<test forcePluginActivation="true"
						property="org.eclipse.wst.common.project.facet.core.projectFacet"
						value="jst.web:2.4]" />
				</adapt>
    <instanceof
          value="org.eclipse.jst.j2ee.internal.war.ui.util.WebGroupItemProvider">
    </instanceof>
			</or>
		</triggerPoints>
		<possibleChildren>
		  <or>
			<and>
				<instanceof value="org.eclipse.emf.ecore.EObject"/>
				<or>
					<test forcePluginActivation="true"
						property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
						value="webapplication.xmi" />
					<test forcePluginActivation="true"
						property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
						value="jsp.xmi" />
				</or>
			</and>
		  </or>
		</possibleChildren>
		<commonSorter
		    id="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter"
			class="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter" />
		<!--  Handle open requests -->
		<actionProvider
			class="org.eclipse.jst.j2ee.navigator.internal.J2EEActionProvider"
			id="org.eclipse.jst.j2ee.navigator.ui.WebActionProvider">
			<enablement>
				<and>
					<instanceof value="org.eclipse.emf.ecore.EObject" />
					<or>
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="webapplication.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="jsp.xmi" />
					</or>
				</and>
			</enablement>
		</actionProvider>
		<actionProvider
			class="org.eclipse.ui.internal.navigator.resources.actions.NewActionProvider"
			id="org.eclipse.jst.j2ee.navigator.internal.WebNewActionProvider">
			<enablement>
				<instanceof value="org.eclipse.jst.j2ee.internal.war.ui.util.WebGroupItemProvider"/>
			</enablement>
		</actionProvider>

		<!-- Web New -->
		<commonWizard
        menuGroupId="org.eclipse.jst.j2ee.ui.newProjects"
        type="new"
        wizardId="org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.web" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.web" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>
		
		
		<!-- Web Fragment New -->
		<commonWizard type="new"
			menuGroupId="org.eclipse.jst.j2ee.ui.newProjects"
			wizardId="org.eclipse.jst.servlet.ui.project.facet.WebFragmentProjectWizard">
			<enablement>
			   <or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>							
			</enablement>
		</commonWizard>
		
		
		
		<!-- Web Import -->
		<commonWizard type="import"
			wizardId="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentImportWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.web" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>
		<!-- Web Export -->
		<commonWizard type="export"
			wizardId="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentExportWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.web" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.webapplication.WebApp" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.war.ui.util.WebGroupItemProvider" />
				</or>
			</enablement>
		</commonWizard>

		<!-- The contribution of the New *.jsp wizard to Files, Folders, and Projects 
			is handled in org.eclipse.jst.jsp.ui. This contribution adds the 
			wizard to the model elements contributed by the J2EE Content Provider -->
		<commonWizard
        menuGroupId="org.eclipse.wst.web.ui"
        type="new"
        wizardId="org.eclipse.jst.jsp.ui.internal.wizard.NewJSPWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.jst.j2ee.internal.war.ui.util.WebGroupItemProvider" />

					<instanceof
						value="org.eclipse.jst.j2ee.webapplication.WebApp" />

				</or>
			</enablement>
		</commonWizard>

		<!-- The contribution of the New *.html wizard to Files, Folders, and Projects 
			is handled in org.eclipse.jst.html.ui. This contribution adds the 
			wizard to the model elements contributed by the J2EE Content Provider -->
		<commonWizard
        menuGroupId="org.eclipse.wst.web.ui"
        type="new"
        wizardId="org.eclipse.wst.html.ui.internal.wizard.NewHTMLWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.jst.j2ee.internal.war.ui.util.WebGroupItemProvider" />
					<instanceof
						value="org.eclipse.jst.j2ee.webapplication.WebApp" />
				</or>
			</enablement>
		</commonWizard>
		
		<!-- New Servlet -->
		<commonWizard
        menuGroupId="org.eclipse.wst.web.ui.webclass"
        type="new"
        wizardId="org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard">
			<enablement>
				<or>
					<and>
						<adapt
							type="org.eclipse.core.resources.IResource">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.web"/>
							</or>
						</adapt>
						<or>
							<instanceof value="org.eclipse.core.resources.IProject"/>
							<instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
							<instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
							<instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
       <instanceof
             value="org.eclipse.jdt.core.IType">
       </instanceof>
       <adapt
             type="org.eclipse.core.resources.IResource">
          <and>
             <test
                   forcePluginActivation="true"
                   property="org.eclipse.core.resources.webResource">
             </test>
             <test
                   forcePluginActivation="true"
                   property="org.eclipse.core.resources.extension"
                   value="jsp">
             </test>
          </and>
       </adapt>
						</or>
					</and>
					<instanceof
						value="org.eclipse.jst.servlet.ui.internal.navigator.ICompressedNode"/>
					<instanceof
						value="org.eclipse.jst.j2ee.webapplication.WebApp"/>
					<instanceof
						value="org.eclipse.jst.j2ee.internal.war.ui.util.WebServletGroupItemProvider"/>
					<instanceof
						value="org.eclipse.jst.j2ee.webapplication.Servlet"/>
					<instanceof
						value="org.eclipse.jst.j2ee.internal.war.ui.util.WebServletMappingGroupItemProvider"/>
					<instanceof
						value="org.eclipse.jst.j2ee.webapplication.ServletMapping"/>
				</or>
			</enablement>
		</commonWizard>
		
		<!-- New Filter -->
		<commonWizard
        menuGroupId="org.eclipse.wst.web.ui.webclass"
        type="new"
        wizardId="org.eclipse.jst.servlet.ui.internal.wizard.AddFilterWizard">
			<enablement>
      <or>
         <and>
            <adapt
                  type="org.eclipse.core.resources.IResource">
               <test
                     forcePluginActivation="true"
                     property="org.eclipse.wst.common.project.facet.core.projectFacet"
                     value="jst.web:[2.3">
               </test>
            </adapt>
            <or>
               <instanceof
                     value="org.eclipse.core.resources.IProject">
               </instanceof>
               <instanceof
                     value="org.eclipse.jdt.core.IPackageFragmentRoot">
               </instanceof>
               <instanceof
                     value="org.eclipse.jdt.core.IPackageFragment">
               </instanceof>
               <instanceof
                     value="org.eclipse.jdt.core.ICompilationUnit">
               </instanceof>
               <instanceof
                     value="org.eclipse.jdt.core.IType">
               </instanceof>
               <instanceof
                     value="org.eclipse.jst.j2ee.webapplication.WebApp">
               </instanceof>
               <instanceof
                     value="org.eclipse.jst.j2ee.webapplication.Filter">
               </instanceof>
               <instanceof
                     value="org.eclipse.jst.j2ee.webapplication.FilterMapping">
               </instanceof>
               <instanceof
                     value="org.eclipse.jst.j2ee.webapplication.Servlet">
               </instanceof>
               <test
                     forcePluginActivation="true"
                     property="org.eclipse.core.resources.webResource">
               </test>
            </or>
         </and>
         <and>
            <or>
               <instanceof
                     value="org.eclipse.jst.j2ee.internal.war.ui.util.WebFiltersGroupItemProvider">
               </instanceof>
               <instanceof
                     value="org.eclipse.jst.j2ee.internal.war.ui.util.WebFilterMappingGroupItemProvider">
               </instanceof>
            </or>
            <test
                  forcePluginActivation="true"
                  property="org.eclipse.jst.j2ee.provider.projectFacet"
                  value="jst.web:[2.3">
            </test></and>
         <and>
            <instanceof
                  value="org.eclipse.jst.servlet.ui.internal.navigator.ICompressedNode">
            </instanceof>
            <test
                  forcePluginActivation="true"
                  property="org.eclipse.jst.servlet.ui.navigator.projectFacet"
                  value="jst.web:[2.3">
            </test>
         </and>
      </or>
			</enablement>
		</commonWizard>
		
		<!-- New Listener -->
		<commonWizard
        menuGroupId="org.eclipse.wst.web.ui.webclass"
        type="new"
        wizardId="org.eclipse.jst.servlet.ui.internal.wizard.AddListenerWizard">
			<enablement>
    <or>
       <and>
          <adapt
                type="org.eclipse.core.resources.IResource">
             <test
                   forcePluginActivation="true"
                   property="org.eclipse.wst.common.project.facet.core.projectFacet"
                   value="jst.web:[2.3">
             </test>
          </adapt>
          <or>
             <instanceof
                   value="org.eclipse.core.resources.IProject">
             </instanceof>
             <instanceof
                   value="org.eclipse.jdt.core.IPackageFragmentRoot">
             </instanceof>
             <instanceof
                   value="org.eclipse.jdt.core.IPackageFragment">
             </instanceof>
             <instanceof
                   value="org.eclipse.jdt.core.ICompilationUnit">
             </instanceof>
             <instanceof
                   value="org.eclipse.jdt.core.IType">
             </instanceof>
             <instanceof
                   value="org.eclipse.jst.j2ee.webapplication.WebApp">
             </instanceof>
             <instanceof
                   value="org.eclipse.jst.j2ee.common.Listener">
             </instanceof>
          </or>
       </and>
       <and>
          <instanceof
                value="org.eclipse.jst.j2ee.internal.war.ui.util.WebListenerGroupItemProvider">
          </instanceof>
          <test
                forcePluginActivation="true"
                property="org.eclipse.jst.j2ee.provider.projectFacet"
                value="jst.web:[2.3">
          </test>
       </and>
       <and>
          <instanceof
                value="org.eclipse.jst.servlet.ui.internal.navigator.ICompressedNode">
          </instanceof>
          <test
                forcePluginActivation="true"
                property="org.eclipse.jst.servlet.ui.navigator.projectFacet"
                value="jst.web:[2.3">
          </test>
       </and>
    </or>
			</enablement>
		</commonWizard>
	</navigatorContent>
	<navigatorContent name="%extension.ejb.name" priority="highest"
		icon="icons/ejbgroup_obj.gif" activeByDefault="true"
		contentProvider="org.eclipse.jst.j2ee.navigator.internal.J2EEContentProvider"
		labelProvider="org.eclipse.jst.j2ee.navigator.internal.J2EELabelProvider"
		id="org.eclipse.jst.navigator.j2ee.ui.EJBDDContent">
		<triggerPoints>
			<or>
				<and>
					<instanceof value="org.eclipse.emf.ecore.EObject" />
					<test forcePluginActivation="true"
						property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
						value="ejb.xmi" />
				</and>
				<and>
					<adapt type="org.eclipse.core.resources.IProject"> 
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ejb:2.1]" />
					</adapt>
				</and>
    <instanceof
          value="org.eclipse.jst.j2ee.internal.ejb.provider.J2EEJavaClassProviderHelper">
    </instanceof>
    <instanceof
          value="org.eclipse.jst.j2ee.internal.ejb.provider.GroupedEJBItemProvider">
    </instanceof>
    <instanceof
          value="org.eclipse.jst.j2ee.navigator.internal.LoadingDDNode">
    </instanceof>
			</or>
		</triggerPoints>
		<possibleChildren>
			<or>
				<and>
					<instanceof value="org.eclipse.emf.ecore.EObject" />
					<or>
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="ejb.xmi" />
					</or>
				</and>
				<instanceof value="org.eclipse.jst.j2ee.internal.ejb.provider.J2EEJavaClassProviderHelper"/>
    <instanceof value="org.eclipse.jst.j2ee.internal.ejb.provider.GroupedEJBItemProvider"/>
			</or>
   <instanceof value="org.eclipse.jst.j2ee.navigator.internal.LoadingDDNode"/>
		</possibleChildren>
		<commonSorter
		    id="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter"
			class="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter" />
		<!--  Handle open requests -->
		<actionProvider
			class="org.eclipse.jst.j2ee.navigator.internal.J2EEActionProvider"
			id="org.eclipse.jst.j2ee.navigator.ui.EJBActionProvider">
			<enablement>
				<or>
					<and>
						<instanceof value="org.eclipse.emf.ecore.EObject" />
						<test forcePluginActivation="true"
								property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
								value="ejb.xmi" />
					</and>
					<instanceof value="org.eclipse.jst.j2ee.internal.ejb.provider.J2EEJavaClassProviderHelper"/>
				</or>
			</enablement>
		</actionProvider>
		<!--  By default, anything that can adapt to an IResource gets  New Action Provider (from the Resources extension),
			so we just need to add one for the EJB Item Providers (the groupings in the tree) 
		-->
		<actionProvider
			class="org.eclipse.ui.internal.navigator.resources.actions.NewActionProvider"
			id="org.eclipse.jst.j2ee.navigator.internal.EjbNewActionProvider">
			<enablement>
				<instanceof
					value="org.eclipse.jst.j2ee.internal.ejb.provider.GroupedEJBItemProvider" />
			</enablement>
		</actionProvider>

		<!-- EJB New -->
		<commonWizard
        menuGroupId="org.eclipse.jst.j2ee.ui.newProjects"
        type="new"
        wizardId="org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ejb" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>
		<!-- EJB Import -->
		<commonWizard type="import"
			wizardId="org.eclipse.jst.ejb.ui.internal.wizard.EJBComponentImportWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ejb" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>
		<!-- EJB Export -->
		<commonWizard type="export"
			wizardId="org.eclipse.jst.ejb.ui.internal.wizard.EJBComponentExportWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ejb" />
							</or>
						</adapt>
					</and>
					<instanceof value="org.eclipse.jst.j2ee.ejb.EJBJar" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.ejb.provider.GroupedEJBItemProvider" />
				</or>
			</enablement>
		</commonWizard>

		<!-- Add Enterprise Bean -->
		<commonWizard
        menuGroupId="org.eclipse.jst.ejb.ui"
        type="new"
        wizardId="org.eclipse.jst.j2ee.ejb.annotation.ui.internal.wizards.AddEjbWizard">
			<enablement>
				<or>
					<adapt
						type="org.eclipse.core.resources.IProject">
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jst.ejb.xdoclet" />
					</adapt>
					<and>
						<instanceof
							value="org.eclipse.jst.j2ee.ejb.EJBJar" />
						<adapt
							type="org.eclipse.core.resources.IResource">
							<test forcePluginActivation="true"
								property="org.eclipse.wst.common.project.facet.core.projectFacet"
								value="jst.ejb.xdoclet" />
						</adapt>
					</and>
					<and>
						<instanceof
							value="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider" />
						<test forcePluginActivation="true"
							property="org.eclipse.jst.j2ee.provider.projectFacet"
							value="jst.ejb.xdoclet" />
					</and>
				</or>
			</enablement>
		</commonWizard>
  		<commonWizard
        		menuGroupId="org.eclipse.jst.ejb.ui"
        		type="new"
        		wizardId="org.eclipse.jst.ejb.ui.internal.wizard.AddSessionBeanWizard">
     		<enablement>
				<or>
					<and>
						<adapt
							type="org.eclipse.core.resources.IResource">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ejb:[3.0"/>
							</or>
						</adapt>
						<or>
							<instanceof value="org.eclipse.core.resources.IProject"/>
							<instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
							<instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
							<instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
						</or>
					</and>
					<and>
						<instanceof
							value="org.eclipse.jst.j2ee.ejb.EJBJar" />
						<adapt
							type="org.eclipse.core.resources.IResource">
							<test forcePluginActivation="true"
								property="org.eclipse.wst.common.project.facet.core.projectFacet"
								value="jst.ejb:[3.0" />
						</adapt>
					</and>
					<and>
						<instanceof
							value="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider" />
						<test forcePluginActivation="true"
							property="org.eclipse.jst.j2ee.provider.projectFacet"
							value="jst.ejb.xdoclet" />
					</and>
				</or>
			</enablement>
  		</commonWizard>
    <commonWizard
          menuGroupId="org.eclipse.jst.ejb.ui"
          type="new"
          wizardId="org.eclipse.jst.ejb.ui.internal.wizard.AddMessageDrivenBeanWizard">
       <enablement>
          <or>
             <and>
                <adapt
                      type="org.eclipse.core.resources.IResource">
                   <or>
                      <test
                            forcePluginActivation="true"
                            property="org.eclipse.wst.common.project.facet.core.projectFacet"
                            value="jst.ejb:[3.0">
                      </test>
                   </or>
                </adapt>
                <or>
                   <instanceof
                         value="org.eclipse.core.resources.IProject">
                   </instanceof>
                   <instanceof
                         value="org.eclipse.jdt.core.IPackageFragment">
                   </instanceof>
                   <instanceof
                         value="org.eclipse.jdt.core.IPackageFragmentRoot">
                   </instanceof>
                   <instanceof
                         value="org.eclipse.jdt.core.ICompilationUnit">
                   </instanceof>
                </or>
             </and>
             <and>
                <instanceof
                      value="org.eclipse.jst.j2ee.ejb.EJBJar">
                </instanceof>
                <adapt
                      type="org.eclipse.core.resources.IResource">
                   <test
                         forcePluginActivation="true"
                         property="org.eclipse.wst.common.project.facet.core.projectFacet"
                         value="jst.ejb:[3.0">
                   </test>
                </adapt>
             </and>
             <and>
                <instanceof
                      value="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider">
                </instanceof>
                <test
                      forcePluginActivation="true"
                      property="org.eclipse.jst.j2ee.provider.projectFacet"
                      value="jst.ejb.xdoclet">
                </test>
             </and>
          </or>
       </enablement>
    </commonWizard>
	</navigatorContent>
	<navigatorContent name="%extension.connector.name"
		priority="highest" icon="icons/connectorgroup_obj.gif"
		activeByDefault="true"
		contentProvider="org.eclipse.jst.j2ee.navigator.internal.J2EEContentProvider"
		labelProvider="org.eclipse.jst.j2ee.navigator.internal.J2EELabelProvider"
		id="org.eclipse.jst.navigator.j2ee.ui.ConnectorDDContent">
		<triggerPoints>
			<or>
				<and>
					<instanceof value="org.eclipse.emf.ecore.EObject" />
					<test forcePluginActivation="true"
						property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
						value="jca.xmi" />
				</and>
				<adapt type="org.eclipse.core.resources.IProject">
					<test forcePluginActivation="true"
						property="org.eclipse.wst.common.project.facet.core.projectFacet"
						value="jst.connector:1.5]" />
				</adapt>
			</or>
		</triggerPoints>
		<possibleChildren>
			<and>
				<instanceof value="org.eclipse.emf.ecore.EObject" />
				<test forcePluginActivation="true"
					property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
					value="jca.xmi" />
			</and>
		</possibleChildren>
		<commonSorter
		    id="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter"
			class="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter" />
		<!--  Handle open requests -->
		<actionProvider
			class="org.eclipse.jst.j2ee.navigator.internal.J2EEActionProvider"
			id="org.eclipse.jst.j2ee.navigator.ui.ConnectorActionProvider">
			<enablement>
				<and>
					<instanceof value="org.eclipse.emf.ecore.EObject" />
					<test forcePluginActivation="true"
						property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
						value="jca.xmi" />
				</and>
			</enablement>
		</actionProvider>

		<!-- Connector New -->
		<commonWizard
        menuGroupId="org.eclipse.jst.j2ee.ui.newProjects"
        type="new"
        wizardId="org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.connector" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>
		<!-- Connector import -->
		<commonWizard type="import"
			wizardId="org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorComponentImportWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.ear" />
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.connector" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.application.Application" />
					<instanceof
						value="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider" />
					<instanceof
						value="org.eclipse.jst.j2ee.jca.internal.impl.ResourceAdapterImpl" />
					<and>
					  <instanceof value="java.util.Collection"/>
					  <count value="0" />
					</and>
				</or>
			</enablement>
		</commonWizard>
		<!-- Connector Export -->
		<commonWizard type="export"
			wizardId="org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorComponentExportWizard">
			<enablement>
				<or>
					<instanceof
						value="org.eclipse.core.resources.IWorkspaceRoot" />
					<and>
						<adapt
							type="org.eclipse.core.resources.IProject">
							<or>
								<test forcePluginActivation="true"
									property="org.eclipse.wst.common.project.facet.core.projectFacet"
									value="jst.connector" />
							</or>
						</adapt>
					</and>
					<instanceof
						value="org.eclipse.jst.j2ee.jca.Connector" />
					<instanceof
						value="org.eclipse.jst.j2ee.jca.internal.impl.ResourceAdapterImpl" />
				</or>
			</enablement>
		</commonWizard>
	</navigatorContent>
 <commonFilter
       activeByDefault="true"
       description="%filter.jetemitters.description"
       id="org.eclipse.jst.j2ee.navigator.ui.filters.jetemitters"
       name="%filter.jetemitters.name">
    <filterExpression>
       <adapt type="org.eclipse.core.resources.IProject">
          <test
                forcePluginActivation="true"
                property="org.eclipse.core.resources.name"
                value=".JETEmitters"/>
       </adapt>
    </filterExpression>
 </commonFilter>			
 
   </extension>
   
  <extension 
  		point="org.eclipse.core.runtime.adapters">
    <factory
          adaptableType="org.eclipse.jst.j2ee.common.J2EEEObject"
          class="org.eclipse.jst.j2ee.navigator.internal.J2EEEMFAdapterFactory">
       <adapter type="org.eclipse.core.resources.IFile"/>
       <adapter type="org.eclipse.core.resources.IResource"/>
    </factory>
    <factory
          adaptableType="org.eclipse.jst.j2ee.common.J2EEEAttribute"
          class="org.eclipse.jst.j2ee.navigator.internal.J2EEEMFAdapterFactory">
       <adapter type="org.eclipse.core.resources.IFile"/>
       <adapter type="org.eclipse.core.resources.IResource"/>
    </factory>
  </extension>
     
<!-- ====================================================== -->
<!--           Label Decorators                             -->
<!-- ====================================================== -->
   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            adaptable="true"
            location="TOP_LEFT"
            lightweight="true"
            label="%j2eeProjectDecorator"
            state="true"
            class="org.eclipse.jst.j2ee.navigator.internal.J2EEProjectDecorator"
            id="org.eclipse.jst.j2ee.navigator.internal.J2EEProjectDecorator">
         <enablement>
           <or>
            <objectClass name="org.eclipse.core.resources.IProject"/>
            <objectClass name="org.eclipse.jdt.core.IJavaProject"/>
           </or>
         </enablement>
         <description>
            %j2eeProjectDecorator.description
         </description>
      </decorator>
   </extension>
   
   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            adaptable="true"
            label="%PROBLEM_MARKER_LABEL_RESOURCE_DECORATOR"
            state="true"
            class="org.eclipse.jdt.ui.ProblemsLabelDecorator"
            id="org.eclipse.jst.j2ee.navigator.ui.java.resource.decorator">
            <enablement>
                <objectClass name="org.eclipse.core.resources.IResource"/> 
            </enablement>
      </decorator>
   </extension>
  <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.jst.j2ee.navigator.internal.WebResourcePropertyTester"
            id="org.eclipse.jst.j2ee.navigator.webResourcePropertyTester"
            namespace="org.eclipse.core.resources"
            properties="webResource"
            type="org.eclipse.core.resources.IResource">
      </propertyTester>
   </extension>  
      
</plugin>
