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

    
<!-- ====================================================== -->
<!--                                                        -->
<!-- Purpose: Extension for the J2EE ACtion Sets            -->
<!-- Extension point: org.eclipse.ui.actionSets             -->
<!-- ====================================================== -->
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%web.category_ui_"
            description="%web.actions.description_ui_"
            visible="false"
            id="org.eclipse.jst.j2ee.J2eeMainActionSet2">
            <action
               label="%create.web.module_ui_"
               icon="icons/full/ctool16/newwar_wiz.gif"
               tooltip="%create.web.module_ui_"
               class="org.eclipse.jst.servlet.ui.internal.actions.NewWebComponentAction"
               toolbarPath="J2EEMain"
               id="org.eclipse.jst.servlet.ui.internal.actions.NewWebComponent">
         </action>
      </actionSet>
	</extension>
    <!--new servlet contribution-->
   <extension
         point="org.eclipse.ui.newWizards">
      <wizard
            name="%ServletWebRegionWizard.name"
            icon="icons/full/ctool16/newservlet_wiz.gif"
            category="org.eclipse.wst.web.ui"
            class="org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard"
            id="org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard">
         <description>
            %ServletWebRegionWizard.description
         </description>
      </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"
            class="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentCreationWizard"
            project="true"
            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
            id="org.eclipse.jst.servlet.ui.WebComponentCreationWizard">
         <description>
            %new.web.project.description_ui_
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
    </extension>
      
   <extension
         point="org.eclipse.ui.importWizards">
    <wizard
            name="%WarImportWizard.name"
            icon="icons/full/ctool16/importwar_wiz.gif"
            class="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentImportWizard"
            id="org.eclipse.jst.servlet.ui.WebComponentImportWizard">
         <description>
            %WarImportWizard.description
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
      
    </extension>
    
  <extension
         point="org.eclipse.ui.exportWizards">
    <wizard
            name="%WarexportWizard.name"
            icon="icons/full/ctool16/exportwar_wiz.gif"
            class="org.eclipse.jst.servlet.ui.internal.wizard.WebComponentExportWizard"
            id="org.eclipse.jst.servlet.ui.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.actionSets">
		<actionSet
			label="%ConvertWebProjectType"
			description="%ConvertWebProjectType"
			visible="true"
			id="org.eclipse.jst.servlet.ui.internal.actions.ConvertToWebModuleTypeActionSet">
			<action
				label="%convertWebProjectTypeAction.label"
				tooltip="%ConvertWebProjectTypeAction.tooltip"
				menubarPath="project/additions"
				class="org.eclipse.jst.servlet.ui.internal.actions.ConvertToWebModuleTypeAction"
				enablesFor="1"
				id="convertToWebModuleTypeAction">   
				<enablement>
					<and>
						<objectClass name="org.eclipse.core.resources.IProject"/>
						<objectState name="nature" value="org.eclipse.wst.web.StaticWebNature"/>
					</and>
				</enablement>            
			</action>
		</actionSet>
	</extension>
	
	<extension
         point="org.eclipse.wst.common.navigator.workbench.commonWizard">
          <!-- Web New -->
        <commonWizard
            type="new"
            wizardId="org.eclipse.jst.servlet.ui.WebComponentCreationWizard">
         <enablement>
           <or>
               <objectClass
	                  name="org.eclipse.core.resources.IWorkspaceRoot">
	           </objectClass>
               <and>
                   <objectClass
	                     name="org.eclipse.core.resources.IProject">
	               </objectClass>
	               <or>
	                  <objectState
	                        name="projectNature"
	                        value="org.eclipse.wst.common.modulecore.ModuleCoreNature">
	                  </objectState>
	               </or> 
               </and> 
               <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ModuleImpl">
           	   </objectClass>
           	   <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ApplicationImpl">
           	   </objectClass>
           	    <objectClass
                 name="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider">
           	   </objectClass>
            </or>
         </enablement>
       </commonWizard>
       <!-- New Servlet -->
        <commonWizard
            type="new"
            wizardId="org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard">
         <enablement>
           <or>
               <objectClass
	                  name="org.eclipse.core.resources.IWorkspaceRoot">
	           </objectClass>
               <and>
                   <objectClass
	                     name="org.eclipse.core.resources.IProject">
	               </objectClass>
	               <or>
	                  <objectState
	                        name="projectNature"
	                        value="org.eclipse.wst.common.modulecore.ModuleCoreNature">
	                  </objectState>
	               </or> 
               </and> 
               <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ModuleImpl">
           	   </objectClass>
           	   <objectClass
                 name="org.eclipse.jst.j2ee.internal.webapplication.impl.WebAppImpl">
           	   </objectClass>
           	    <objectClass
                 name="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider">
           	   </objectClass>
           	    <objectClass
                    name="org.eclipse.jst.j2ee.internal.war.ui.util.WebServletGroupItemProvider">
               	 </objectClass>
               	 <objectClass
                    name="org.eclipse.jst.j2ee.webapplication.WebApp">
               	 </objectClass>
            </or>
         </enablement>
       </commonWizard>
       <!-- Web Import -->
      <!--  <commonWizard
            type="import"
            wizardId="org.eclipse.jst.servlet.ui.WebModuleImportWizard">
         <enablement>
          <or>
               <objectClass
	                  name="org.eclipse.core.resources.IWorkspaceRoot">
	           </objectClass>
               <and>
            	   <objectClass
                     name="org.eclipse.wst.common.navigator.internal.groups.NavigatorGroup">
               	   </objectClass>
               	   <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.web.WebNature">
                  </objectState>
                </and>
                <and>
                   <objectClass
	                     name="org.eclipse.core.resources.IProject">
	               </objectClass>
	               <or>
	                  <objectState
	                        name="projectNature"
	                        value="org.eclipse.jst.j2ee.EARNature">
	                  </objectState>
	                  <objectState
	                        name="projectNature"
	                        value="org.eclipse.jst.j2ee.web.WebNature">
	                  </objectState>
	               </or> 
                </and> 
                <objectClass
                     name="org.eclipse.jst.j2ee.internal.webapplication.impl.WebAppImpl">
                </objectClass>
                  <objectClass
                     name="org.eclipse.jst.j2ee.internal.war.ui.util.WebGroupItemProvider">
                </objectClass>     
                <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ApplicationImpl">
           	   </objectClass>
           	    <objectClass
                 name="org.eclipse.jst.j2ee.internal.provider.ModulesItemProvider">
           	   </objectClass>
           	   <objectClass
                 name="org.eclipse.jst.j2ee.internal.application.impl.ModuleImpl">
           	   </objectClass>
         </or>
       </enablement>
       </commonWizard> -->
       <!-- Web Export -->
     <!--   <commonWizard
            type="export"
            wizardId="org.eclipse.jst.servlet.ui.WebModuleExportWizard">
         <enablement>
         <or>
            <and>
               <or>
               <objectClass
                     name="org.eclipse.wst.common.navigator.internal.groups.NavigatorGroup">
               </objectClass>
               <objectClass
                     name="org.eclipse.core.resources.IProject">
               </objectClass>
               </or>
               <or>
                  <objectState
                        name="projectNature"
                        value="org.eclipse.jst.j2ee.web.WebNature">
                  </objectState>
               </or>
            </and>      
              <objectClass
                     name="org.eclipse.jst.j2ee.internal.webapplication.impl.WebAppImpl">
                </objectClass>      
                <objectClass
                     name="org.eclipse.jst.j2ee.internal.war.ui.util.WebGroupItemProvider">
                </objectClass>     
                
            </or>
         </enablement>
       </commonWizard> -->
        <!-- Import Classes Wizard -->
       <!-- <commonWizard
            type="import"
            wizardId="org.eclipse.jst.j2ee.internal.wizard.ClassesImportWizard">
         <enablement>
            <or>
	            <objectClass
                     name="org.eclipse.jst.j2ee.internal.webapplication.impl.WebAppImpl">
                </objectClass>  
                 <objectClass
                     name="org.eclipse.jst.j2ee.internal.war.ui.util.WebGroupItemProvider">
                </objectClass>     
            </or>
         </enablement>
       </commonWizard> -->
    </extension>

  <extension
    point="org.eclipse.jdt.ui.classpathContainerPage">
    <classpathContainerPage
      name="%webapp.container.name"
      class="org.eclipse.jst.servlet.ui.internal.classpath.WebAppContainerPage"
      id="org.eclipse.jst.j2ee.internal.web.container">
    </classpathContainerPage>
  </extension>
	
</plugin>
