<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
   <!-- Create Java EE Projects drop down toolbar button -->
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%j2ee"
            description="%j2ee.actions.description_ui_"
            visible="false"
            id="org.eclipse.jst.j2ee.J2eeMainActionSet">
         <action
               id="org.eclipse.jst.j2ee.internal.actions.NewJavaEEArtifact"
               toolbarPath="J2EEMain"
               class="org.eclipse.jst.j2ee.internal.actions.NewJavaEEArtifactDropDownAction"
               icon="icons/full/ctool16/newservlet_wiz.gif"
               label="%ServletWebRegionWizard.name"
               style="pulldown"
               tooltip="%ServletWebRegionWizard.description" />
         <action
               id="org.eclipse.jst.j2ee.internal.actions.NewJavaEEProject"
               toolbarPath="J2EEMain"
               class="org.eclipse.jst.j2ee.internal.actions.NewJavaEEProjectDropDownAction"
               icon="icons/full/ctool16/newwar_wiz.gif"
               label="%web.project_ui_"
               style="pulldown"
               tooltip="%new.web.project.description_ui_tooltip" />
      </actionSet> 
   </extension>
   
    <extension
         id="J2EEUIProjectWizards"
         point="org.eclipse.ui.newWizards">
      <category
            name="%web.category_ui_"
            id="org.eclipse.wst.web.ui">
      </category>
      <wizard
            name="%webFragmentProjectUI"
            icon="icons/full/ctool16/newWebFragmentProject.gif"
            category="org.eclipse.wst.web.ui"
            project="true"
            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
            id="org.eclipse.jst.servlet.ui.project.facet.WebFragmentProjectWizard">
         <class class="org.eclipse.jst.servlet.ui.project.facet.WebFragmentProjectWizard">
            <parameter name="javaeeproject" value="true"/>
            <parameter name="menuIndex" value="15" />
         </class>
         <description>
            %webFragmentProjectUI_desc
         </description>
         <selection
               class="org.eclipse.core.resources.IResource" />
      </wizard>
    </extension>
    
   <!-- Web Module Wizard -->
    <extension
         id="J2EEUIProjectWizards"
         point="org.eclipse.ui.newWizards">
      <category
            name="%web.category_ui_"
            id="org.eclipse.wst.web.ui">
      </category>
      <wizard
            name="%web.project_ui_"
            icon="icons/full/ctool16/newwar_wiz.gif"
            category="org.eclipse.wst.web.ui"
            project="true"
            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
            id="org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard">
         <class class="org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard">
            <parameter name="javaeeproject" value="true"/>
            <parameter name="menuIndex" value="10" />
         </class>
         <description>
            %new.web.project.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource" />
      </wizard>

      <!--new servlet contribution-->
 	  <wizard
            name="%ServletWebRegionWizard.name"
            icon="icons/full/ctool16/newservlet_wiz.gif"
            category="org.eclipse.wst.web.ui"
            id="org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard">
         <class class="org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard">
            <parameter name="javaeeartifact" value="true"/>
            <parameter name="menuIndex" value="10" />
         </class>
         <description>
            %ServletWebRegionWizard.description
         </description>
      </wizard>
      
      <!--new filter contribution-->      
      <wizard
            category="org.eclipse.wst.web.ui"
            icon="icons/full/ctool16/newfilter_wiz.gif"
            id="org.eclipse.jst.servlet.ui.internal.wizard.AddFilterWizard"
            name="%FilterWebRegionWizard.name">
         <class class="org.eclipse.jst.servlet.ui.internal.wizard.AddFilterWizard">
            <parameter name="javaeeartifact" value="true"/>
            <parameter name="menuIndex" value="20" />
         </class>
         <description>
            %FilterWebRegionWizard.description
         </description>
      </wizard>
      
      <!--new listener contribution-->
 	  <wizard
            name="%ListenerWebRegionWizard.name"
            icon="icons/full/ctool16/newlistener_wiz.gif"
            category="org.eclipse.wst.web.ui"
            id="org.eclipse.jst.servlet.ui.internal.wizard.AddListenerWizard">
         <class class="org.eclipse.jst.servlet.ui.internal.wizard.AddListenerWizard">
            <parameter name="javaeeartifact" value="true"/>
            <parameter name="menuIndex" value="30" />
         </class>
         <description>
            %ListenerWebRegionWizard.description
         </description>
      </wizard>
    </extension>
      
   <extension
         point="org.eclipse.ui.importWizards">
      <category
            name="%web.category_ui_"
            id="org.eclipse.wst.web.ui">
      </category>         
    <wizard
            name="%WarImportWizard.name"
            icon="icons/full/ctool16/importwar_wiz.gif"
            class="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentImportWizard"
            category="org.eclipse.wst.web.ui"
            id="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentImportWizard">
         <description>
            %WarImportWizard.description
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
      
    </extension>
    
  <extension
         point="org.eclipse.ui.exportWizards">
     <category
            name="%web.category_ui_"
            id="org.eclipse.wst.web.ui">
      </category>         
    <wizard
            name="%WarexportWizard.name"
            icon="icons/full/ctool16/exportwar_wiz.gif"
            class="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentExportWizard"
            category="org.eclipse.wst.web.ui"
            id="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentExportWizard">
         <description>
            %WarexportWizard.description
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
    </extension>

   <extension
         point="org.eclipse.wst.common.frameworks.ui.extendableWizard">
      <extendableWizard
            id="org.eclipse.jst.servlet.ui.WebModuleCreationWizard">
      </extendableWizard>
   </extension>

	
	<extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            id = "convertToWebModuleTypeAction">
         <menu
               label="%static.web.project_ui_"
               path="additions"
               id="ConvertWebProjectType">
            <separator
                  name="ConvertWebProjectType">
            </separator>
         </menu>
        <action
				label="%convertWebProjectTypeAction.label"
				tooltip="%ConvertWebProjectTypeAction.tooltip"
				menubarPath="org.eclipse.ui.projectConfigure/additions"
				class="org.eclipse.jst.servlet.ui.internal.actions.ConvertToWebModuleTypeAction"
				enablesFor="1"
				id="convertToWebModuleTypeAction">
		</action>
		<enablement>
		  <adapt type="org.eclipse.core.resources.IProject">
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="wst.web" />
					</adapt>
		</enablement>
      </objectContribution>  
    </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.web.server.webresource"
            class="org.eclipse.jst.servlet.ui.internal.deployables.WebDeployableArtifactAdapterFactory">     
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jst.j2ee.webapplication.WebApp"/>
           </with>
         </enablement>
      </moduleArtifactAdapter> 
      
      <moduleArtifactAdapter
            id="org.eclipse.jst.web.server.webresource2"
             class="org.eclipse.jst.servlet.ui.internal.deployables.WebDeployableArtifactAdapterFactory">      
         <enablement>
           <with variable="selection">
             <adapt type="org.eclipse.jst.server.core.Servlet"/>
           </with>
         </enablement>
       </moduleArtifactAdapter>
       
       <moduleArtifactAdapter
            id="org.eclipse.jst.web.server.webresource3"
            class="org.eclipse.jst.servlet.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:5.0]" />
			 </adapt>
           </with>
         </enablement>
       </moduleArtifactAdapter>     
       
        <moduleArtifactAdapter
            id="org.eclipse.jst.web.server.webresource4"
            class="org.eclipse.jst.servlet.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:5.0]" />
			 </adapt>
           </with>
         </enablement>
       </moduleArtifactAdapter>

      <moduleArtifactAdapter
            id="org.eclipse.jst.web.server.webresource5"
            class="org.eclipse.jst.servlet.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:5.0]" />
			</adapt>				             
           </with>
         </enablement>
       </moduleArtifactAdapter>
   </extension>
   
    <extension point="org.eclipse.core.runtime.adapters">
         <factory
             class="org.eclipse.jst.servlet.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.core.resources.IProject">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
        <factory
             class="org.eclipse.jst.servlet.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.jdt.core.ICompilationUnit">
            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
        </factory>
        <factory
             class="org.eclipse.jst.servlet.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.core.resources.IFile">
            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
       </factory>
       <factory
             class="org.eclipse.jst.servlet.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.jst.j2ee.webapplication.Servlet">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
       </factory>
       <factory
             class="org.eclipse.jst.servlet.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.jst.j2ee.webapplication.WebApp">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
       </factory> 
       <factory
             class="org.eclipse.jst.servlet.ui.internal.deployables.WebDeployableArtifactAdapterFactory"
             adaptableType="org.eclipse.jst.server.core.Servlet">
             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
       </factory>
          
   </extension>  
  
<!-- ====================================================== -->
<!--           Label Decorators                             -->
<!-- ====================================================== -->
  
    <extension
         point="org.eclipse.ui.decorators">
         <decorator
               lightweight="true"
               adaptable="true"
               label="%servletAnnotationDecorator"
               class="org.eclipse.jst.j2ee.internal.ui.util.AnnotationIconDecorator"
               state="true"
               location="TOP_LEFT"
               id="org.eclipse.jst.j2ee.internal.ui.util.AnnotationIconDecorator_servlet">
         <description>
            %servletAnnotationDecorator.description
         </description>
         <enablement>
              <objectClass
                   name="org.eclipse.jst.j2ee.webapplication.Servlet">
              </objectClass>
         </enablement>
      </decorator>
    </extension> 
    
  <extension point="org.eclipse.wst.common.project.facet.ui.wizardPages">
    <wizard-pages action="jst.web.install">
      <page class="org.eclipse.jst.servlet.ui.project.facet.WebFacetInstallPage"/>
    </wizard-pages>
  </extension>
  
  <extension point="org.eclipse.wst.common.project.facet.ui.images">
    <image facet="jst.web" path="icons/war.gif"/>
  </extension>
  
  <extension
    point="org.eclipse.jdt.ui.classpathContainerPage">
    <classpathContainerPage
      name="%webAppLibrariesContainerName"
      class="org.eclipse.jst.servlet.ui.internal.wizard.WebAppLibrariesContainerPage"
      id="org.eclipse.jst.j2ee.internal.web.container">
    </classpathContainerPage>
  </extension>
  <extension
        point="org.eclipse.ui.navigator.navigatorContent">
     <navigatorContent
           activeByDefault="true"
           contentProvider="org.eclipse.jst.servlet.ui.internal.navigator.WebJavaContentProvider"
           icon="icons/full/ctool16/webjava-icon.gif"
           id="org.eclipse.jst.servlet.ui.EnhancedJavaRendering"
           labelProvider="org.eclipse.jst.servlet.ui.internal.navigator.WebJavaLabelProvider"
           name="%enhanced.java.for.web.name"
           priority="higher">
        <override
              policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
              suppressedExtensionId="org.eclipse.jdt.java.ui.javaContent"/>					   
        <triggerPoints>
        	<or>
				<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.servlet.ui.internal.navigator.ICompressedNode" />
			</or>        
        </triggerPoints>
        <possibleChildren>
           <or>
              <instanceof value="org.eclipse.jst.servlet.ui.internal.navigator.CompressedJavaProject"/>
              <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
              <instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
              <instanceof value="org.eclipse.core.resources.IFolder"/>
              <instanceof value="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer"/>
              <instanceof value="org.eclipse.jst.servlet.ui.internal.navigator.CompressedJavaLibraries"/>
           </or>
        </possibleChildren> 
		<actionProvider
			class="org.eclipse.ui.internal.navigator.resources.actions.NewActionProvider"
			id="org.eclipse.jst.servlet.ui.EnhancedJavaRendering.actions.NewActionProvider">
			<enablement>
				<instanceof
					value="org.eclipse.jst.servlet.ui.internal.navigator.ICompressedNode" />
			</enablement>
		</actionProvider>        
        <commonSorter
              class="org.eclipse.jst.servlet.ui.internal.navigator.CompressedJavaSorter"
              id="org.eclipse.jst.servlet.ui.EnhancedJavaRendering.sorter">
           <parentExpression>
              <instanceof value="org.eclipse.jst.servlet.ui.internal.navigator.CompressedJavaProject"/>
           </parentExpression>
        </commonSorter>
 
		   <commonWizard
		        type="new"
		        wizardId="org.eclipse.jdt.ui.wizards.NewPackageCreationWizard">
		     <enablement>
				<instanceof
					value="org.eclipse.jst.servlet.ui.internal.navigator.ICompressedNode" />
		     </enablement>
		  </commonWizard>
		  <commonWizard
		        type="new"
		        wizardId="org.eclipse.jdt.ui.wizards.NewClassCreationWizard">
		     <enablement>
				<instanceof
					value="org.eclipse.jst.servlet.ui.internal.navigator.ICompressedNode" />
		     </enablement>
		  </commonWizard>

   	      <commonWizard
		        type="new"
		        wizardId="org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard">
		     <enablement>
				<instanceof
					value="org.eclipse.jst.servlet.ui.internal.navigator.ICompressedNode" />
		     </enablement>
		  </commonWizard> 
		    <commonWizard
		          type="new"
		          wizardId="org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard">
				<enablement>				        
					<instanceof
						value="org.eclipse.jst.servlet.ui.internal.navigator.ICompressedNode" />
			     </enablement>
			 </commonWizard>        			 
     </navigatorContent>
  </extension>
  <extension
        point="org.eclipse.ui.navigator.viewer">
     <viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
        <includes>
           <contentExtension pattern="org.eclipse.jst.servlet.ui.EnhancedJavaRendering"/>
        </includes>
     </viewerContentBinding>
  </extension>
  <extension
        point="org.eclipse.core.runtime.adapters">
     <factory
           adaptableType="org.eclipse.jst.servlet.ui.internal.navigator.CompressedJavaProject"
           class="org.eclipse.jst.servlet.ui.internal.navigator.CompressedNodeAdapterFactory">
        <adapter type="org.eclipse.jdt.core.IJavaProject"/>
        <adapter type="org.eclipse.jdt.core.IJavaElement"/>
     </factory>
  </extension>
  
  <extension
        point="org.eclipse.wst.common.modulecore.ui.moduleDependencyPropertyPage">
     <dependencyPage
           class="org.eclipse.jst.servlet.ui.internal.WebModuleDependencyPageProvider"
           id="org.eclipse.jst.servlet.ui.internal.WebModuleDependencyPageProvider">
     </dependencyPage>
  </extension>
  <extension
        point="org.eclipse.wst.common.modulecore.ui.referenceWizardFragment">
     <referenceFragment
           class="org.eclipse.jst.servlet.ui.internal.CustomWebProjectReferenceWizardFragment"
           hidden="true"
           icon="icons/prj_obj.gif"
           id="org.eclipse.jst.servlet.ui.internal.CustomWebProjectReferenceWizardFragment"
           name="%Project">
     </referenceFragment>
  </extension>

  <extension point="org.eclipse.core.expressions.propertyTesters">
	<propertyTester
  		id="org.eclipse.jst.servlet.ui.internal.navigator.FacetedProjectPropertyTester"
  		type="org.eclipse.jst.servlet.ui.internal.navigator.ICompressedNode"
  		namespace="org.eclipse.jst.servlet.ui.navigator"
  		properties="projectFacet"
  		class="org.eclipse.jst.servlet.ui.internal.navigator.FacetedProjectPropertyTester">
	</propertyTester>
  </extension>
  <extension
        point="org.eclipse.ui.ide.projectConfigurators">
     <projectConfigurator
           class="org.eclipse.jst.servlet.ui.internal.wizard.ServletProjectConfigurator"
           label="Java Web">
        <activeWhen>
           <hasFileRecursively
                 filename="web.xml">
           </hasFileRecursively>
        </activeWhen>
     </projectConfigurator>
  </extension>

</plugin>
