<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.jst.j2ee.jca"
   name="JCA Plug-in"
   description="A non-ui plugin containing apis to work with J2EE Connector modules.  The JCA EditModel is defined in this plugin.  No extension points are defined here."
   version="1.0.0"
   provider-name="IBM"
   class="org.eclipse.jst.j2ee.jca.internal.plugin.JcaPlugin">

   <runtime>
      <library name="runtime/jca.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.jst.j2ee"/>
      <import plugin="com.ibm.wtp.emf.workbench"/>
      <import plugin="org.eclipse.wst.common.emfworkbench.integration"/>
      <import plugin="org.eclipse.wst.server.core"/>
      <import plugin="org.eclipse.jst.server.core"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.wst.common.frameworks"/>
      <import plugin="org.eclipse.jst.j2ee.core"/>
      <import plugin="org.eclipse.jdt.core"/>
      <import plugin="org.eclipse.wst.common.emf"/>
      <import plugin="org.eclipse.emf.ecore.xmi"/>
      <import plugin="org.eclipse.jem.workbench"/>
      <import plugin="org.eclipse.wst.validation"/>
      <import plugin="org.eclipse.emf.edit"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.jst.common.frameworks"/>
      <import plugin="org.eclipse.wst.common.modulecore"/>
   </requires>


<!--============================-->
<!-- Connector Project Nature Contributions -->
<!--============================-->
   <extension
         id="ConnectorNature"
         name="Connector Nature"
         point="org.eclipse.core.resources.natures">
      <runtime>
         <run
               class="org.eclipse.jst.j2ee.internal.jca.operations.ConnectorNatureRuntime">
         </run>
      </runtime>
   </extension>
<!-- Register the nature id with the AbstractJavaMOFNature -->
   <extension
         point="com.ibm.wtp.emf.workbench.nature_registration">
      <nature
            id="org.eclipse.jst.j2ee.jca.ConnectorNature">
      </nature>
   </extension>
   <extension
         id="editModel.jca"
         name="Connector Edit Model"
         point="org.eclipse.wst.common.emfworkbench.integration.editModel">
      <editModel
            editModelID="org.eclipse.jst.j2ee.jca.editModel"
            factoryClass="org.eclipse.jst.j2ee.internal.jca.operations.ConnectorEditModelFactory">
         <editModelResource
               URI="META-INF/ra.xml">
         </editModelResource>
      </editModel>
   </extension>
   <extension
         id="JcaModuleExtension"
         name="JcaModuleExtension"
         point="org.eclipse.jst.j2ee.EARModuleExtension">
      <earModuleExtension
            extensionClass="org.eclipse.jst.j2ee.jca.internal.plugin.JcaModuleExtensionImpl">
      </earModuleExtension>
   </extension>
   <extension
         point="org.eclipse.wst.common.emfworkbench.integration.adapterFactory">
      <adapterFactory
            functionGroupID="org.eclipse.jst.j2ee"
            className="org.eclipse.jst.j2ee.internal.jca.providers.JcaItemProviderAdapterFactory"
            packageURI="jca.xmi"
            id="org.eclipse.jst.j2ee.jca.providers.JcaItemProviderAdapterFactory">
      </adapterFactory>
   </extension>
   <extension
         id="ConnectorValidator"
         name="%connector_validator_UI_"
         point="org.eclipse.wst.validation.validator">
      <validator>
         <projectNature
               id="org.eclipse.jst.j2ee.jca.ConnectorNature">
         </projectNature>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="MANIFEST.MF">
         </filter>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="rar.xml">
         </filter>
         <helper
               class="org.eclipse.jst.j2ee.internal.jca.validation.ConnectorHelper">
         </helper>
         <run
               class="org.eclipse.jst.j2ee.internal.jca.validation.UIConnectorValidator">
         </run>
      </validator>
   </extension>
<!-- =============================================================== -->
<!-- Purpose: Define the default deployable project factory          -->
<!-- Extension point: com.ibm.etools.server.core.deployableFactories -->
<!-- =============================================================== -->
   <extension
         point="org.eclipse.wst.server.core.moduleFactories">
      <moduleFactory
            projects="true"
            class="org.eclipse.jst.j2ee.jca.internal.deployables.Connector1_3DeployableFactory"
            id="com.ibm.wtp.server.j2ee.connector13">
         <moduleType
               versions="1.2, 1.3, 1.4"
               types="j2ee.connector">
         </moduleType>
      </moduleFactory>
   </extension>

<!-- icon="icons/full/obj16/connection_obj.gif" -->
</plugin>
