<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
   <extension-point id="org.fusesource.ide.jmx.ui.attribute.controls" name="Attribute Controls" schema="schema/attributeControls.exsd"/>
   <extension-point id="org.fusesource.ide.jmx.ui.attribute.bindings" name="Attribute Bindings" schema="schema/attributeBindings.exsd"/>
   <extension-point id="org.fusesource.ide.jmx.ui.providerUI" name="Connection Provider UI" schema="schema/providerUI.exsd"/>

   <extension
         point="org.eclipse.ui.views">
      <category
            name="Fuse"
            id="org.fusesource.ide">
      </category>
      <view
            category="org.fusesource.ide"
            class="org.fusesource.ide.jmx.ui.internal.views.navigator.Navigator"
            icon="icons/releng_gears.gif"
            id="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorer"
            name="%MBeanExplorer.name"
            restorable="true">
      </view>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewer
            viewerId="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorer">
      </viewer>
      <viewerContentBinding
            viewerId="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorer">
         <includes>
            <contentExtension
                  isRoot="true"
                  pattern="org.fusesource.ide.jmx.ui.internal.views.navigator.root">
            </contentExtension>
            <contentExtension
                  pattern="org.fusesource.ide.jmx.ui.internal.views.navigator.JMXLinkHelper">
            </contentExtension>
            <contentExtension
                  pattern="org.fusesource.ide.jmx.ui.internal.views.navigator.queryFilter">
            </contentExtension>
         </includes>
      </viewerContentBinding>
      <viewerActionBinding
            viewerId="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorer">
         <includes>
            <actionExtension
                  pattern="org.fusesource.ide.jmx.ui.internal.views.navigator.actionProvider">
            </actionExtension>
         </includes>
      </viewerActionBinding>
      <dragAssistant
            class="org.fusesource.ide.jmx.ui.internal.views.navigator.NavigatorDragAdapterAssistant"
            viewerId="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorer">
      </dragAssistant>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.linkHelper">
      <linkHelper
            class="org.fusesource.ide.jmx.ui.internal.views.navigator.JMXLinkHelper"
            id="org.fusesource.ide.jmx.ui.internal.views.navigator.JMXLinkHelper">
         <selectionEnablement>
            <or>
               <instanceof
                     value="org.fusesource.ide.jmx.core.IConnectionWrapper">
               </instanceof>
               <instanceof
                     value="org.fusesource.ide.commons.tree.Node">
               </instanceof>
               <instanceof
                     value="org.fusesource.ide.jmx.core.MBeanFeatureInfoWrapper">
               </instanceof>
            </or>
         </selectionEnablement>
         <editorInputEnablement>
            <or>
               <instanceof
                     value="java.lang.Object">
               </instanceof>
            </or>
         </editorInputEnablement>
      </linkHelper>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.navigatorContent">
      <navigatorContent
            activeByDefault="true"
            contentProvider="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorerContentProvider"
            icon="icons/sample.gif"
            id="org.fusesource.ide.jmx.ui.internal.views.navigator.root"
            labelProvider="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorerLabelProvider"
            name="MBeans"
            priority="normal">
         <triggerPoints>
            <instanceof
                  value="org.eclipse.ui.IViewPart">
            </instanceof>
         </triggerPoints>
         <possibleChildren>
            <or>
               <instanceof
                     value="org.fusesource.ide.commons.tree.Node">
               </instanceof>
               <instanceof
                     value="org.fusesource.ide.jmx.core.IConnectionProvider">
               </instanceof>
               <instanceof
                     value="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorerContentProvider$DelayProxy">
               </instanceof>
            </or>
         </possibleChildren>
         <dropAssistant
               class="org.fusesource.ide.jmx.ui.internal.views.navigator.NavigatorDropAdapterAssistant"
               id="org.fusesource.ide.jmx.ui.dropAssistant">
            <possibleDropTargets>
                           <or>
               <adapt
                     type="java.util.Collection">
                  <count
                        value="0">
                  </count>
               </adapt>
               <instanceof
                     value="org.fusesource.ide.commons.tree.Node">
               </instanceof>
            </or>
			</possibleDropTargets>
         </dropAssistant>
      </navigatorContent>
      <actionProvider
            class="org.fusesource.ide.jmx.ui.internal.views.navigator.ActionProvider"
            id="org.fusesource.ide.jmx.ui.internal.views.navigator.actionProvider">
            
         <enablement>
            <or>
               <adapt
                     type="java.util.Collection">
                  <count
                        value="0">
                  </count>
               </adapt>
               <instanceof
                     value="org.fusesource.ide.jmx.core.IConnectionWrapper">
               </instanceof>
               <instanceof
                     value="org.fusesource.ide.commons.tree.Node">
               </instanceof>
            </or>
         </enablement>
      </actionProvider>
      <commonFilter
            activeByDefault="true"
            class="org.fusesource.ide.jmx.ui.internal.views.navigator.QueryContribution$QueryFilter"
            description="A filter which uses the text box provided in the view"
            id="org.fusesource.ide.jmx.ui.internal.views.navigator.queryFilter"
            name="Query Filter">
      </commonFilter>
   </extension>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            name="MBean Editor"
            id="org.fusesource.ide.jmx.ui.internal.editors.MBeanEditor"
            class="org.fusesource.ide.jmx.ui.internal.editors.MBeanEditor"
            extensions="jmx"
            icon="icons/releng_gears.gif">
      </editor>
   </extension>
   <extension
         point="org.eclipse.ui.actionSets">
         <actionSet
            label="%MBeanActionSet.label"
            description="%MBeanActionSet.description"
            visible="false"
            id="org.fusesource.ide.jmx.ui.MBeanActionSet">
           <action
               id="openMBean"
               class="org.fusesource.ide.jmx.ui.internal.actions.OpenMBeanAction"
               definitionId="org.fusesource.ide.jmx.ui.navigate.open.mbean"
               label="%OpenMBeanAction.label"
               menubarPath="navigate/open.ext2"
               tooltip="%OpenMBeanAction.tooltip">
         </action>
           <action
                 class="org.fusesource.ide.jmx.ui.internal.actions.RefreshAction"
                 definitionId="org.fusesource.ide.jmx.ui.navigate.refresh"
                 id="refresh"
                 label="%RefreshAction.label"
                 menubarPath="navigate/open.ext2"
                 tooltip="%RefreshAction.tooltip">
           </action>
      </actionSet>
   </extension>
   <extension
         point="org.eclipse.ui.perspectives">
      <perspective
            class="org.fusesource.ide.jmx.ui.internal.perspectives.JMXPerspective"
            icon="icons/releng_gears.gif"
            id="org.fusesource.ide.jmx.ui.perspectives.JMXPerspective"
            name="Fuse JMX">
      </perspective>
   </extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="org.fusesource.ide.jmx.ui.perspectives.JMXPerspective">
           <actionSet
               id="org.fusesource.ide.jmx.ui.MBeanActionSet" />
      </perspectiveExtension>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            name="%ActionDefinition.openMBean.name"
            description="%ActionDefinition.openMBean.description"
            categoryId="org.eclipse.ui.category.navigate"
            id="org.fusesource.ide.jmx.ui.navigate.open.mbean">
      </command>
      <command
            categoryId="org.eclipse.ui.category.navigate"
            description="%ActionDefinition.refresh.description"
            id="org.fusesource.ide.jmx.ui.navigate.refresh"
            name="%ActionDefinition.refresh.name">
      </command>    
   </extension>
   <extension
         point="org.eclipse.ui.bindings">
      <key
           sequence="M1+M2+M"
           commandId="org.fusesource.ide.jmx.ui.navigate.open.mbean"
           schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
      <key
            commandId="org.fusesource.ide.jmx.ui.navigate.refresh"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+R">
      </key>
   </extension>
   <extension
         point="org.fusesource.ide.jmx.ui.attribute.controls">
      <control
            id="org.fusesource.ide.jmx.ui.attribute.displays.Text"
            class="org.fusesource.ide.jmx.ui.internal.controls.TextControlFactory"
	      	type="java.lang.String">
      </control>
      <control
            id="org.fusesource.ide.jmx.ui.attribute.displays.Array"
            class="org.fusesource.ide.jmx.ui.internal.controls.ArrayControlFactory"
            type="java.lang.reflect.Array">
      </control>
      <control
            id="org.fusesource.ide.jmx.ui.attribute.displays.Boolean"
            class="org.fusesource.ide.jmx.ui.internal.controls.BooleanControlFactory"
            type="java.lang.Boolean">
      </control>
      <control
            id="org.fusesource.ide.jmx.ui.attribute.displays.Collection"
            class="org.fusesource.ide.jmx.ui.internal.controls.CollectionControlFactory"
            type="java.util.Collection">
      </control>
      <control
            id="org.fusesource.ide.jmx.ui.attribute.displays.Map"
            class="org.fusesource.ide.jmx.ui.internal.controls.MapControlFactory"
            type="java.util.Map">
      </control>
      <control
            id="org.fusesource.ide.jmx.ui.attribute.displays.CompositeData"
            class="org.fusesource.ide.jmx.ui.internal.controls.CompositeDataControlFactory"
            type="javax.management.openmbean.CompositeData">
      </control>
      <control
            id="org.fusesource.ide.jmx.ui.attribute.displays.TabularData"
            class="org.fusesource.ide.jmx.ui.internal.controls.TabularDataControlFactory"
            type="javax.management.openmbean.TabularData">
      </control>
   </extension>
   <extension
         point="org.fusesource.ide.jmx.ui.providerUI">
      <providerUI
            icon="icons/full/obj16/write_obj.gif"
            id="org.fusesource.ide.jmx.core.providers.DefaultConnectionProvider"
            name="%DefaultJMXConnectionProvider.name">
         <wizardPage
               class="org.fusesource.ide.jmx.ui.internal.wizards.DefaultConnectionWizardPage">
         </wizardPage>
      </providerUI>
   </extension>
   
   
   
     <extension
         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">

      <propertyContributor contributorId="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorer">
         <propertyCategory category="org.fusesource.ide.jmx.ui.views"/>
      </propertyContributor>
   </extension>
   <extension
         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
      <propertyTabs contributorId="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorer">
         <propertyTab
               category="org.fusesource.ide.jmx.ui.views"
               id="org.fusesource.ide.jmx.ui.views.PropertiesTab"
               label="Properties"/>
         <propertyTab
               afterTab="org.fusesource.ide.jmx.ui.views.PropertiesTab"
               category="org.fusesource.ide.jmx.ui.views"
               id="org.fusesource.ide.jmx.ui.views.ContentsTab"
               label="Contents"/>
      </propertyTabs>
   </extension>
   <extension
         point="org.eclipse.ui.views.properties.tabbed.propertySections">
      <propertySections contributorId="org.fusesource.ide.jmx.ui.internal.views.navigator.MBeanExplorer">
         <propertySection
               class="org.eclipse.ui.views.properties.tabbed.AdvancedPropertySection"
               filter="org.fusesource.ide.jmx.ui.internal.propertysheet.PropertiesSectionFilter"
               id="PropertiesSection"
               tab="org.fusesource.ide.jmx.ui.views.PropertiesTab">
         </propertySection>

         <propertySection
               class="org.fusesource.ide.jmx.ui.internal.propertysheet.ContentsTabSection"
               filter="org.fusesource.ide.jmx.ui.internal.propertysheet.ContentsSectionFilter"
               id="ContentsSection"
               tab="org.fusesource.ide.jmx.ui.views.ContentsTab">
         </propertySection>
      </propertySections>
   </extension>
   <!--
   <extension
         point="org.eclipse.ui.dropActions">
      <action
            class="org.fusesource.ide.jmx.ui.internal.views.navigator.DropActionDelegate"
            id="org.fusesource.ide.jmx.ui.internal.views.navigator.dropAction">
      </action>
   </extension>
   -->
</plugin>
