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

<plugin>
  <extension point="org.eclipse.wst.server.core.runtimeTypes">
    <runtimeType
          class="org.fusesource.ide.server.karaf.core.internal.runtime.KarafRuntimeDelegate"
          description="%runtimeTypeKaraf2xDescription"
          id="org.fusesource.ide.server.karaf.runtime.2x"
          name="%runtimeTypeKaraf2xLabel"
          vendor="%fusesource"
          vendorId="%fusesource"
          version="2.x">
       <moduleType
         types="jst.web"
         versions="2.2, 2.3, 2.4, 2.5, 3.0"/>
       <moduleType
         types="jst.utility"
         versions="1.0"/>
    </runtimeType>
    <runtimeType
          class="org.fusesource.ide.server.karaf.core.internal.runtime.KarafRuntimeDelegate"
          description="%runtimeTypeServiceMix4xDescription"
          id="org.fusesource.ide.server.smx.runtime.4x"
          name="%runtimeTypeServiceMix4xLabel"
          vendor="%fusesource"
          vendorId="%fusesource"
          version="4.x">
       <moduleType
         types="jst.web"
         versions="2.2, 2.3, 2.4, 2.5, 3.0"/>
       <moduleType
         types="jst.utility"
         versions="1.0"/>
    </runtimeType>
    <runtimeType
          class="org.fusesource.ide.server.karaf.core.internal.runtime.KarafRuntimeDelegate"
          description="%runtimeTypeFuseESB7xDescription"
          id="org.fusesource.ide.server.fuseesb.runtime.7x"
          name="%runtimeTypeFuseESB7xLabel"
          vendor="%fusesource"
          vendorId="%fusesource"
          version="7.x">
       <moduleType
         types="jst.web"
         versions="2.2, 2.3, 2.4, 2.5, 3.0"/>
       <moduleType
         types="jst.utility"
         versions="1.0"/>
    </runtimeType>
  </extension>

  <extension point="org.eclipse.wst.server.core.serverTypes">
     <serverType
           behaviourClass="org.fusesource.ide.server.karaf.core.internal.server.KarafServerBehaviourDelegate"
           class="org.fusesource.ide.server.karaf.core.internal.server.KarafServerDelegate"
           description="%karaf2xServerDescription"
           hasConfiguration="true"
           id="org.fusesource.ide.server.karaf.2x"
           initialState="stopped"
           launchModes="run"
           launchConfigId="org.fusesource.ide.server.karaf.launch"
           name="%karaf2xServerType"
           runtime="true"
           runtimeTypeId="org.fusesource.ide.server.karaf.runtime.2x"
           startTimeout="90000"
           stopTimeout="45000"
           supportsRemoteHosts="false">
     </serverType>
     <serverType
           behaviourClass="org.fusesource.ide.server.karaf.core.internal.server.KarafServerBehaviourDelegate"
           class="org.fusesource.ide.server.karaf.core.internal.server.KarafServerDelegate"
           description="%serviceMix4xServerDescription"
           hasConfiguration="true"
           id="org.fusesource.ide.server.smx.4x"
           initialState="stopped"
           launchModes="run"
           launchConfigId="org.fusesource.ide.server.karaf.launch"
           name="%serviceMix4xServerType"
           runtime="true"
           runtimeTypeId="org.fusesource.ide.server.smx.runtime.4x"
           startTimeout="90000"
           stopTimeout="45000"
           supportsRemoteHosts="false">
     </serverType>
     <serverType
           behaviourClass="org.fusesource.ide.server.karaf.core.internal.server.KarafServerBehaviourDelegate"
           class="org.fusesource.ide.server.karaf.core.internal.server.KarafServerDelegate"
           description="%fuseESB7xServerDescription"
           hasConfiguration="true"
           id="org.fusesource.ide.server.fuseesb.7x"
           initialState="stopped"
           launchModes="run"
           launchConfigId="org.fusesource.ide.server.karaf.launch"
           name="%fuseESB7xServerType"
           runtime="true"
           runtimeTypeId="org.fusesource.ide.server.fuseesb.runtime.7x"
           startTimeout="90000"
           stopTimeout="45000"
           supportsRemoteHosts="false">
     </serverType>
  </extension>
  <extension
        point="org.eclipse.debug.core.launchConfigurationTypes">
     <launchConfigurationType
           delegate="org.fusesource.ide.server.karaf.core.internal.launch.KarafLaunchDelegate"
           id="org.fusesource.ide.server.karaf.launch"
           modes="run"
           name="%karaf.launch.name"
           public="true">
     </launchConfigurationType>
  </extension>

  <extension point="org.eclipse.wst.server.core.runtimeLocators">
    <runtimeLocator
       id="org.fusesource.ide.server.karaf.runtime.locator"
       typeIds="org.fusesource.ide.server.karaf.runtime.*"
       class="org.fusesource.ide.server.karaf.core.internal.runtime.KarafRuntimeLocator"/>
    <runtimeLocator
       id="org.fusesource.ide.server.smx.runtime.locator"
       typeIds="org.fusesource.ide.server.smx.runtime.*"
       class="org.fusesource.ide.server.karaf.core.internal.runtime.ServiceMix4xRuntimeLocator"/>
    <runtimeLocator
       id="org.fusesource.ide.server.fuseesb.runtime.locator"
       typeIds="org.fusesource.ide.server.fuseesb.runtime.*"
       class="org.fusesource.ide.server.karaf.core.internal.runtime.FuseESB7xRuntimeLocator"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.serverLocators">
    <serverLocator
       id="org.fusesource.ide.server.karaf.server.locator"
       supportsRemoteHosts="false"
       typeIds="org.fusesource.ide.server.karaf.*"
       class="org.fusesource.ide.server.karaf.core.internal.server.KarafServerLocator"/>
    <serverLocator
       id="org.fusesource.ide.server.smx.server.locator"
       supportsRemoteHosts="false"
       typeIds="org.fusesource.ide.server.smx.*"
       class="org.fusesource.ide.server.karaf.core.internal.server.ServiceMix4xServerLocator"/>
    <serverLocator
       id="org.fusesource.ide.server.fuseesb.server.locator"
       supportsRemoteHosts="false"
       typeIds="org.fusesource.ide.server.fuseesb.*"
       class="org.fusesource.ide.server.karaf.core.internal.server.FuseESB7xServerLocator"/>    
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
    <runtime-component-type
       id="org.fusesource.ide.server.karaf"/>
    <runtime-component-type
       id="org.fusesource.ide.server.smx"/>
    <runtime-component-type
       id="org.fusesource.ide.server.fuseesb"/>
    <runtime-component-version
       type="org.fusesource.ide.server.karaf"
       version="2.x"/>
    <runtime-component-version
       type="org.fusesource.ide.server.smx"
       version="4.x"/>
    <runtime-component-version
       type="org.fusesource.ide.server.fuseesb"
       version="7.x"/>
    <adapter>
      <runtime-component
         id="org.fusesource.ide.server.karaf"/>
      <factory
         class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/>
      <type
         class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
    </adapter>
    <adapter>
      <runtime-component
         id="org.fusesource.ide.server.smx"/>
      <factory
         class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/>
      <type
         class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
    </adapter>
    <adapter>
      <runtime-component
         id="org.fusesource.ide.server.fuseesb"/>
      <factory
         class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/>
      <type
         class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
    </adapter>
    <supported>
      <runtime-component
         id="org.fusesource.ide.server.karaf"
         version="2.x"/>
      <facet
         id="jst.web"
         version="2.2,2.3,2.4,2.5,3.0"/>
      <facet
         id="jst.webfragment"
         version="3.0"/>
      <facet
         id="jst.utility"
         version="1.0"/>
    </supported>
    <supported>
      <runtime-component
         id="org.fusesource.ide.server.smx"
         version="4.x"/>
      <facet
         id="jst.web"
         version="2.2,2.3,2.4,2.5,3.0"/>
      <facet
         id="jst.webfragment"
         version="3.0"/>
      <facet
         id="jst.utility"
         version="1.0"/>
    </supported>
    <supported>
      <runtime-component
         id="org.fusesource.ide.server.fuseesb"
         version="7.x"/>
      <facet
         id="jst.web"
         version="2.2,2.3,2.4,2.5,3.0"/>
      <facet
         id="jst.webfragment"
         version="3.0"/>
      <facet
         id="jst.utility"
         version="1.0"/>
    </supported>
  </extension>
  
  <extension point="org.eclipse.wst.common.project.facet.core.defaultFacets">
    <default-facets>
      <runtime-component id="org.fusesource.ide.server.karaf.2x"/>
      <facet id="wst.jsdt.web" version="1.0"/>
    </default-facets>
    <default-facets>
	  <runtime-component id="org.fusesource.ide.server.smx.4x"/>
      <facet id="wst.jsdt.web" version="1.0"/>
    </default-facets>
    <default-facets>
	  <runtime-component id="org.fusesource.ide.server.fuseesb.7x"/>
      <facet id="wst.jsdt.web" version="1.0"/>
    </default-facets>
  </extension>
  
  <extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
    <runtimeFacetMapping
      runtimeTypeId="org.fusesource.ide.server.karaf.runtime.2x"
      runtime-component="org.fusesource.ide.server.karaf.2x"
      version="2.x"/>
    <runtimeFacetMapping
      runtimeTypeId="org.fusesource.ide.server.smx.runtime.4x"
      runtime-component="org.fusesource.ide.server.smx.4x"
      version="4.x"/>
    <runtimeFacetMapping
      runtimeTypeId="org.fusesource.ide.server.fuseesb.runtime.7x"
      runtime-component="org.fusesource.ide.server.fuseesb.7x"
      version="7.x"/>
  </extension>
</plugin>
