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

<plugin>

   <!-- The following extension point is internal, though likely to be promoted for public use, possibly with changes, in a future release. -->
   <extension-point id="locator" name="%XP_WEB_SERVICE_LOCATOR" schema="schema/webServiceLocator.exsd"/>
   
   <extension-point id="ExtensibilityElementTransformer" name="%XP_EXTENSIBILITY_ELEMENT_TRANSFORMER" schema="schema/ExtensibilityElementTransformer.exsd"/>
   <extension-point id="ifile2uriconverter" name="%XP_IFILE_2_URI_CONVERTER" schema="schema/ifile2uriconverter.exsd"/>

   <!-- Extension providing workspace WSDL discovery -->   
   <extension
         point="org.eclipse.wst.ws.locator">

      <webServiceLocatorCategory
            id="org.eclipse.wst.ws.internal.wsfinder.category.workspace"
            label="%X_WEB_SERVICE_LOCATOR_CATEGORY_WORKSPACE"/>

      <webServiceLocator
            class="org.eclipse.wst.ws.internal.wsfinder.WorkspaceWSDLLocator"
            id="org.eclipse.wst.ws.internal.wsfinder.WorkspaceWSDLLocator"
            category="org.eclipse.wst.ws.internal.wsfinder.category.workspace"
            label="%X_WEB_SERVICE_LOCATOR_WORKSPACE">
      </webServiceLocator>

   </extension>
   
   <!-- Extension to bind a file type to WSIL files -->
   <extension point="org.eclipse.team.core.fileTypes">
      <fileTypes
            type="text"
            extension="wsil"/>
   </extension>

   <!-- Extension to define a content type for WSIL files -->
   <extension point="org.eclipse.core.runtime.contentTypes">
      <content-type
            priority="high"
            name="%X_WSIL_CONTENT_TYPE"
            id="wsilsource"
            base-type="org.eclipse.core.runtime.xml"
            default-charset="UTF-8"
            file-extensions="wsil"/>
   </extension>
   
   <extension point="org.eclipse.wst.ws.service.policy.servicepolicy">
     <servicePolicy>
         <loadListener class="org.eclipse.wst.ws.internal.preferences.MigrateWSIpreferencesLoadListener"/>
     </servicePolicy>
   </extension> 
   
  <extension point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
      id="org.eclipse.wst.ws.service.ws.service.policy"
      type="org.eclipse.core.resources.IProject"
      namespace="org.eclipse.wst.ws.service.ws.service.policy"
      properties="projectHasWSDLfiles"
      class="org.eclipse.wst.ws.internal.preferences.WSDLFilePropertyTester">
    </propertyTester>
  </extension>
  
   <extension point="org.eclipse.wst.ws.service.policy.servicepolicy">
     <servicePolicy>
       <enablement>
           <or>
             <test property="org.eclipse.wst.common.project.facet.core.projectFacet"
                   value="jst.web"/>
             <test property="org.eclipse.wst.common.project.facet.core.projectFacet"
                   value="jst.ejb"/>
             <test property="org.eclipse.wst.ws.service.ws.service.policy.projectHasWSDLfiles"/>
           </or>
       </enablement>
       
       <policy id="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp">
         <!-- CONTEXT_ID PSPW0001 for the Service Policies WS-I Preferences category -->
         <descriptor longName="%PREFERENCE_SERVICEPOLICIES_CONTAINER_WSI_COMPLIANCE" iconPath="icons/full/obj16/wsicat.gif" contextHelpId="org.eclipse.wst.ws.service.policy.ui.PSPW0001"
         	description="%DESCRIPTION_WSI_COMPLIANCE"/>
       </policy>
       <policy id="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsiap" parentPolicyId="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp" enumListId="org.eclipse.wst.service.policy.suggestionEnum" defaultEnumId="org.eclipse.wst.sug.suggest">
         <!-- CONTEXT_ID PSPW0002 for the Service Policies WS-I AP 1.0 Preference -->
         <descriptor longName="%LABEL_WSI_AP" iconPath="icons/full/obj16/wsicat_child.gif" contextHelpId="org.eclipse.wst.ws.service.policy.ui.PSPW0002"
         	description="%DESCRIPTION_WSI_AP"/>
         <relationship enumList="org.eclipse.wst.sug.suggest">
           <targetPolicy id="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsissbp"
                   itemList="org.eclipse.wst.sug.suggest org.eclipse.wst.sug.require"/>
         </relationship>
         <relationship enumList="org.eclipse.wst.sug.require">
           <targetPolicy id="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsissbp"
                   itemList="org.eclipse.wst.sug.require"/>
         </relationship>
         <state key="defaultProtocol" value="http://schemas.xmlsoap.org/wsdl/soap/"/>
       </policy>
       <policy id="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsissbp" parentPolicyId="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp" enumListId="org.eclipse.wst.service.policy.suggestionEnum" defaultEnumId="org.eclipse.wst.sug.suggest">
         <!-- CONTEXT_ID PSPW0003 for the Service Policies WS-I SSBP 1.0 Preference -->
         <descriptor longName="%LABEL_WSI_SSBP" iconPath="icons/full/obj16/wsicat_child.gif" contextHelpId="org.eclipse.wst.ws.service.policy.ui.PSPW0003"
         	description="%DESCRIPTION_WSI_SSBP"/>
         <state key="defaultProtocol" value="http://schemas.xmlsoap.org/wsdl/soap/"/>
       </policy>
     </servicePolicy>
   </extension>

   
</plugin>
