<?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"/>
      <section
         id="org.eclipse.libra.framework.equinox.editor.instance"
         order="0"
         insertionId="org.eclipse.wst.server.editor.overview.right"
         typeIds="org.eclipse.libra.framework.felix.serverType.*"
         class="org.eclipse.libra.framework.ui.JMXPropertiesEditorSection"/>

   </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>
    </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>
