<?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 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>
