<?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"
       facetRuntimeComponent="org.eclipse.jst.server.core.runtimeType"
       facetRuntimeVersion="1.0"
       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="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.wst.common.project.facet.core.defaultFacets">
    <default-facets>
      <runtime-component id="org.eclipse.jst.server.core.runtimeType"/>
      <facet id="wst.jsdt.web" version="1.0"/>
    </default-facets>
  </extension>

  <extension point="org.eclipse.wst.server.core.runtimeFacetComponentProviders">
    <runtimeComponentProvider
      id="org.eclipse.jst.server.core.JRERuntimeComponentProvider"
      runtimeTypeIds="*"
      class="org.eclipse.jst.server.core.internal.JRERuntimeComponentProvider"/>
  </extension>
</plugin>