<?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.jst.servlet.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>
