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

<plugin>
  <extension-point id="runtimeClasspathProviders" name="%extensionPointRuntimeClasspathProviders" schema="schema/runtimeClasspathProviders.exsd"/>
  <extension-point id="runtimeFacetMappings" name="%extensionPointRuntimeFacetMappings" schema="schema/runtimeFacetMappings.exsd"/>
  <extension-point id="serverProfilers" name="%extensionPointServerProfilers" schema="schema/serverProfilers.exsd"/>
  <extension-point id="internalRuntimeComponentProviders" name="internalRuntimeComponentProviders" schema="schema/internalRuntimeComponentProviders.exsd"/>

  <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
    <classpathContainerInitializer
      id="org.eclipse.jst.server.core.container"
      class="org.eclipse.jst.server.core.internal.RuntimeClasspathContainerInitializer"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.moduleTypes">
    <moduleType
       id="jst.web"
       name="%moduleTypeJ2EEWebName"/>
    <moduleType
       id="jst.ejb"
       name="%moduleTypeJ2EEEJBName"/>
    <moduleType
       id="jst.appclient"
       name="%moduleTypeJ2EEClientName"/>
    <moduleType
       id="jst.connector"
       name="%moduleTypeJ2EERARName"/>
    <moduleType
       id="jst.ear"
       name="%moduleTypeJ2EEEARName"/>
    <moduleType
       id="jst.utility"
       name="%moduleTypeJ2EEUtilityName"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.runtimeTypes">
    <runtimeType
       id="org.eclipse.jst.server.core.runtimeType"
       name="%runtimeTypeName"
       description="%runtimeTypeDescription"
       class="org.eclipse.jst.server.core.internal.GenericRuntime">
       <moduleType
         types="jst.*"
         versions="*"/>
    </runtimeType>
  </extension>

  <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
    <runtimeClasspathProvider
      id="org.eclipse.jst.server.core.runtimeTarget"
      runtimeTypeIds="org.eclipse.jst.server.core.runtimeType"
      class="org.eclipse.jst.server.core.internal.GenericRuntimeClasspathProvider"/>
  </extension>

  <extension point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
      namespace="org.eclipse.jst.cactus.expressions"
      type="org.eclipse.core.runtime.IAdaptable"
      class="org.eclipse.jst.server.core.internal.cactus.ServletTestCasePropertyTester"
      properties="isServletTestCase"
      id="org.eclipse.jst.server.cactus.expression"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.moduleArtifactAdapters">
    <moduleArtifactAdapter
      id="org.eclipse.jst.server.cactus.moduleArtifactAdapter"
      class="org.eclipse.jst.server.core.internal.cactus.CactusModuleArtifactAdapterDelegate"
      priority="10">
      <enablement>
         <or>
            <instanceof value="org.eclipse.jdt.core.IMethod"/>
            <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
            <instanceof value="org.eclipse.jdt.core.IType"/>
            <instanceof value="org.eclipse.core.resources.IFile"/>
         </or>
      </enablement>
    </moduleArtifactAdapter>
  </extension>

  <extension point="org.eclipse.wst.server.core.launchableAdapters">
    <launchableAdapter
       id="org.eclipse.jst.server.cactus.launchableAdapter"
       class="org.eclipse.jst.server.core.internal.cactus.CactusLaunchableAdapterDelegate"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.clients">
    <client
      id="org.eclipse.jst.server.jndi"
      name="%launchableJndi"
      description="%launchableJndiDescription"
      priority="-100"
      launchable="org.eclipse.jst.server.core.JndiLaunchable"
      class="org.eclipse.jst.server.core.internal.J2EELaunchableClient"/>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
    <runtime-component-type id="standard.jre"/>

    <runtime-component-version
       type="standard.jre"
       version="1.3"/>
    <runtime-component-version
       type="standard.jre"
       version="1.4"/>
    <runtime-component-version
       type="standard.jre"
       version="5.0"/>
    <runtime-component-version
       type="standard.jre"
       version="6.0"/>

    <adapter>
      <runtime-component id="standard.jre"/>
      <factory class="org.eclipse.jst.server.core.internal.StandardJreClasspathProvider$Factory"/>
      <type class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
    </adapter>

    <supported>
      <facet id="jst.java" version="1.3"/>
      <runtime-component id="standard.jre" version="[1.3"/>
    </supported>

    <supported>
      <facet id="jst.java" version="1.4"/>
      <runtime-component id="standard.jre" version="[1.4"/>
    </supported>

    <supported>
      <facet id="jst.java" version="5.0"/>
      <runtime-component id="standard.jre" version="[5.0"/>
    </supported>

    <supported>
      <facet id="jst.java" version="6.0"/>
      <runtime-component id="standard.jre" version="[6.0"/>
    </supported>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.runtimeBridges">
    <bridge
      id="org.eclipse.jst.server.core.default"
      class="org.eclipse.jst.server.core.internal.RuntimeBridge"/>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
    <runtime-component-type
       id="org.eclipse.jst.server.core.runtimeType"/>

    <runtime-component-version
       type="org.eclipse.jst.server.core.runtimeType"
       version="1.0"/>

    <adapter>
      <runtime-component
         id="org.eclipse.jst.server.core.runtimeType"/>
      <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.eclipse.jst.server.core.runtimeType"
         version="1.0"/>
      <facet
         id="jst.web"
         version="2.2,2.3,2.4,2.5"/>
      <facet
         id="jst.ejb"
         version="1.1,2.0,2.1,3.0"/>
      <facet
         id="jst.ear"
         version="1.2,1.3,1.4,5.0"/>
      <facet
         id="jst.connector"
         version="1.0,1.5"/>
      <facet
         id="jst.appclient"
         version="1.2,1.3,1.4,5.0"/>
      <facet
         id="jst.utility"
         version="1.0"/>
    </supported>
  </extension>

  <extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
    <runtimeFacetMapping
      runtimeTypeId="org.eclipse.jst.server.core.runtimeType"
      runtime-component="org.eclipse.jst.server.core.runtimeType"
      version="1.0"/>
  </extension>

<extension point="org.eclipse.wst.server.core.runtimeTypes">
    <runtimeType
       id="org.eclipse.jst.server.preview.runtime"
       name="%previewRuntimeTypeName"
       description="%previewRuntimeTypeDescription"
       class="org.eclipse.jst.server.core.internal.preview.PreviewRuntime">
       <moduleType
         types="wst.web"
         versions="1.0"/>
       <moduleType
         types="jst.web"
         versions="2.2,2.3,2.4,2.5"/>
       <moduleType
         types="jst.utility"
         versions="1.0"/>
    </runtimeType>
  </extension>

  <extension point="org.eclipse.wst.server.core.serverTypes">
     <serverType
       id="org.eclipse.jst.server.preview.server"
       name="%previewServerTypeName"
       description="%previewServerTypeDescription"
       supportsRemoteHosts="false"
       runtime="true"
       initialState="stopped"
       hasConfiguration="false"
       launchModes="run,debug,profile"
       launchConfigId="org.eclipse.jst.server.core.preview.launchConfigurationType"
       runtimeTypeId="org.eclipse.jst.server.preview.runtime"
       class="org.eclipse.jst.server.core.internal.preview.PreviewServer"
       behaviourClass="org.eclipse.jst.server.core.internal.preview.PreviewServerBehaviour"/>
  </extension>
 
  <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
    <runtimeClasspathProvider
      id="org.eclipse.jst.server.preview.runtimeTarget"
      runtimeTypeIds="org.eclipse.jst.server.preview.runtime"
      class="org.eclipse.jst.server.core.internal.preview.PreviewRuntimeClasspathProvider"/>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
    <runtime-component-type
       id="org.eclipse.jst.server.preview.runtime"/>

    <runtime-component-version
       type="org.eclipse.jst.server.preview.runtime"
       version="1.0"/>

    <adapter>
      <runtime-component
         id="org.eclipse.jst.server.preview.runtime"/>
      <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.eclipse.jst.server.preview.runtime"
         version="1.0"/>
      <facet
         id="wst.web"
         version="1.0"/>
      <facet
         id="jst.web"
         version="2.2,2.3,2.4,2.5"/>
      <facet
         id="jst.utility"
         version="1.0"/>
    </supported>
  </extension>

  <extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
    <runtimeFacetMapping
      runtimeTypeId="org.eclipse.jst.server.preview.runtime"
      runtime-component="org.eclipse.jst.server.preview.runtime"
      version="1.0"/>
  </extension>

<extension point="org.eclipse.debug.core.sourcePathComputers">
     <sourcePathComputer
        id="org.eclipse.jst.server.core.preview.sourcePathComputer"
        class="org.eclipse.jst.server.core.internal.preview.PreviewSourcePathComputerDelegate"/>
  </extension>

  <extension point="org.eclipse.debug.core.launchConfigurationTypes">
     <launchConfigurationType
        id="org.eclipse.jst.server.core.preview.launchConfigurationType"
        name="%previewLaunchConfigurationType"
        delegate="org.eclipse.jst.server.core.internal.preview.PreviewLaunchConfigurationDelegate"
        modes="run,debug,profile"
        sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
        sourcePathComputerId="org.eclipse.jst.server.core.preview.sourcePathComputer"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.launchableAdapters">
    <launchableAdapter
      id="org.eclipse.jst.server.core.preview.server"
      class="org.eclipse.jst.server.core.internal.preview.PreviewLaunchableAdapterDelegate"/>
  </extension>

<!--
<extension point="org.eclipse.wst.server.core.internalStartup">
  <startup
    id="org.eclipse.jst.server.core.startup"
    class="org.eclipse.jst.server.core.internal.preview.PreviewStartup"/>
</extension>
-->

</plugin>