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

<plugin>

    
<!-- Define AspectJ Project nature -->
   <extension
         id="ajnature"
         name="%ajNature"
         point="org.eclipse.core.resources.natures">
      <runtime>
         <run
               class="org.eclipse.ajdt.internal.ui.AspectJProjectNature">
         </run>
      </runtime>
      <requires-nature id="org.eclipse.jdt.core.javanature"/>
   </extension>
   
      <extension
         point="org.eclipse.ui.ide.projectNatureImages">
      <image
            icon="icons/ovr/aj_ovr.gif"
            natureId="org.eclipse.ajdt.ui.ajnature"
            id="org.eclipse.ajdt.ui.aspectJProjectNatureImage">
      </image>
   </extension>
   
<!-- Define popup menus -->
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            id="iprojectcontributions">
         <menu
               label="%org.eclipse.ajdt.ui.tools"
               id="org.eclipse.ajdt.ui.project.tools">
            <separator
               name="group0">
            </separator>
         </menu>     
         <visibility>
         	<and>
	         	<objectState name="nature" value="org.eclipse.jdt.core.javanature"/>
	         	<not>
		         	<objectState name="nature" value="org.eclipse.ajdt.ui.ajnature"/>
		        </not>
		        <objectState name="open" value="true"/>
		    </and>
         </visibility>
         <action
               label="%convertToAJP"
               class="org.eclipse.ajdt.internal.ui.actions.AddAJNatureAction"
               menubarPath="org.eclipse.ajdt.ui.project.tools/group0"
               id="addajnatureaction">
         </action>
      </objectContribution>
      <objectContribution
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            id="iprojectcontributions">
         <visibility>
         	<objectState name="nature" value="org.eclipse.ajdt.ui.ajnature"/>
         </visibility>
         <action
               label="%removeAJNature"
               class="org.eclipse.ajdt.internal.ui.actions.RemoveAJNatureAction"
               menubarPath="org.eclipse.ajdt.ui.feature.tools/group2"
               id="removeajnatureaction">
         </action>
      </objectContribution>   
      <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="plugin.xml"
            id="org.eclipse.pde.ui.ajpluginToolSet">      
               <action
               label="%CreateAntBuildFile"
               helpContextId="org.eclipse.pde.doc.user.create_plugin_jars"
               class="org.eclipse.ajdt.internal.ui.actions.BuildPluginAction"
               menubarPath="org.eclipse.pde.ui.plugin.tools/group2"
               enablesFor="1"
               id="org.eclipse.pde.ui.BuildPluginAction">
         </action>
      </objectContribution>   
 
	<!--
	Restrict selection to be a project with an AspectJ nature.
	Specifying an "IJavaProject" objectClass would mean that
	this contribution would become unavailable for web and EJB
	projects in IBM Rational 6.x tools.
	--> 
     <objectContribution
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            id="iprojectcontributions">
        <menu
               label="%org.eclipse.ajdt.ui.tools"
               id="org.eclipse.ajdt.ui.feature.tools">
            <separator
                  name="group0">
            </separator>
            <separator
                  name="group1">
            </separator>
            <separator
                  name="group2">
            </separator>
         </menu>
         <filter
               name="nature"
               value="org.eclipse.ajdt.ui.ajnature">
         </filter>
         <action
               label="%convertExt"
               class="org.eclipse.ajdt.internal.ui.refactoring.RenameFileExtensionsAction"
               menubarPath="org.eclipse.ajdt.ui.feature.tools/group1"
               id="renamefileextensionsaction"
               enablesFor="1">
         </action>
      </objectContribution>

      <objectContribution
            objectClass="org.eclipse.jdt.core.ICompilationUnit"
            adaptable="true"
            id="ifilecontributions"
            nameFilter="*.java">
         <menu
               label="%org.eclipse.ajdt.ui.tools"
               id="org.eclipse.ajdt.ui.feature.tools">
            <separator
                  name="group0">
            </separator>
            <separator
                  name="group1">
            </separator>
            <separator
                  name="group2">
            </separator>
         </menu>
          <visibility>
             <objectState 
	            name="projectNature" 
	            value="org.eclipse.ajdt.ui.ajnature"/>
	      </visibility>
          <action
               label="%convertExtToAJ"
               class="org.eclipse.ajdt.internal.ui.refactoring.RenameToAJAction"
               menubarPath="org.eclipse.ajdt.ui.feature.tools/group1"
               id="renametoajaction">
         </action>
      </objectContribution>
      <objectContribution
            objectClass="org.eclipse.ajdt.core.javaelements.AJCompilationUnit"
            adaptable="true"
            id="ifilecontributions"> 
             <menu
               label="%org.eclipse.ajdt.ui.tools"
               id="org.eclipse.ajdt.ui.feature.tools">
            <separator
                  name="group0">
            </separator>
            <separator
                  name="group1">
            </separator>
            <separator
                  name="group2">
            </separator>
         </menu>
          <action
               label="%convertExtToJava"
               class="org.eclipse.ajdt.internal.ui.refactoring.RenameToJavaAction"
               menubarPath="org.eclipse.ajdt.ui.feature.tools/group1"
               id="renametojavaaction">
         </action>
      </objectContribution>
      
      <!--
      <objectContribution 
      		objectClass="org.eclipse.ajdt.core.javaelements.AJCompilationUnit"
            adaptable="true"
            id="ifilecontributions">
          <action
          	    label="Delete"
          	    class="org.eclipse.ajdt.internal.ui.refactoring.DeleteAction"
          	    menubarPath="edit"
          	    id="delete">
          </action>
       </objectContribution>
	-->
	
	<!-- Adding our own rename action for .aj files -->
	  <objectContribution
           objectClass="org.eclipse.ajdt.core.javaelements.AJCompilationUnit"
           adaptable="true"
           id="ajfileContribution"> 
         <action
             label="%renameAJFiles"
             class="org.eclipse.ajdt.internal.ui.actions.RenameAJFileAction"
             menubarPath="org.eclipse.jdt.ui.refactoring.menu"
             id="renameAJFile">
         </action>
      </objectContribution>
      
      <!-- Build configuration actions -->
      <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="*.ajproperties"
            id="ajproperties">
         <visibility>
            <objectState name="projectNature" value="org.eclipse.ajdt.ui.ajnature"/>
         </visibility>
     	 <menu
               label="%org.eclipse.ajdt.ui.tools"
               id="org.eclipse.ajdt.ui.feature.tools">
            <separator
                  name="group0">
            </separator>
            <separator
                  name="group1">
            </separator>
           <separator
                  name="group2">
            </separator>
         </menu>
         <action
               label="%activateConfig"
               class="org.eclipse.ajdt.internal.newbuildconfig.ApplyBCAction"
               menubarPath="org.eclipse.ajdt.ui.feature.tools/group0"
               id="ajpropertiespopup">
         </action>
      </objectContribution>
 
       <objectContribution
            objectClass="org.eclipse.core.resources.IProject"
             adaptable="true"
            id="ajproperties2">
         <visibility>
         	<objectState name="nature" value="org.eclipse.ajdt.ui.ajnature"/>
         </visibility>
         <menu
            label="%org.eclipse.ajdt.ui.tools"
            id="org.eclipse.ajdt.ui.feature.tools">
	         <separator
	            name="group0">
	         </separator>      
         </menu>  
         <action
             label="%saveConfig"
             class="org.eclipse.ajdt.internal.newbuildconfig.SaveBCAction"
             menubarPath="org.eclipse.ajdt.ui.feature.tools/group0"
             id="ajpropertiespopup2">
         </action>      
      </objectContribution>
      

   <!--Our Toggle breakpoint action and JDT's other breakpoint actions-->
     <viewerContribution
            targetID="#AJCompilationUnitRulerContext"
            id="org.eclipse.ajdt.debug.ui.CompilationUnitRulerPopupActions">
         <action
               label="%JavaBreakpointProperties.label"
               helpContextId="breakpoint_properties_action_context"
               class="org.eclipse.jdt.debug.ui.actions.JavaBreakpointPropertiesRulerActionDelegate"
               menubarPath="group.properties"
               id="org.eclipse.jdt.debug.ui.actions.JavaBreakpointPropertiesRulerActionDelegate">
         </action>
         <action
               label="%EnableBreakpoint.label"
               helpContextId="enable_disable_breakpoint_action_context"
               class="org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
               menubarPath="debug"
               id="org.eclipse.jdt.debug.ui.actions.EnableDisableBreakpointRulerActionDelegate">
         </action>
         <action
               helpContextId="manage_breakpoint_action_context"
               label="%manageBreakpointActionInRulerContextMenu"
               class="org.eclipse.ajdt.internal.ui.editor.AspectJBreakpointRulerActionDelegate"
               menubarPath="debug"
               id="org.eclipse.ajdt.internal.ui.editor.AspectJBreakpointRulerActionDelegate">
         </action>
     </viewerContribution>
     
 <!-- Also contributing JDT UI's other ruler context menu actions to our context menu -->    
      <viewerContribution
            targetID="#AJCompilationUnitRulerContext"
            id="org.eclipse.jdt.ui.CompilationUnitEditorPopupActions">
         <action
               label="%AddTask.label"
               helpContextId="org.eclipse.ui.AddTask_action_context"
               tooltip="%AddTask.tooltip"
               class="org.eclipse.ui.texteditor.TaskRulerAction"
               menubarPath="add"
               id="org.eclipse.ui.texteditor.TaskRulerAction">
         </action>
         <action
               label="%AddBookmark.label"
               helpContextId="org.eclipse.ui.bookmark_action_context"
               tooltip="%AddBookmark.tooltip"
               class="org.eclipse.ui.texteditor.BookmarkRulerAction"
               menubarPath="add"
               id="org.eclipse.ui.texteditor.BookmarkRulerAction">
         </action>
      </viewerContribution>
   </extension>

<!-- Define AspectJ Builder -->
<!-- Note: this is now the *OLD* builder, and is only here to migrate project settings
     to the new builder. The real builder is now defined in the org.eclipse.ajdt.core
     plugin, with id org.eclipse.ajdt.core.ajbuilder -->
   <extension
         id="ajbuilder"
         name="%ajBuilder"
         point="org.eclipse.core.resources.builders">
      <builder>
         <run
               class="org.eclipse.ajdt.internal.builder.Builder">
         </run>
      </builder>
   </extension>

<!--  Define AspectJ Preferences Page -->
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            name="%ajCompilerOptionsPrefName"
            class="org.eclipse.ajdt.internal.ui.preferences.AJCompilerPreferencePage"
            id="AJCompilerPreferencePage">
      </page>      
      
   </extension>

<!-- Define filters to prevent .ajsym files being displayed (navigator and packages views) -->
   <extension
         id="resourceFilters"
         name="%ajsymFilter"
         point="org.eclipse.ui.ide.resourceFilters">
      <filter
            selected="true"
            pattern="*.ajsym">
      </filter>
   </extension>
   <extension
         id="javaelementfilters"
         point="org.eclipse.jdt.ui.javaElementFilters">
      <filter
            enabled="true"
            pattern="*.ajsym"
            name="%ajsymFilter">
      </filter>
      <filter
            targetId="org.eclipse.jdt.ui.PackageExplorer"
            enabled="true"
            class="org.eclipse.ajdt.internal.javamodel.CompilationUnitFilter"
            description="%ajFileFilterDesc"
            name="%ajFileFilter"
            id="org.eclipse.ajdt.javamodel.CompilationUnitFilter"/>
      <filter
            id="org.eclipse.ajdt.ui.editor.outline.PointcutFilter"
            name="%pointcutFilter.name"
            description="%pointcutFilter.description"
            class="org.eclipse.ajdt.internal.ui.editor.outline.PointcutFilter"
            enabled="false"/>      
      <filter
            id="org.eclipse.ajdt.ui.editor.outline.AdviceFilter"
            name="%adviceFilter.name"
            description="%adviceFilter.description"
            class="org.eclipse.ajdt.internal.ui.editor.outline.AdviceFilter"
            enabled="false"/>      
      <filter
            id="org.eclipse.ajdt.ui.editor.outline.IntroductionFilter"
            name="%introductionFilter.name"
            description="%introductionFilter.description"
            class="org.eclipse.ajdt.internal.ui.editor.outline.IntroductionFilter"
            enabled="false"/>      
      <filter
            id="org.eclipse.ajdt.ui.editor.outline.DeclarationFilter"
            name="%declarationFilter.name"
            description="%declarationFilter.description"
            class="org.eclipse.ajdt.internal.ui.editor.outline.DeclarationFilter"
            enabled="false"/>      
   </extension>

<!-- Define editors used by AspectJ -->
   <extension
         id="editors"
         point="org.eclipse.ui.editors">
      <editor
            name="%ajEditor"
            icon="icons/structure/ajcu_obj.gif"
            extensions="aj"
            default="true"
            contributorClass="org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditorActionContributor"
            class="org.eclipse.ajdt.internal.ui.editor.AspectJEditor"
            id="org.eclipse.ajdt.internal.ui.editor.CompilationUnitEditor">
            <contentTypeBinding contentTypeId="org.eclipse.ajdt.core.aspectJSource"/> 
      </editor>
<!-- do we need to duplicate these next 3 editors from JDT??? org.eclipse.jdt.ui.ClassFileEditor -->
	  <!--editor
            name="Class File Editor"
            icon="icons/jdt/classf_obj.gif"
            extensions="class"
            contributorClass="org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditorActionContributor"
            class="org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor"
            id="org.eclipse.jdt.ui.ClassFileEditor">
      </editor-->
      <editor
            name="%propertiesFileEditor"
            icon="icons/jdt/file_obj.gif"
            extensions="properties"
            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
            class="org.eclipse.ui.editors.text.TextEditor"
            id="org.eclipse.jdt.ui.DefaultTextEditor">
      </editor>
      <editor
            name="%jarDescriptionEditor"
            icon="icons/jdt/jar_desc_obj.gif"
            extensions="jardesc"
            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
            class="org.eclipse.ui.editors.text.TextEditor"
            id="org.eclipse.jdt.ui.JARDescEditor">
      </editor>
   </extension>

<!-- Define the relevant wizards for AspectJ -->
   <extension
         point="org.eclipse.ui.newWizards">
      <category
            name="%AspectJ"
            id="org.eclipse.ajdt.wizards">
      </category>
      
	  <!-- Define the AspectJ Project creation wizard -->
      <wizard
            name="%ajProject"
            icon="icons/structure/newajprj_wiz.gif"
            category="org.eclipse.ajdt.wizards"
            class="org.eclipse.ajdt.internal.ui.wizards.AspectJProjectWizard"
            project="true"
            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
            id="ajprojectwizard">
         <description>
            %ajProjectWizard.description
         </description>
      </wizard>
      <!--
       Declare the AspectJ project creation wizard to be primary. This
       ensures it shows up in the New->Project... list in the same
       way that Java project does.
       -->
      <primaryWizard id="ajprojectwizard"/>      
      
      <!-- Define the AspectJ Aspect creation wizard -->
      <wizard
            name="%ajAspect"
            icon="icons/structure/new_aspect_wizard.gif"
            category="org.eclipse.ajdt.wizards"
            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
            id="ajaspectwizard">
         <class class="org.eclipse.ajdt.internal.ui.wizards.NewAspectCreationWizard">
            <parameter
                name="javatype"
                value="true">
            </parameter>
         </class>
         <description>
            %ajAspectWizard.description
         </description>
      </wizard>

   </extension>

   <extension
         point="org.eclipse.ui.exportWizards">
      <wizard
            name="%ajExportWizard"
            icon="icons/actions/exp_deployplug.gif"
            class="org.eclipse.ajdt.internal.ui.wizards.exports.AJPluginExportWizard"
            id="org.eclipse.ajdt.ui.ajPluginExportWizard">
         <description>
            %ajExportWizard.description
         </description>
         <selection
               name="plugin.xml"
               class="org.eclipse.core.resources.IFile">
         </selection>
         <selection
               name="fragment.xml"
               class="org.eclipse.core.resources.IFile">
         </selection>
         <selection
               class="org.eclipse.core.resources.IProject">
         </selection>
      </wizard>
      <wizard
            name="%ajJarExportWizard"
            icon="icons/actions/exportjar_wiz.gif"
            class="org.eclipse.ajdt.internal.ui.wizards.exports.AJJarPackageWizard"
            id="org.eclipse.ajdt.internal.ui.wizards.exports.AJJarPackageWizard">
         <description>
            %ajJarExportWizard.description
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
   </extension>


<!-- Actions contributed by AspectJ to the Java perspective -->
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%ajActions"
            visible="false"
            id="ajactionset">    
		<action
               label="%OpenTypeInHierarchyAction.label"
               tooltip="%OpenTypeInHierarchyAction.tooltip"
               definitionId="org.eclipse.ajdt.ui.navigate.open.type.in.hierarchy"
               class="org.eclipse.ajdt.internal.ui.actions.OpenTypeInHierarchyAction"
               menubarPath="navigate/open.ext2"
               id="openTypeInHierarchy">
         </action> 
         <action
               label="%OpenTypeAction.label"
               icon="icons/actions/opentype.gif"
               tooltip="%OpenTypeAction.tooltip"
               class="org.eclipse.ajdt.internal.ui.actions.OpenTypeAction"
               toolbarPath="org.eclipse.search.searchActionSet/Search"
               id="OpenTypeIncAspects"
               definitionId="org.eclipse.ajdt.ui.navigate.open.type"
               menubarPath="navigate/open.ext2">
         </action>         
         <action
               label="%buildConfig"
               icon="icons/actions/ajdt-build.gif"
               disabledIcon="icons/actions/disabled_build.gif"
               tooltip="Build AspectJ Project"
               class="org.eclipse.ajdt.internal.ui.PulldownBuildselectorMenu"
               toolbarPath="org.eclipse.ui.workbench.file/build.ext"
               id="SelectBuildConfiguration">
         </action>
         
         <action
               label="%OpenAJProjectWizardAction.label"
               icon="icons/structure/newajprj_wiz.gif"
               tooltip="%OpenAJProjectWizardAction.tooltip"
               class="org.eclipse.ajdt.internal.ui.wizards.OpenAJProjectWizardAction"
               toolbarPath="org.eclipse.jdt.ui.JavaElementCreationActionSet/JavaWizards"
               id="openajprojectwizard">
         </action>
      </actionSet>
   </extension>

 <!-- commands and their bindings
NOTE:
M1 = CTRL/COMMAND 
M2 = SHIFT 
M3 = ALT 
M4 = Platform-specific fourth key
-->
   <extension
         point="org.eclipse.ui.commands">
<!-- Open Types shortcuts -->
      <command
            name="%ActionDefinition.openType.name"
            description="%ActionDefinition.openType.description"
            categoryId="org.eclipse.ui.category.navigate"
            id="org.eclipse.ajdt.ui.navigate.open.type">
      </command>
      <command
            name="%ActionDefinition.openTypeInHierarchy.name"
            description="%ActionDefinition.openTypeInHierarchy.description"
            categoryId="org.eclipse.ui.category.navigate"
            id="org.eclipse.ajdt.ui.navigate.open.type.in.hierarchy">
      </command>
      
<!-- launch shortcuts -->
      <command
            name="%AspectJApplicationShortcut.description.debug"
            description="%AspectJApplicationShortcut.description.debug"
            categoryId="org.eclipse.debug.ui.category.run"
            id="org.eclipse.ajdt.launching.runShortcut.debug">
      </command>
      <command
            name="%AspectJApplicationShortcut.description.run"
            description="%AspectJApplicationShortcut.description.run"
            categoryId="org.eclipse.debug.ui.category.run"
            id="org.eclipse.ajdt.launching.runShortcut.run">
      </command>
   </extension>

   <extension point="org.eclipse.ui.bindings">
        <key
            sequence="M3+M2+A"
            contextId="org.eclipse.ui.globalScope"
            commandId="org.eclipse.ajdt.ui.navigate.open.type"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
            sequence="M3+M2+H"
            contextId="org.eclipse.ui.globalScope"
            commandId="org.eclipse.ajdt.ui.navigate.open.type.in.hierarchy"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
            sequence="M3+M2+D C"
            contextId="org.eclipse.ui.globalScope"
            commandId="org.eclipse.ajdt.launching.runShortcut.debug"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
       <key
            sequence="M3+M2+X C"
            contextId="org.eclipse.ui.globalScope"
            commandId="org.eclipse.ajdt.launching.runShortcut.run"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
   </extension> 
      
   <extension point="org.eclipse.ui.perspectiveExtensions">
   		<perspectiveExtension 
			targetID="org.eclipse.jdt.ui.JavaPerspective">
					<actionSet id="ajactionset"/>
					<newWizardShortcut id="ajaspectwizard"/>
					<newWizardShortcut id="ajprojectwizard"/>
					<perspectiveShortcut
                        id="org.eclipse.ajdt.ui.visualiser.AspectVisualizationPerspective"/>					
    	</perspectiveExtension>
    	<perspectiveExtension 
			targetID="org.eclipse.ajdt.ui.visualiser.AspectVisualizationPerspective">
					<actionSet id="ajactionset"/>
					<newWizardShortcut id="ajaspectwizard"/>
					<newWizardShortcut id="ajprojectwizard"/>	
					<perspectiveShortcut
                        id="org.eclipse.jdt.ui.JavaPerspective"/>				
					<!--
					Below two shortcuts for IBM Rational 6.x tooling.
					-->                        
					<perspectiveShortcut
                        id="com.ibm.etools.j2ee.J2EEPerspective"/>				
					<perspectiveShortcut
                        id="com.ibm.etools.webtools.webperspective.WebToolsPerspective"/>				
    	</perspectiveExtension>
		<perspectiveExtension 
			targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
					<actionSet id="ajactionset"/>
		</perspectiveExtension>
		<perspectiveExtension 
			targetID="org.eclipse.jdt.ui.JavaHierarchyPerspective">
					<actionSet id="ajactionset"/>
		</perspectiveExtension>
		<perspectiveExtension 
			targetID="org.eclipse.pde.ui.PDEPerspective">
					<actionSet id="ajactionset"/>
		</perspectiveExtension>
		
		<!--
		Below two perspective extensions added for IBM Rational 6.x tooling.
		-->    	
    	<perspectiveExtension 
			targetID="com.ibm.etools.j2ee.J2EEPerspective">
					<actionSet id="ajactionset"/>
					<newWizardShortcut id="ajaspectwizard"/>
					<newWizardShortcut id="ajprojectwizard"/>	
					<perspectiveShortcut
                        id="org.eclipse.ajdt.ui.visualiser.AspectVisualizationPerspective"/>				
    	</perspectiveExtension>
    	<perspectiveExtension 
			targetID="com.ibm.etools.webtools.webperspective.WebToolsPerspective">
					<actionSet id="ajactionset"/>
					<newWizardShortcut id="ajaspectwizard"/>
					<newWizardShortcut id="ajprojectwizard"/>	
					<perspectiveShortcut
                        id="org.eclipse.ajdt.ui.visualiser.AspectVisualizationPerspective"/>				
    	</perspectiveExtension>
   </extension>

<!-- Project properties -->
   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            name="%aspectj"
            class="org.eclipse.ajdt.internal.ui.AspectJProjectPropertiesPage"
            id="org.eclipse.ajdt.ui.ProjectPage">
         <filter
               name="projectNature"
               value="org.eclipse.ajdt.ui.ajnature">
         </filter>
      </page>
      <!-- inpath and aspectpath -->
      <page
            objectClass="org.eclipse.core.resources.IProject"
            name="%aspectJInpath"
            adaptable="true"
            class="org.eclipse.ajdt.internal.ui.preferences.InPathPropertyPage"
            id="org.eclipse.ajdt.ui.InPathPropertyPage">
         <filter
               name="projectNature"
               value="org.eclipse.ajdt.ui.ajnature">
         </filter>
      </page>      
      <page
            objectClass="org.eclipse.core.resources.IProject"
            name="%aspectJAspectPath"
            adaptable="true"
            class="org.eclipse.ajdt.internal.ui.preferences.AspectPathPropertyPage"
            id="org.eclipse.ajdt.ui.AspectPathPropertyPage">
         <filter
               name="projectNature"
               value="org.eclipse.ajdt.ui.ajnature">
         </filter>
      </page>
      <page
            adaptable="true"
            objectClass="org.eclipse.core.resources.IProject"
            class="org.eclipse.ajdt.internal.ui.preferences.AJCompilerPreferencePage"
            name="%aspectJCompiler"
            id="org.eclipse.ajdt.ui.propertyPages.AJCompilerPreferencePage">
         <filter
               value="org.eclipse.ajdt.ui.ajnature"
               name="projectNature"/>
      </page>      
   </extension>

<!-- Event trace view -->
   <extension
         point="org.eclipse.ui.views">
      <category
            name="%AspectJ"
            id="org.eclipse.ajdt.ui.cat">
      </category>
      <view
            name="%eventTraceView"
            icon="icons/actions/perspective.gif"
            category="org.eclipse.ajdt.ui.cat"
            class="org.eclipse.ajdt.internal.ui.AJDTEventTraceView"
            id="org.eclipse.ajdt.ui.EventTraceView">
      </view>
   </extension>

<!-- our implementation of ManageBreakpointRulerAction gets called.  -->
<!-- This overrides an editor action supplied by the JDT and ensures -->
<!-- our implementation of ManageBreakpointRulerAction gets called.  -->
<!-- Debugging -->
   <extension
         point="org.eclipse.ui.editorActions">
      <editorContribution
            targetID="org.eclipse.ajdt.internal.ui.editor.CompilationUnitEditor"
            id="org.eclipse.ajdt.ui.AJEditor.BreakpointRulerActions">
         <action
               label="%AJEditorActionsLabel"
               class="org.eclipse.ajdt.internal.ui.editor.AspectJBreakpointRulerActionDelegate"
               actionID="RulerDoubleClick"
               id="org.eclipse.ajdt.ui.actions.ManageBreakpointRulerAction">
         </action>
      </editorContribution>
      <editorContribution
            targetID="org.eclipse.ajdt.internal.ui.editor.CompilationUnitEditor"
            id="org.eclipse.ajdt.ui.AJEditor.AdviceRulerActions">
         <action
               label="%AJEditorActionsLabel"
               class="org.eclipse.ajdt.internal.ui.editor.AdviceActionDelegate"
               id="org.eclipse.ajdt.ui.actions.AdviceActionDelegate">
         </action>
      </editorContribution>
      <editorContribution
            targetID="org.eclipse.jdt.ui.CompilationUnitEditor"
            id="org.eclipse.ajdt.ui.AJEditor.AdviceRulerActions">
         <action
               label="%AJEditorActionsLabel"
               class="org.eclipse.ajdt.internal.ui.editor.AdviceActionDelegate"
               id="org.eclipse.ajdt.ui.actions.AdviceActionDelegate">
         </action>
      </editorContribution>
      <editorContribution
            targetID="org.eclipse.ajdt.internal.ui.editor.CompilationUnitEditor"
            id="org.eclipse.ui.texteditor.ruler.actions">
         <action
               label="%AJEditorActionsLabel"
               class="org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction"
               actionID="RulerClick"
               id="org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction"/>
      </editorContribution>
   </extension>

   
<!-- Marker for the left hand ruler showing where advice applies -->
   <extension
         id="advicemarker"
         name="Advice Marker"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.textmarker">
      </super>
      <persistent
            value="true">
      </persistent>
      <attribute
            name="sourceLocationOfAdvice">
      </attribute>
   </extension>
   
<!-- Markers for a line that is both source and target -->

   <extension
   	      id="sourceandtargetmarker"
   	      name="%sourceAndTargetMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.advicemarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>   
   <extension
   	      id="dynamicsourceandtargetmarker"
   	      name="%dynamicSourceAndTargetMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.advicemarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension> 
   
<!-- Markers for different types of advice -->      
   <extension
   	      id="beforeadvicemarker"
   	      name="%beforeAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.advicemarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>
   <extension
   	      id="afteradvicemarker"
   	      name="After Advice Marker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.advicemarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>
   <extension
   	      id="aroundadvicemarker"
   	      name="%aroundAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.advicemarker">
      </super>
     <persistent
            value="true">
      </persistent>
   </extension>
<!-- Markers to show the source of advice -->   
    <extension
   	      id="sourceadvicemarker"
   	      name="%sourceOfAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.textmarker">
      </super>
     <persistent
            value="true">
      </persistent>
            <attribute
            name="sourceLocationOfAdvice">
      </attribute>     
   </extension>
   <extension
   	      id="sourcearoundadvicemarker"
   	      name="%sourceOfAroundAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.sourceadvicemarker">
      </super>
     <persistent
            value="true">
      </persistent>
   </extension>
   <extension
   	      id="sourcebeforeadvicemarker"
   	      name="%sourceOfBeforeAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.sourceadvicemarker">
      </super>
     <persistent
            value="true">
      </persistent>
   </extension>
   <extension
   	      id="sourceafteradvicemarker"
   	      name="%sourceOfAfterAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.sourceadvicemarker">
      </super>
     <persistent
            value="true">
      </persistent>
   </extension>


<!-- AJDT Problem markers -->
   <extension
         id="problemmarker"
         name="%aspectjproblem"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.problemmarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>


   <extension
         point="org.eclipse.ui.editors.markerAnnotationSpecification">
      <specification
            annotationType="org.eclipse.ajdt.ui.error"
            textPreferenceKey="ajdtErrorIndication"
            presentationLayer="6"
            highlightPreferenceValue="false"
            showInNextPrevDropdownToolbarAction="true"
            textPreferenceValue="true"
            isGoToPreviousNavigationTargetKey="isAJDTErrorGoToPreviousNavigationTarget"
            label="%ajdtErrors"
            colorPreferenceKey="ajdtErrorIndicationColor"
            showInNextPrevDropdownToolbarActionKey="showAJDTErrorInNextPrevDropdownToolbarAction"
            icon="icons/markers/error.gif"
            isGoToNextNavigationTargetKey="isAJDTErrorGoToNextNavigationTarget"
            isGoToNextNavigationTarget="true"
            overviewRulerPreferenceKey="ajdtErrorIndicationInOverviewRuler"
            verticalRulerPreferenceValue="true"
            highlightPreferenceKey="ajdtErrorIndicationHighlighting"
            isGoToPreviousNavigationTarget="true"
            verticalRulerPreferenceKey="ajdtErrorIndicationInVerticalRuler"
            contributesToHeader="true"
            colorPreferenceValue="255,0,128"
            overviewRulerPreferenceValue="true">
      </specification>
      <specification
            annotationType="org.eclipse.ajdt.ui.warning"
            textPreferenceKey="ajdtWarningIndication"
            presentationLayer="5"
            highlightPreferenceValue="false"
            showInNextPrevDropdownToolbarAction="true"
            textPreferenceValue="true"
            isGoToPreviousNavigationTargetKey="isAJDTWarningGoToPreviousNavigationTarget"
            label="%ajdtWarnings"
            colorPreferenceKey="ajdtWarningIndicationColor"
            showInNextPrevDropdownToolbarActionKey="showAJDTWarningInNextPrevDropdownToolbarAction"
            icon="icons/markers/warning.gif"
            isGoToNextNavigationTargetKey="isAJDTWarningGoToNextNavigationTarget"
            isGoToNextNavigationTarget="true"
            overviewRulerPreferenceKey="ajdtWarningIndicationInOverviewRuler"
            verticalRulerPreferenceValue="true"
            highlightPreferenceKey="ajdtWarningIndicationHighlighting"
            isGoToPreviousNavigationTarget="true"
            verticalRulerPreferenceKey="ajdtWarningIndicationInVerticalRuler"
            contributesToHeader="true"
            colorPreferenceValue="244,200,45"
            overviewRulerPreferenceValue="true">
      </specification>
    </extension>
   
   <extension
      point="org.eclipse.ui.editors.annotationTypes">
      <type
         name="org.eclipse.ajdt.ui.error"
         markerType="org.eclipse.ajdt.ui.problemmarker"
         markerSeverity="2">
      </type>
      <type
         name="org.eclipse.ajdt.ui.warning"
         markerType="org.eclipse.ajdt.ui.problemmarker"
         markerSeverity="1">
      </type>
    </extension>

<!-- Dynamic Advice Markers -->
   <extension
		  id="dynamicadvicemarker"
          name="%dynamicAdviceMarker"
          point="org.eclipse.core.resources.markers">
          <super type="org.eclipse.ajdt.ui.advicemarker"/>
      <persistent
            value="true">
      </persistent>
   </extension>
   <extension
   	      id="dynamicbeforeadvicemarker"
   	      name="%dynamicBeforeAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.advicemarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>
   <extension
   	      id="dynamicafteradvicemarker"
   	      name="%dynamicAfterAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.advicemarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>
    <extension
   	      id="dynamicaroundadvicemarker"
   	      name="%dynamicAroundAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.advicemarker">
      </super>
      <persistent
            value="true">
      </persistent>
	</extension>

   <extension
		  id="sourcedynamicadvicemarker"
          name="%sourceDynamicAdviceMarker"
          point="org.eclipse.core.resources.markers">
          <super type="org.eclipse.ajdt.ui.sourceadvicemarker"/>
      <persistent
            value="true">
      </persistent>
   </extension>
   <extension
   	      id="sourcedynamicbeforeadvicemarker"
   	      name="%sourceDynamicBeforeAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.sourceadvicemarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>
   <extension
   	      id="sourcedynamicafteradvicemarker"
   	      name="%sourceDynamicAfterAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.sourceadvicemarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>
    <extension
   	      id="sourcedynamicaroundadvicemarker"
   	      name="%sourceDynamicAroundAdviceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.sourceadvicemarker">
      </super>
      <persistent
            value="true">
      </persistent>
	</extension>

	
 <!-- Aspect Declaration Markers -->
 
     <extension
   	      id="declarationmarker"
   	      name="%declarationMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.textmarker">
      </super>
      <persistent
            value="true">
      </persistent>
      <attribute
            name="sourceLocationOfAdvice">
      </attribute>
    </extension>  
    <extension
   	      id="itdmarker"
   	      name="%intertypeDeclarationMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.declarationmarker">
      </super>
      <persistent
            value="true">
      </persistent>
	</extension>

    <extension
   	      id="sourceitdmarker"
   	      name="%intertypeDeclarationSourceMarker"
   	      point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.ajdt.ui.declarationmarker">
      </super>
      <persistent
            value="true">
      </persistent>
	</extension>


 
 <!-- Marker declarations -->   
     	<extension point="org.eclipse.ui.editors.annotationTypes">
      <type
        	name="org.eclipse.ajdt.advice"
			markerType="org.eclipse.ajdt.ui.advicemarker">
      </type>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.sourceandtargetmarker"
            name="org.eclipse.ajdt.sourceAndTarget"/>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.dynamicsourceandtargetmarker"
            name="org.eclipse.ajdt.dynamicSourceAndTarget"/>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.dynamicadvicemarker"
            name="org.eclipse.ajdt.dynamicAdvice"/>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.afteradvicemarker"
            name="org.eclipse.ajdt.afterAdvice"/>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.beforeadvicemarker"
            name="org.eclipse.ajdt.beforeAdvice"/>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.aroundadvicemarker"
            name="org.eclipse.ajdt.aroundAdvice"/>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.sourceadvicemarker"
            name="org.eclipse.ajdt.sourceAdvice"/>            
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.sourcedynamicadvicemarker"
            name="org.eclipse.ajdt.sourceDynamicAdvice"/>
      <type
            super="org.eclipse.ajdt.sourceAdvice"
            markerType="org.eclipse.ajdt.ui.sourcebeforeadvicemarker"
            name="org.eclipse.ajdt.sourceBeforeAdvice"/>            
      <type
            super="org.eclipse.ajdt.sourceAdvice"
            markerType="org.eclipse.ajdt.ui.sourceafteradvicemarker"
            name="org.eclipse.ajdt.sourceAfterAdvice"/>            
      <type
            super="org.eclipse.ajdt.sourceAdvice"
            markerType="org.eclipse.ajdt.ui.sourcearoundadvicemarker"
            name="org.eclipse.ajdt.sourceAroundAdvice"/>            
	  <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.dynamicafteradvicemarker"
            name="org.eclipse.ajdt.dynamicAfterAdvice"/>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.dynamicbeforeadvicemarker"
            name="org.eclipse.ajdt.dynamicBeforeAdvice"/>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.dynamicaroundadvicemarker"
            name="org.eclipse.ajdt.dynamicAroundAdvice"/>            
	  <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.sourcedynamicafteradvicemarker"
            name="org.eclipse.ajdt.sourceDynamicAfterAdvice"/>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.sourcedynamicbeforeadvicemarker"
            name="org.eclipse.ajdt.sourceDynamicBeforeAdvice"/>
      <type
            super="org.eclipse.ajdt.advice"
            markerType="org.eclipse.ajdt.ui.sourcedynamicaroundadvicemarker"
            name="org.eclipse.ajdt.sourceDynamicAroundAdvice"/>
	  <type
            markerType="org.eclipse.ajdt.ui.declarationmarker"
            name="org.eclipse.ajdt.aspectDeclaration"/>
	  <type
   		 	super="org.eclipse.ajdt.aspectDeclaration"
            markerType="org.eclipse.ajdt.ui.itdmarker"
            name="org.eclipse.ajdt.intertypeDeclaration"/>
	  <type
   		 	super="org.eclipse.ajdt.aspectDeclaration"
            markerType="org.eclipse.ajdt.ui.annotatedmarker"
            name="org.eclipse.ajdt.annotationDeclaration"/>
	  <type
   		 	super="org.eclipse.ajdt.aspectDeclaration"
            markerType="org.eclipse.ajdt.ui.sourceitdmarker"
            name="org.eclipse.ajdt.sourceIntertypeDeclaration"/>
	  <type
   		 	super="org.eclipse.ajdt.aspectDeclaration"
            markerType="org.eclipse.ajdt.ui.sourceannotatedmarker"
            name="org.eclipse.ajdt.sourceAnnotationDeclaration"/>
	</extension>


	
	<extension
	     point="org.eclipse.ui.editors.markerAnnotationSpecification">
	     <specification
      		annotationType="org.eclipse.ajdt.advice"
            	label="%advice"
            	icon="icons/markers/advice.gif"
            	textPreferenceKey="adviceIndication"
            	textPreferenceValue="true"
            	overviewRulerPreferenceKey="adviceIndicationInOverviewRuler"
            	overviewRulerPreferenceValue="true"
            	verticalRulerPreferenceKey="adviceIndicationInVerticalRuler"
            	verticalRulerPreferenceValue="true"
            	colorPreferenceKey="adviceIndicationColor"
            	colorPreferenceValue="222,109,33"
            	presentationLayer="4">
 	     </specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceAndTarget"
			icon="icons/markers/source_and_target.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.dynamicSourceAndTarget"
			icon="icons/markers/dynamic_source_and_target.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.dynamicAdvice"
			icon="icons/markers/dynamic_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.beforeAdvice"
			icon="icons/markers/before_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.afterAdvice"
			icon="icons/markers/after_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.aroundAdvice"
			icon="icons/markers/around_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceAdvice"
			icon="icons/markers/source_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceDynamicAdvice"
			icon="icons/markers/source_dynamic_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceBeforeAdvice"
			icon="icons/markers/source_before_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceAfterAdvice"
			icon="icons/markers/source_after_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceAroundAdvice"
			icon="icons/markers/source_around_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.dynamicBeforeAdvice"
			icon="icons/markers/dynamic_before_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.dynamicAfterAdvice"
			icon="icons/markers/dynamic_after_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.dynamicAroundAdvice"
			icon="icons/markers/dynamic_around_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceDynamicBeforeAdvice"
			icon="icons/markers/source_dynamic_before_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceDynamicAfterAdvice"
			icon="icons/markers/source_dynamic_after_advice.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceDynamicAroundAdvice"
			icon="icons/markers/source_dynamic_around_advice.gif">
		</specification>
		
		<!-- Aspect Declaration Markers -->
		<specification
			annotationType="org.eclipse.ajdt.aspectDeclaration"
			label="%aspectDeclaration"
			icon="icons/markers/advice.gif"
        	textPreferenceKey="decIndication"
        	textPreferenceValue="true"
        	overviewRulerPreferenceKey="decIndicationInOverviewRuler"
        	overviewRulerPreferenceValue="true"
        	verticalRulerPreferenceKey="decIndicationInVerticalRuler"
        	verticalRulerPreferenceValue="true"
        	colorPreferenceKey="itdIndicationColor"
        	colorPreferenceValue="222,109,33"
        	presentationLayer="4">
        </specification>
		<specification
			annotationType="org.eclipse.ajdt.intertypeDeclaration"
			icon="icons/markers/itd.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.annotationDeclaration"
			icon="icons/markers/itd.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceIntertypeDeclaration"
			icon="icons/markers/source_itd.gif">
		</specification>
		<specification
			annotationType="org.eclipse.ajdt.sourceAnnotationDeclaration"
			icon="icons/markers/source_itd.gif">
		</specification>
	</extension>
  
<!-- AJDT Visualiser Provider Definition -->
   <extension
         id="ajdt_provider"
         name="%ajdtProvider"
         point="org.eclipse.contribution.visualiser.providers">
      <provider
            markupProviderClass="org.eclipse.ajdt.internal.ui.visualiser.AJDTMarkupProvider"
            name="%aspectJProvider"
            priority="10"
            description="%aspectJProvider.description"
            emptyMessage="%aspectJProvider.emptyMessage"
            contentProviderClass="org.eclipse.ajdt.internal.ui.visualiser.AJDTContentProvider"
            id="ajdtprovider"
            paletteid="ajdtpalette">
      </provider>
      
   </extension>
   <extension
         point="org.eclipse.contribution.visualiser.palettes">
         <palette class="org.eclipse.ajdt.internal.ui.visualiser.AJDTPalette"
             name="%ajdtPalette"
             id="ajdtpalette">
         </palette>
   </extension>

<!-- AJDT Help -->
  <extension point="org.eclipse.help.toc">
   <toc file="toc.xml" primary="true" />
   </extension>
   <extension point="org.eclipse.help.toc">
       <toc file="topics_GettingStarted.xml" />    
       <toc file="topics_Tasks.xml" />    
       <toc file="topics_Concepts.xml" />    
   </extension> 
  	
  	<extension point="org.eclipse.help.contexts"> 
		<contexts file="contexts_AJDT.xml" plugin="org.eclipse.ajdt.ui"/> 
		<contexts file="contexts_XRef.xml" plugin="org.eclipse.contribution.xref.ui"/> 
	</extension>
	 
<extension 
	point="org.eclipse.ui.perspectives">
	<perspective
		id="org.eclipse.ajdt.ui.visualiser.AspectVisualizationPerspective"
		name="%aspectVisualizationPerspective"
		icon="icons/aspect_visualization.gif"
		class="org.eclipse.ajdt.internal.ui.visualiser.AspectVisualizerPerspectiveFactory">
	</perspective>
</extension>


   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%generateajdoc"
            visible="true"
            id="org.eclipse.ajdt.generateajdoc.actionset">
         <action
               label="%generateajdoc"
               class="org.eclipse.ajdt.internal.ui.actions.GenerateAJdocAction"
               menubarPath="project/additions"
               id="generateajdoc">
         </action>
      </actionSet>
   </extension>

   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            lightweight="false"
            label="%ajElementDecorator.label"
            class="org.eclipse.ajdt.internal.ui.ImageDecorator"
            state="true"
            id="org.eclipse.ajdt.ui.decorator">
         <description>
			%ajElementDecorator.description
		 </description>
         <enablement>
            <objectClass
                  name="java.lang.Object">
            </objectClass>
         </enablement>
      </decorator>
      <decorator
            lightweight="true"
            label="%advisesDecorator.label"
            class="org.eclipse.ajdt.internal.ui.AdviceImageDecorator"
            state="true"
            adaptable="true"
            id="org.eclipse.ajdt.ui.advicedecorator">
         <description>
			%advisesDecorator.description
		 </description>
         <enablement>
            <objectClass
                  name="java.lang.Object">
            </objectClass>
         </enablement>
      </decorator>
   </extension>
   <extension
         point="org.eclipse.ui.cheatsheets.cheatSheetContent">
      <category
            name="%aspectj"
            id="org.eclipse.ajdt.aspectjCheatSheetCategory"/>
      <cheatsheet
            category="org.eclipse.ajdt.aspectjCheatSheetCategory"
            contentFile="cheatsheets/HelloWorld.xml"
            name="Hello World AspectJ Application"
            id="org.eclipse.ajdt.helloworld"/>
   </extension>
   <extension
         point="org.eclipse.ui.intro.configExtension">
      <configExtension
            configId="org.eclipse.platform.introConfig"
            content="intro/eclipse/ajdtOverviewExtensionContent.xml"/>

      <configExtension
            configId="org.eclipse.platform.introConfig"
            content="intro/eclipse/ajdtTutorialsExtensionContent.xml"/>  
      
      <configExtension
            configId="org.eclipse.platform.introConfig"
            content="intro/eclipse/ajdtSamplesExtensionContent.xml"/>
            
      <configExtension
            configId="org.eclipse.platform.introConfig"
            content="intro/eclipse/ajdtNewsExtensionContent.xml"/>

	  <!--
	      Below are welcome page extensions for IBM Rational tooling.
	  --> 
      <configExtension
            configId="com.ibm.rational.welcome.core.introConfig"
            content="intro/rad/radAjdtOverviewExtensionContent.xml"/>

      <configExtension
            configId="com.ibm.rational.welcome.core.introConfig"
            content="intro/rad/radAjdtTutorialsExtensionContent.xml"/>  
      
      <configExtension
            configId="com.ibm.rational.welcome.core.introConfig"
            content="intro/rad/radAjdtSamplesExtensionContent.xml"/>
            
      <configExtension
            configId="com.ibm.rational.welcome.core.introConfig"
            content="intro/rad/radAjdtNewsExtensionContent.xml"/>

      <configExtension
            configId="com.ibm.rational.welcome.core.introConfig"
            content="intro/rad/radAjdtWebExtensionContent.xml"/>


   </extension>
   
   <extension
         point="org.eclipse.jdt.launching.runtimeClasspathEntryResolvers">
      <runtimeClasspathEntryResolver
            class="org.eclipse.ajdt.internal.ui.ajde.CachedRuntimeClasspathEntryResolver"
            runtimeClasspathEntryId="org.eclipse.jdt.launching.classpathentry.defaultClasspath"
            id="org.eclipse.ajdt.internal.ui.cachedRuntimeClasspathEntryResolver"/>
   </extension>
  
   <extension point="org.eclipse.ui.actionSetPartAssociations">
  	<actionSetPartAssociation 
  		targetID="org.eclipse.jdt.ui.A_OpenActionSet">
		<part id="org.eclipse.ajdt.internal.ui.editor.CompilationUnitEditor" /> 
    </actionSetPartAssociation>
  	<actionSetPartAssociation 
		targetID="org.eclipse.jdt.ui.CodingActionSet">
		<part id="org.eclipse.ajdt.internal.ui.editor.CompilationUnitEditor" /> 
    </actionSetPartAssociation>
    <actionSetPartAssociation targetID="org.eclipse.jdt.ui.SearchActionSet">
  		<part id="org.eclipse.ajdt.internal.ui.editor.CompilationUnitEditor" /> 
  	</actionSetPartAssociation>
    <actionSetPartAssociation 
		targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
		<part id="org.eclipse.ajdt.internalt.ui.editor.CompilationUnitEditor" /> 
   </actionSetPartAssociation>
   <actionSetPartAssociation 
		targetID="org.eclipse.ui.edit.text.actionSet.presentation">
		<part id="org.eclipse.ajdt.internal.ui.editor.CompilationUnitEditor" /> 
   </actionSetPartAssociation>
   <actionSetPartAssociation 
		targetID="org.eclipse.jdt.ui.text.java.actionSet.presentation">
		<part id="org.eclipse.ajdt.internal.ui.editor.CompilationUnitEditor" /> 
   </actionSetPartAssociation>
  </extension>
  
   <extension
         point="org.eclipse.jdt.ui.quickFixProcessors">
      <quickFixProcessor
            name="%defaultQuickFixProcessor"
            class="org.eclipse.ajdt.internal.ui.editor.quickfix.QuickFixProcessor"
            id="org.eclipse.ajdt.ui.editor.quickfix.QuickFixProcessor">
      </quickFixProcessor>
      <quickFixProcessor
            name="%ajQuickFixProcessor"
            class="org.eclipse.ajdt.internal.ui.editor.quickfix.AJQuickFixProcessor"
            id="org.eclipse.ajdt.ui.editor.quickfix.AJQuickFixProcessor">
      </quickFixProcessor>
    </extension>
  
  <!-- Launching extensions -->  
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            name="%launcherName"
            delegate="org.eclipse.ajdt.internal.launching.AJApplicationLaunchConfigurationDelegate"
            modes="run, debug"
            id="org.eclipse.ajdt.launching.AspectJApplication"
            sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
            sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
      </launchConfigurationType>
   </extension>
	<extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            icon="icons/actions/aj_app.gif"
            configTypeID="org.eclipse.ajdt.launching.AspectJApplication"
            id="org.eclipse.ajdt.launchimage">
      </launchConfigurationTypeImage>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="org.eclipse.ajdt.launching.AspectJApplication"
            class="org.eclipse.ajdt.internal.launching.AJTabGroup"
            id="org.eclipse.ajdt.aspectjLaunchConfigurationTabGroup.junit">
         <launchMode
               perspective="org.eclipse.debug.ui.DebugPerspective"
               description="%launcherDescription"
               mode="debug">
         </launchMode>
         <launchMode
               description="%launcherDescription"
               mode="run">
         </launchMode>
      </launchConfigurationTabGroup>
   </extension>
   
<!-- Load-Time Weaving launch configuration -->
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            name="%ltwLauncherName"
            delegate="org.eclipse.ajdt.internal.launching.LTWApplicationLaunchConfigurationDelegate"
            modes="run, debug"
            id="org.eclipse.ajdt.launching.AspectJLTWApplication"
            sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
            sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
      </launchConfigurationType>
   </extension>
	<extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            icon="icons/actions/ltw_app.gif"
            configTypeID="org.eclipse.ajdt.launching.AspectJLTWApplication"
            id="org.eclipse.ajdt.ltwlaunchimage">
      </launchConfigurationTypeImage>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="org.eclipse.ajdt.launching.AspectJLTWApplication"
            class="org.eclipse.ajdt.internal.launching.LTWTabGroup"
            id="org.eclipse.ajdt.aspectjLTWLaunchConfigurationTabGroup">
         <launchMode
               perspective="org.eclipse.debug.ui.DebugPerspective"
               description="%ltwLauncherDescription"
               mode="debug">
         </launchMode>
         <launchMode
               description="%ltwLauncherDescription"
               mode="run">
         </launchMode>
      </launchConfigurationTabGroup>
   </extension>
   
	<!-- Extensions for launch shortcuts -->
   <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            label="%AspectJApplicationShortcut.label"
            icon="icons/actions/aj_app.gif"
            class="org.eclipse.ajdt.internal.launching.AspectJApplicationLaunchShortcut"
            modes="run, debug"
            id="org.eclipse.ajdt.launching.runShortcut">
         <contextualLaunch>
            <enablement>
               <with
                     variable="selection">
                  <count
                        value="1">
                  </count>
               		<iterate>
                 		<or>
                   			<test property="org.eclipse.debug.ui.matchesPattern" value="*.java"/>
                   			<test property="org.eclipse.debug.ui.matchesPattern" value="*.aj"/>
                   			<test property="org.eclipse.debug.ui.matchesPattern" value="*.class"/>
                   			<instanceof value="org.eclipse.jdt.core.IJavaElement"/>
                 		</or>
               		</iterate>
               </with>
            </enablement>
         </contextualLaunch>
         <perspective
               id="org.eclipse.jdt.ui.JavaPerspective">
         </perspective>
         <perspective
               id="org.eclipse.jdt.ui.JavaHierarchyPerspective">
         </perspective>
         <perspective
               id="org.eclipse.jdt.ui.JavaBrowsingPerspective">
         </perspective>
         <perspective
               id="org.eclipse.debug.ui.DebugPerspective">
         </perspective>
      </shortcut>
   </extension>
    
   <extension
         point="org.eclipse.contribution.xref.core.providers">
      <xrefProvider
            label="%ajXRefProvider"
            enabled="true"
            class="org.eclipse.ajdt.internal.ui.xref.AJXReferenceProvider"
            id="org.eclipse.ajdt.ui.xref.providers.AJXReferenceProvider">
      </xrefProvider>
   </extension>

	<extension point="org.eclipse.core.runtime.adapters">
         <factory 
            class="org.eclipse.ajdt.internal.debug.ui.actions.AJRetargettableActionAdapterFactory" 
            adaptableType="org.eclipse.ajdt.internal.ui.editor.AspectJEditor">
            <adapter type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget"/>
         </factory>
    </extension>

   <extension
         point="org.eclipse.jdt.ui.javaEditorTextHovers">
      <hover 
            label="%pointcutSourceHover"
            description="%pointcutSourceHoverDescription"
            class="org.eclipse.ajdt.internal.ui.editor.PointcutSourceHover"
            id="zorg.eclipse.ajdt.ui.PointcutSourceHover">
      </hover>
   </extension>

  <!-- extensions relating to Crosscutting Comparison view -->
  <extension point="org.eclipse.ui.views">
    <view name="%CompareCrosscutting.view" 
    	icon="icons/diff/compare_view.gif" 
    	category="org.eclipse.ajdt.ui.cat" 
    	class="org.eclipse.ajdt.internal.ui.diff.ChangesView" 
    	id="org.eclipse.ajdt.ui.diff.ChangesView" /> 
  </extension>
  <extension point="org.eclipse.ui.actionSets">
      <actionSet
            label="%SaveCrosscuttingMapActionGroup"
            visible="true"
            id="org.eclipse.ajdt.diff.actionSet">
         <action
               label="%SaveCrosscuttingMapAction"
               class="org.eclipse.ajdt.internal.ui.diff.SaveCrosscuttingMap"
               menubarPath="project/additions"
               id="org.eclipse.ajdt.diff.saveMap">
         </action>
      </actionSet>
   </extension>
   <extension
         point="org.eclipse.ui.popupMenus">
         <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="*.ajmap"
            id="ajmap">
         <menu
               label="%org.eclipse.ajdt.ui.tools"
               id="org.eclipse.ajdt.ui.feature.tools">
            <separator
                  name="group0">
            </separator>
            <separator
                  name="group1">
            </separator>
            <separator
                  name="group2">
            </separator>
         </menu>
         <action
               label="%CompareCrosscutting.submenu.eachOther"
               class="org.eclipse.ajdt.internal.ui.diff.CompareAction"
               menubarPath="org.eclipse.ajdt.ui.feature.tools/group1"
               enablesFor="2"
               id="ajmappopup">
         </action>
         <action
               label="%CompareCrosscutting.submenu.currentBuild"
               class="org.eclipse.ajdt.internal.ui.diff.CompareAction"
               menubarPath="org.eclipse.ajdt.ui.feature.tools/group1"
               enablesFor="1"
               id="compareCrosscuttingWithCurrentBuild">
         </action>
      </objectContribution>
            <objectContribution
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            id="iprojectcontributions">
         <visibility>
         	<objectState name="nature" value="org.eclipse.ajdt.ui.ajnature"/>
         </visibility>
         <action
               label="%SaveCrosscuttingMapAction"
               class="org.eclipse.ajdt.internal.ui.diff.SaveCrosscuttingMap"
               menubarPath="org.eclipse.ajdt.ui.feature.tools/group1"
               id="org.eclipse.ajdt.diff.saveMap"
               enablesFor="1">
         </action>
      </objectContribution>
    </extension>
    <extension
         id="editors"
         point="org.eclipse.ui.editors">
       <editor
            name="%AJMapEditor"
            icon="icons/diff/ajmap_file.gif"
            extensions="ajmap"
            class="org.eclipse.ajdt.internal.ui.diff.AJMapEditor"
            id="AJMapEditor">
      </editor>
    </extension>      
       
       
<!-- EXPERIMENTAL (for debugging purposes only)
  <extension point="org.eclipse.ui.views">
    <view name="Structure Model" 
    	icon="icons/editor.gif" 
    	category="org.eclipse.ajdt.ui.cat" 
    	class="org.eclipse.ajdt.internal.ui.ajde.StructureModelView" 
    	id="org.eclipse.ajdt.ui.ajde.StructureModelView" /> 
  </extension>
-->

<!-- EXPERIMENTAL
  <extension point="org.eclipse.ui.views">
    <view name="Pointcut Navigator" 
    	icon="icons/structure/after_advice.gif" 
    	category="org.eclipse.ajdt.ui.cat" 
    	class="org.eclipse.ajdt.internal.ui.navigator.PointcutNavigatorView" 
    	id="org.eclipse.ajdt.ui.navigator.PointcutNavigatorView" /> 
  </extension>
-->


</plugin>