<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.jst.j2ee.web"
   name="Web Plug-in"
   version="1.0.0"
   provider-name="IBM"
   class="org.eclipse.jst.j2ee.internal.web.plugin.WebPlugin">

   <runtime>
      <library name="runtime/web.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.jst.j2ee"/>
      <import plugin="org.eclipse.wst.server.core"/>
      <import plugin="org.eclipse.jst.server.core"/>
      <import plugin="org.eclipse.wst.common.frameworks"/>
      <import plugin="com.ibm.wtp.emf.workbench"/>
      <import plugin="org.eclipse.wst.common.emfworkbench.integration"/>
      <import plugin="org.eclipse.jst.j2ee.core"/>
      <import plugin="org.eclipse.wst.validation"/>
      <import plugin="org.eclipse.wst.common.emf"/>
      <import plugin="org.eclipse.emf.ecore.xmi"/>
      <import plugin="org.eclipse.emf.edit"/>
      <import plugin="org.eclipse.jem"/>
      <import plugin="org.eclipse.jem.workbench"/>
      <import plugin="org.eclipse.core.runtime.compatibility"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.jdt.core"/>
      <import plugin="org.eclipse.wst.common.migration"/>
      <import plugin="org.eclipse.emf.codegen"/>
      <import plugin="org.eclipse.wst.web"/>
       <import plugin="org.eclipse.jface"/>
       <import plugin="org.eclipse.jst.common.annotations.controller"/>
       <import plugin="org.eclipse.jst.common.frameworks"/>
   </requires>
   
<!--============================-->
<!-- Web JSFaces File URL extension -->
<!--============================-->

   <extension-point id="fileURL" name="FileURL"/>


<!--============================-->
<!-- Web Validator                   -->
<!--============================-->
   <extension
         id="WarValidator"
         name="%war_validator_UI_"
         point="org.eclipse.wst.validation.validator">
      <validator>
         <projectNature
               id="org.eclipse.jst.j2ee.web.WebNature">
         </projectNature>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="web.xml">
         </filter>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter="*.jar">
         </filter>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               nameFilter=".websettings">
         </filter>
         <helper
               class="org.eclipse.jst.j2ee.internal.web.validation.UIWarHelper">
         </helper>
         <dependentValidator
               depValValue="true">
         </dependentValidator>
         <run
               class="org.eclipse.jst.j2ee.internal.web.validation.UIWarValidator">
         </run>
      </validator>
   </extension>
<!--============================-->
<!-- Web Project Nature Contributions                     -->
<!--============================-->
   <extension
         id="WebNature"
         name="Web Properties"
         point="org.eclipse.core.resources.natures">
      <runtime>
         <run
               class="org.eclipse.jst.j2ee.internal.web.operations.J2EEWebNatureRuntime">
         </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.web.WebNature">
      </nature>
   </extension>
   <extension
         id="editModel.web"
         name="Web Edit Model"
         point="org.eclipse.wst.common.emfworkbench.integration.editModel">
      <editModel
            editModelID="org.eclipse.jst.web.editModel"
            factoryClass="org.eclipse.jst.j2ee.internal.web.operations.WebEditModelFactory">
         <editModelResource
               URI="WEB-INF/web.xml">
         </editModelResource>
         <editModelResource
               URI="WEB-INF/webservicesclient.xml">
         </editModelResource>
      </editModel>
   </extension>
   <extension
         id="WebModuleExtension"
         name="WebModuleExtension"
         point="org.eclipse.jst.j2ee.EARModuleExtension">
      <earModuleExtension
            extensionClass="org.eclipse.jst.j2ee.internal.web.plugin.WebModuleExtensionImpl">
      </earModuleExtension>
   </extension>
   <extension
         point="org.eclipse.wst.common.emfworkbench.integration.adapterFactory">
      <adapterFactory
            functionGroupID="org.eclipse.jst.j2ee"
            className="org.eclipse.jst.j2ee.internal.web.providers.WebapplicationItemProviderAdapterFactory"
            packageURI="webapplication.xmi"
            id="org.eclipse.jst.j2ee.webapplication.provider.WebapplicationItemProviderAdapterFactory">
      </adapterFactory>
   </extension>
   <extension
         point="org.eclipse.wst.common.emfworkbench.integration.adapterFactory">
      <adapterFactory
            functionGroupID="org.eclipse.jst.j2ee"
            className="org.eclipse.jst.j2ee.internal.web.providers.JspItemProviderAdapterFactory"
            packageURI="jsp.xmi"
            id="org.eclipse.jst.j2ee.internal.jsp.provider.JspItemProviderAdapterFactory">
      </adapterFactory>
   </extension>
   <extension
         point="org.eclipse.wst.common.frameworks.ExtendableOperation">
      <extendableOperation
            class="org.eclipse.jst.j2ee.internal.web.archive.operations.WebProjectCreationOperation"
            id="org.eclipse.jst.j2ee.internal.web.archive.operations.WebProjectCreationOperation">
      </extendableOperation>
      <extendableOperation
            class="org.eclipse.jst.j2ee.internal.web.archive.operations.WARImportOperation"
            id="org.eclipse.jst.j2ee.internal.web.archive.operations.WARImportOperation">
      </extendableOperation>
   </extension>
<!-- ======================Lib Dir Builder ========================= -->
   <extension
         id="LibDirBuilder"
         name="Lib Dir Builder"
         point="org.eclipse.core.resources.builders">
      <builder>
         <run
               class="org.eclipse.jst.j2ee.internal.web.operations.LibDirBuilder">
         </run>
      </builder>
   </extension>
<!-- ==================================================================== -->
<!-- Extension point: org.eclipse.etools.server.core.moduleObjectAdapters -->
<!-- Purpose: Define adapters for EJB and Web resources                   -->
<!-- ==================================================================== -->
   <extension
         point="org.eclipse.wst.server.core.moduleArtifactAdapters">
      <moduleObjectAdapter
            class="org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableObjectAdapter"
            objectClass="org.eclipse.jst.j2ee.internal.webapplication.WebApp"
            id="org.eclipse.jst.web.server.webresource">
      </moduleObjectAdapter>
      <moduleObjectAdapter
            objectClass="org.eclipse.jst.j2ee.internal.webapplication.Servlet"
            class="org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableObjectAdapter"
            id="org.eclipse.jst.web.server.webresource2">
      </moduleObjectAdapter>
            <moduleObjectAdapter
            objectClass="org.eclipse.core.resources.IProject"
            class="org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableObjectAdapter"
            id="org.eclipse.jst.web.server.webresource3">
      </moduleObjectAdapter>
      <moduleObjectAdapter
            objectClass="org.eclipse.core.resources.IFile"
            class="org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableObjectAdapter"
            id="corg.eclipse.jst.web.server.webresource4">
      </moduleObjectAdapter>
      <moduleObjectAdapter
            objectClass="org.eclipse.jdt.core.ICompilationUnit"
            class="org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableObjectAdapter"
            id="org.eclipse.jst.web.server.webresource5">
      </moduleObjectAdapter>
   </extension>
<!-- =============================================================== -->
<!-- Extension point: com.ibm.etools.server.core.moduleFactories -->
<!-- Purpose: Define the default module project factory          -->
<!-- =============================================================== -->
   <extension
         point="org.eclipse.wst.server.core.moduleFactories">
      <moduleFactory
            projects="true"
            class="org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableFactory"
            id="com.ibm.wtp.web.server">
         <moduleType
               versions="1.2, 1.3, 1.4"
               types="j2ee.web">
         </moduleType>
      </moduleFactory>
   </extension>
   <extension
         point="org.eclipse.wst.common.migration.migrator">
      <migrator
            className="org.eclipse.jst.j2ee.internal.web.operations.WebSettingsMigrator"
            id="org.eclipse.jst.common.migration.WebSettingsMigrator.id"
            filter="org.eclipse.jst.j2ee.internal.settings.J2EEMigrationFilter">
         <enablement>
			<projectNature natureID="org.eclipse.jst.j2ee.web.WebNature"/>
         </enablement>
      </migrator>
   </extension>
   
<!-- =============================================================== -->
<!-- WTP Operation extendable operations						        -->
<!-- =============================================================== -->
   <extension
         point="org.eclipse.wst.common.frameworks.ExtendableOperation">
      <extendableOperation
            class="org.eclipse.jst.j2ee.internal.web.operations.RemoveServletOperation"
            id="org.eclipse.jst.j2ee.internal.web.operations.RemoveServletOperation">
      </extendableOperation>
      <extendableOperation
            class="org.eclipse.jst.j2ee.internal.web.operations.RemoveWebSecurityRoleOperation"
            id="org.eclipse.jst.j2ee.internal.web.operations.RemoveWebSecurityRoleOperation">
      </extendableOperation>
      <extendableOperation
            class="org.eclipse.jst.j2ee.internal.web.operations.AddServletOperation"
            id="org.eclipse.jst.j2ee.internal.web.operations.AddServletOperation">
      </extendableOperation>
   </extension>
   
<!-- =============================================================== -->
<!-- TagLib Server Target Listener Ext 						        -->
<!-- =============================================================== -->
   
   <extension point="org.eclipse.wst.server.core.runtimeTargetHandlers">
   <runtimeTargetHandler
      id="com.ibm.wtp.webtools.taglib.runtimeTarget"
      runtimeTypeIds="com.ibm.ws.ast.st.runtime.v60, com.ibm.etools.websphere*"
      class="org.eclipse.jst.j2ee.internal.web.taglib.WebProjectServerTaglibListener"/>
	</extension>


 	<extension point="org.eclipse.jst.common.navigator.java.compressedProject">
 		<compressedProject natureId="org.eclipse.jst.j2ee.web.WebNature" />
		<compressedProject natureId="org.eclipse.wst.web.StaticWebNature" />
 		
	</extension> 		

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