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

<plugin>
  <extension-point id="editorPages" name="%extensionPointEditorPages" schema="schema/editorPages.exsd"/>
  <extension-point id="editorPageSections" name="%extensionPointEditorPageSections" schema="schema/editorPageSections.exsd"/>
  <extension-point id="editorActions" name="%extensionPointEditorActions" schema="schema/editorActions.exsd"/>
  <extension-point id="serverImages" name="%extensionPointServerImages" schema="schema/serverImages.exsd"/>
  <extension-point id="wizardFragments" name="%extensionPointWizardFragments" schema="schema/wizardFragments.exsd"/>

<extension point="org.eclipse.ui.ide.projectNatureImages">
  <image
    id="org.eclipse.wst.server.ui.projectNatureImage"
    natureId="org.eclipse.wst.server.core.nature"
    icon="icons/ovr16/server_ovr.gif"/>
</extension>

<extension point="org.eclipse.ui.newWizards">
  <category
    id="org.eclipse.wst.server.ui"
    name="%wizardCategoryTitle"/>

  <wizard
      id="org.eclipse.wst.server.ui.new.server"
      name="%newServer"
      class="org.eclipse.wst.server.ui.internal.wizard.NewServerWizard"
      category="org.eclipse.wst.server.ui"
      icon="icons/ctool16/wiz_new_server.gif">
    <description>%newServerDescription</description>
  </wizard>
</extension>

<!--
<extension point="org.eclipse.ui.importWizards">
  <wizard
      id="org.eclipse.wst.server.ui.import.configuration"
      name="%importServerConfiguration"
      class="org.eclipse.wst.server.ui.internal.wizard.ImportServerConfigurationWizard"
      icon="icons/ctool16/wiz_import_configuration.gif">
    <description>%importServerConfigurationDescription</description>
  </wizard>
</extension>
-->

<extension point="org.eclipse.ui.views"> 
  <category
    id="org.eclipse.wst.server.ui"
    name="%viewCategoryTitle"/>

  <view
    id="org.eclipse.wst.server.ui.ServersView"
    name="%viewServersTitle"
    category="org.eclipse.wst.server.ui"
    class="org.eclipse.wst.server.ui.internal.view.servers.ServersView"
    icon="icons/cview16/servers_view.gif"/>
</extension>

<extension point="org.eclipse.ui.perspectiveExtensions">
  <perspectiveExtension
    targetID="org.eclipse.debug.ui.DebugPerspective">
    <view
      relative="org.eclipse.debug.ui.DebugView"
      relationship="stack"
      id="org.eclipse.wst.server.ui.ServersView">
    </view>
  </perspectiveExtension>
</extension>

<extension point="org.eclipse.ui.preferencePages">
  <page
    id="org.eclipse.wst.server.ui.preferencePage"
    name="%preferenceServersTitle"
    class="org.eclipse.wst.server.ui.internal.ServerPreferencePage"/>
  <page
    id="org.eclipse.wst.server.ui.runtime.preferencePage"
    name="%preferenceRuntimesTitle"
    category="org.eclipse.wst.server.ui.preferencePage"
    class="org.eclipse.wst.server.ui.internal.RuntimePreferencePage"/>
</extension>

<extension point="org.eclipse.ui.editors">
  <editor id="org.eclipse.wst.server.ui.editor"
    name="%serverEditor"
    icon="icons/obj16/server.gif"
    extensions="server"
    default="true"
    class="org.eclipse.wst.server.ui.internal.editor.ServerEditor"
    contributorClass="org.eclipse.wst.server.ui.internal.editor.ServerEditorActionBarContributor"/>
</extension>

<extension point="org.eclipse.ui.elementFactories">
  <factory id="org.eclipse.wst.server.ui.editor.input.factory"
    class="org.eclipse.wst.server.ui.internal.editor.ServerEditorInputFactory"/>
</extension>

<extension point="org.eclipse.ui.propertyPages">
  <page
    id="org.eclipse.wst.server.ui.project.properties"
    name="%propertiesServer"
    objectClass="org.eclipse.core.resources.IProject"
    adaptable="true"
    class="org.eclipse.wst.server.ui.internal.ProjectPropertyPage"/>
</extension>

<extension point="org.eclipse.ui.actionSets">
  <actionSet
    id="org.eclipse.wst.server.ui.new.actionSet"
    label="%actionSetTitle"
    visible="false">
    <action
      id="org.eclipse.wst.server.ui.action.new.server"
      toolbarPath="servers"
      label="%actionSetNewServer"
      tooltip="%actionSetNewServer"
      icon="icons/ctool16/wiz_new_server.gif"
      class="org.eclipse.wst.server.ui.internal.actions.NewServerAction"/>
  </actionSet>
</extension>

<extension point="org.eclipse.debug.ui.launchShortcuts">
   <shortcut id="org.eclipse.wst.server.core.launchShortcut"
      label="%serverLaunchShortcut"
      class="org.eclipse.wst.server.ui.internal.ServerLaunchShortcut"
      modes="run, debug, profile"
      path="aa"
      icon="icons/etool16/run_on_server.gif">
      <contextualLaunch>
        <enablement>
           <with variable="selection">
             <count value="1"/>
             <iterate>
                <test property="org.eclipse.wst.server.ui.isRunnable" value="true"/>
             </iterate>
           </with>
         </enablement>
      
        <contextLabel
           mode="run"
           label="%actionRunOnServer"/>
        <contextLabel
           mode="debug"
           label="%actionDebugOnServer"/>
        <contextLabel
           mode="profile"
           label="%actionProfileOnServer"/>
      </contextualLaunch>
    <perspective id="org.eclipse.wst.server.ui.perspective"/>
    <perspective id="org.eclipse.jdt.ui.JavaPerspective"/>
    <perspective id="org.eclipse.jdt.ui.JavaHierarchyPerspective"/>
    <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
    <perspective id="org.eclipse.debug.ui.DebugPerspective"/>
    <perspective id="com.ibm.etools.j2ee.J2EEPerspective"/>
    <perspective id="org.eclipse.ui.resourcePerspective"/>
   </shortcut>
</extension>

<extension point="org.eclipse.core.expressions.propertyTesters">
   <propertyTester
      id="org.eclipse.wst.server.ui.propertyTester"
      namespace="org.eclipse.wst.server.ui"
      properties="isRunnable"
      type="java.lang.Object"
      class="org.eclipse.wst.server.ui.internal.ServerPropertyTester">
   </propertyTester>
</extension>

  <extension point="org.eclipse.ui.popupMenus">
    <objectContribution
      id="org.eclipse.wst.server.ui.popupMenu"
      objectClass="org.eclipse.wst.server.core.IServer"
      adaptable="true">
      <action
        id="org.eclipse.wst.server.ui.action.modifyModules"
        label="%actionModifyModules"
        icon="icons/ctool16/wiz_modify_modules.gif"
        class="org.eclipse.wst.server.ui.internal.actions.ModifyModulesAction">
      </action>
    </objectContribution>
  </extension>

  <extension point="org.eclipse.wst.server.ui.editorPages">
     <page
        id="org.eclipse.wst.server.editor.overview"
        order="-10000"
        name="%serverEditorOverviewPage"
        typeIds="*"
        insertionIds="org.eclipse.wst.server.editor.overview.left, org.eclipse.wst.server.editor.overview.right"
        class="org.eclipse.wst.server.ui.internal.editor.OverviewEditorPart"/>
  </extension>

  <extension point="org.eclipse.core.runtime.adapters">
    <factory
      class="org.eclipse.wst.server.ui.internal.ServerAdapterFactory"
      adaptableType="org.eclipse.wst.server.core.IServer">
      <adapter type="org.eclipse.ui.IActionFilter"/>
    </factory>
  </extension>

</plugin>