<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
      Copyright (c) 2010 Eteration A.S. and others.
      All rights reserved. This program and the accompanying materials
      are made available under the terms of the Eclipse Public License v1.0
      which accompanies this distribution, and is available at
      http://www.eclipse.org/legal/epl-v10.html
     
      Contributors:
         Naci Dai and Murat Yener, Eteration A.S. - Initial API and implementation
 -->

<plugin>
   <extension point="org.eclipse.wst.server.ui.serverImages">
      <image
         id="org.eclipse.libra.framework.felix.20x"
         icon="icons/obj16/felix.gif"
         typeIds="org.eclipse.libra.framework.felix.serverType.20x"/>

      <image
         id="org.eclipse.libra.framework.felix.runtimeType.20x"
         icon="icons/obj16/felix.gif"
         typeIds="org.eclipse.libra.framework.felix.runtimeType.20x"/>


      <image
         id="org.eclipse.libra.framework.felix.30x"
         icon="icons/obj16/felix.gif"
         typeIds="org.eclipse.libra.framework.felix.serverType.30x"/>

      <image
         id="org.eclipse.libra.framework.felix.runtimeType.30x"
         icon="icons/obj16/felix.gif"
         typeIds="org.eclipse.libra.framework.felix.runtimeType.30x"/>
   </extension>
   
   <extension point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
         id="org.eclipse.libra.framework.felix.ui.propertyTester"
         namespace="org.eclipse.libra.framework.felix.ui"
         properties="hasConfiguration"
         type="java.lang.Object"
         class="org.eclipse.libra.framework.felix.ui.internal.ConfigurationPropertyTester">
      </propertyTester>
   </extension>

   <extension point="org.eclipse.wst.server.ui.editorPages">
      <page
         id="org.eclipse.libra.framework.felix.ui.editor.osgimodule"
         order="20"
         name="%configurationEditorOSGiModulesPage"
         typeIds="org.eclipse.libra.framework.felix.serverType.*"
         class="org.eclipse.libra.framework.ui.internal.editor.ConfigurationOSGiModuleEditorPart">
         <enablement>
           <test property="org.eclipse.libra.framework.felix.ui.hasConfiguration" value="true"/>
         </enablement>
      </page>
   </extension>

   <extension point="org.eclipse.wst.server.ui.editorPages">
      <page
         id="org.eclipse.libra.framework.felix.ui.editor.osgimodule"
         order="22"
         name="Target Platform Profile"
         typeIds="org.eclipse.libra.framework.felix.serverType.*"
         class="org.eclipse.libra.framework.ui.internal.editor.TargetDefinitionEditorPart">
         <enablement>
           <test property="org.eclipse.libra.framework.felix.ui.hasConfiguration" value="true"/>
         </enablement>
      </page>
   </extension>

   <extension point="org.eclipse.wst.server.ui.editorPageSections">
      <section
         id="org.eclipse.libra.framework.felix.editor.instance"
         order="0"
         insertionId="org.eclipse.wst.server.editor.overview.left"
         typeIds="org.eclipse.libra.framework.felix.serverType.*"
         class="org.eclipse.libra.framework.ui.internal.editor.FrameworkInstanceLocationEditorSection"/>

   </extension>
   
   <extension point="org.eclipse.wst.server.ui.wizardFragments">
      <fragment
         id="org.eclipse.libra.framework.felix.20x"
         typeIds="org.eclipse.libra.framework.felix.runtimeType.20x"
         class="org.eclipse.libra.framework.ui.OSGIFrameworkWizardFragment"/>
      <fragment
         id="org.eclipse.libra.framework.felix.30x"
         typeIds="org.eclipse.libra.framework.felix.runtimeType.30x"
         class="org.eclipse.libra.framework.ui.OSGIFrameworkWizardFragment"/>
   </extension>

  <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
    <launchConfigurationTypeImage
      id="org.eclipse.libra.framework.felix.20x.launchConfig.image"
      configTypeID="org.eclipse.libra.framework.felix.launchConfigurationType"
      icon="icons/obj16/felix.gif">
    </launchConfigurationTypeImage>
    <launchConfigurationTypeImage
      id="org.eclipse.libra.framework.felix.30x.launchConfig.image"
      configTypeID="org.eclipse.libra.framework.felix.launchConfigurationType"
      icon="icons/obj16/felix.gif">
    </launchConfigurationTypeImage>
  </extension>

  <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
    <launchConfigurationTabGroup
      id="org.eclipse.libra.framework.felix.ui.launchConfigurationTabGroup"
      type="org.eclipse.libra.framework.felix.launchConfigurationType"
      class="org.eclipse.libra.framework.ui.GenericOSGILaunchConfigurationTabGroup">
    </launchConfigurationTabGroup>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.ui.images">
    <image runtime-component-type="org.eclipse.libra.framework.felix.runtimeType"
      path="icons/obj16/felix.gif"/>
  </extension>



  <extension point="org.eclipse.ui.popupMenus">
    <objectContribution
      adaptable="true"
      id="org.eclipse.libra.framework.felix.ui.serveractions"
      objectClass="org.eclipse.wst.server.core.IServer">
      <visibility>
          <objectState name="serverType" value="org.eclipse.libra.framework.felix.serverType.*"/>
      </visibility>
      <action 
        class="org.eclipse.libra.framework.ui.internal.actions.CleanWorkDirAction"
        enablesFor="1"
        id="org.eclipse.libra.framework.felix.ui.cleanserverworkdir"
        label="%cleanFelixWorkDir">
      </action>
      <action 
        class="org.eclipse.libra.framework.ui.internal.actions.SyncStartAction"
        enablesFor="1"
        id="org.eclipse.libra.framework.felix.ui.syncstart"
        label="OSGi Run">
      </action>
      <action 
        class="org.eclipse.libra.framework.ui.internal.actions.SyncDebugAction"
        enablesFor="1"
        id="org.eclipse.libra.framework.felix.ui.syncdebug"
        label="OSGi Debug">
      </action>
    </objectContribution>
    <objectContribution
      adaptable="true"
      id="org.eclipse.libra.framework.felix..ui.serveractions"
      objectClass="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer">
      <visibility>
        <and>
          <objectState name="serverType" value="org.eclipse.libra.framework.felix.serverType.*"/>
          <objectState name="moduleType" value="osgi.bundle"/>
        </and>
      </visibility>
      <action
        class="org.eclipse.libra.framework.ui.internal.actions.CleanWorkDirAction"
        enablesFor="1"
        id="org.eclipse.libra.framework.felix.ui.cleanmoduleworkdir"
        label="%cleanFelixModuleWorkDir">
      </action>
    </objectContribution>
  </extension>

  <extension point="org.eclipse.wst.server.core.publishers">
     <publisher
        id="org.eclipse.libra.framework.felix.ui.context"
        typeIds="org.eclipse.libra.framework.felix.serverType.*"
        name="%publisherContextFixLabel"
        description="%publisherContextFixDescription"
        order=""
        class="org.eclipse.libra.framework.ui.internal.ModulePublisherDelegate"/>
  </extension>
</plugin>
