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

			<!-- =========================================================================== -->
	<!-- Refactoring Participant                                                     -->
	<!-- =========================================================================== -->
	<extension point="org.eclipse.ltk.core.refactoring.renameParticipants">
	  <renameParticipant
	  	id="org.eclipse.jsp.renameParticipant.IType"
	  	name="%renameParticipant.name"
	  	class="org.eclipse.jsp.RenameTypeParticipant">
	  	<enablement>
	  	  <with variable="affectedNatures">
	  	    <iterate operator="or">
	  	      <equals value="org.eclipse.jdt.core.javanature"/>
	  	    </iterate>
	  	  </with>
	  	  <with variable="element">
		  	 <instanceof value="org.eclipse.jdt.core.IType"/>
	  	  </with>
	  	</enablement>
	  </renameParticipant>
	</extension>
	
	<!-- =========================================================================== -->
	<!-- JSP Editor                                                                  -->
	<!-- =========================================================================== -->
   <extension
         point="org.eclipse.ui.editors">
      <editor
            id="org.eclipse.jdt.ui.examples.JSPEditor"
            name="%jspEditorName"
            extensions="jsp"
            icon="icons/full/obj16/jsp_obj.gif"
            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
            class="org.eclipse.jdt.internal.ui.examples.jspeditor.JspEditor"
            default="true">
      </editor>
   </extension>
   
	<!-- =========================================================================== -->
	<!-- Tomcat Launcnhing                                                              -->
	<!-- =========================================================================== -->
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            name="%tomcatLaunchConfigurationTypeName"
            delegate="org.eclipse.jsp.launching.TomcatLaunchDelegate"
            modes="run, debug"
            id="org.eclipse.jsp.TomcatConfigurationType"
            sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
            sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
      </launchConfigurationType>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="org.eclipse.jsp.TomcatConfigurationType"
            class="org.eclipse.jsp.launching.TomcatTabGroup"
            id="org.eclipse.jsp.TomcatTabGroup">
      </launchConfigurationTabGroup>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            icon="icons/full/obj16/tomcat_obj.gif"
            configTypeID="org.eclipse.jsp.TomcatConfigurationType"
            id="org.eclipse.jsp.image.Tomcat">
      </launchConfigurationTypeImage>
   </extension>
   <extension
         point="org.eclipse.core.variables.valueVariables">
      <variable
            name="catalina_home"
            description="%catalinaHomeDescription">
      </variable>
   </extension>   
   <extension point="org.eclipse.jdt.launching.classpathProviders">
   		<classpathProvider
   			id="org.eclipse.jsp.tomcatClasspathProvider"
   			class="org.eclipse.jsp.launching.TomcatClasspathProvider">
   		</classpathProvider>
   </extension>
   
   <extension
         point="org.eclipse.ui.editorActions">
      <editorContribution
            targetID="org.eclipse.jdt.ui.examples.JSPEditor"
            id="org.eclipse.jsp.BreakpointRulerActions">
         <action
               label="%ToggleJspBreakpointAction.label"
               class="org.eclipse.jsp.launching.ToggleJspBreakpointRulerActionDelegate"
               actionID="RulerDoubleClick"
               id="org.eclipse.jsp.actions.ToggleJspBreakpointAction">
         </action>
      </editorContribution>
   </extension>
   
   	<extension 
		point="org.eclipse.ui.ide.markerImageProviders">
		<imageprovider
			id="org.eclipse.jsp.breakpointMarkerProvider"
			markertype="org.eclipse.jdt.debug.javaStratumLineBreakpointMarker"
			icon="icons/full/obj16/brkp_obj.gif">
		</imageprovider>
	</extension>
   
   	<extension
		point="org.eclipse.ui.preferencePages">
		<page name="%JavaFamilyExamplePreferencePage.name"
			id="org.eclipse.jsp.JavaFamilyExamplePreferencePage"
			class="org.eclipse.jsp.JavaFamilyExamplePreferencePage"
			category= "org.eclipse.jdt.ui.preferences.JavaBasePreferencePage">
		</page>	
	</extension>
      
</plugin>
