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

<plugin
   id="org.eclipse.jst.ws.ui"
   version="1.0.0"
   name="%PLUGIN_NAME"
   provider-name="%PLUGIN_PROVIDER"
   class="org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin">

   <runtime>
      <library name="runtime/ws-ui.jar">
         <export name="*"/>
      </library>
   </runtime>

   <requires>
      <import plugin="org.eclipse.wst.command.env"/>
      <import plugin="org.eclipse.wst.command.env.ui"/>
      <import plugin="org.eclipse.wst.command.env.core"/>
      <import plugin="org.eclipse.jst.ws" version="6.0.0" match="equivalent"/>
      <import plugin="org.eclipse.jdt.core"/>
      <import plugin="org.eclipse.jdt.ui"/>
      <import plugin="org.eclipse.ui.ide"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.core.runtime.compatibility"/>
      <import plugin="org.eclipse.emf.ecore"/>
      <import plugin="com.ibm.wtp.emf.workbench"/>
      <import plugin="org.eclipse.wst.server.core"/>
      <import plugin="org.eclipse.wst.common.emfworkbench.integration"/>
      <import plugin="org.eclipse.jst.j2ee"/>
   </requires>

   <extension
         point="org.eclipse.ui.newWizards">
      <category
            name="%PLUGIN_NEW_CATEGORY_NAME_WS"
            id="org.eclipse.jst.ws.ui.new">
      </category>
   </extension>

   <extension
         point="org.eclipse.ui.preferencePages">

      <page
            name="%PLUGIN_NEW_CATEGORY_NAME_WS"
            class="org.eclipse.jst.ws.internal.ui.preferences.WebServicesPreferencePage"
            id="org.eclipse.jst.ws.internal.ui.preferences.name">
      </page>
      
      <page
            name="%PREFERENCE_CATEGORY_RESOURCE_MANAGEMENT"
            category="org.eclipse.jst.ws.internal.ui.preferences.name"
            class="org.eclipse.jst.ws.internal.ui.preferences.ResourceManagmentPreferencePage"
            id="org.eclipse.jst.ws.internal.ui.preferences.ResourceManagmentPreferencePage">
      </page>
      
      <page
            name="%PREFERENCE_CATEGORY_WSI"
            category="org.eclipse.jst.ws.internal.ui.preferences.name"
            class="org.eclipse.jst.ws.internal.ui.wsi.preferences.WSICompliancePreferencePage"
            id="org.eclipse.jst.ws.internal.ui.wsi.preferences.WSICompliancePreferencePage">
      </page>

   </extension>

   <extension
         point="org.eclipse.ui.propertyPages">

      <page
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            name="%PREFERENCE_CATEGORY_WSI"
            class="org.eclipse.jst.ws.internal.ui.wsi.properties.WSICompliancePropertyPage"
            id="org.eclipse.jst.ws.internal.ui.wsi.properties.WSICompliancePropertyPage">
         <filter
               name="nature"
               value="org.eclipse.jdt.core.javanature">
         </filter>
      </page>

      <page
            objectClass="org.eclipse.core.resources.IJavaProject"
            adaptable="true"
            name="%PREFERENCE_CATEGORY_WSI"
            class="org.eclipse.jst.ws.internal.ui.wsi.properties.WSICompliancePropertyPage"
            id="org.eclipse.jst.ws.internal.ui.wsi.properties.WSICompliancePropertyPage">
         <filter
               name="nature"
               value="org.eclipse.jdt.core.javanature">
         </filter>
      </page>

   </extension>

   <extension
         point="org.eclipse.ui.popupMenus">

      <objectContribution
            objectClass="org.eclipse.core.resources.IResource"
            adaptable="true"
            id="org.eclipse.jst.ws.atk.ui.webservice.category.popupMenu">
         <menu
               label="%LABEL_POPUP_CATEGORY_WEB_SERVICES"
               path="additions"
               id="org.eclipse.jst.ws.atk.ui.webservice.category.popupMenu">
            <separator
                  name="popupActions">
            </separator>
         </menu>
      </objectContribution>

      <objectContribution
            objectClass="org.eclipse.jst.j2ee.ejb.EnterpriseBean"
            adaptable="true"
            id="org.eclipse.jst.ws.atk.ui.webservice.category.ejb.popupMenu">
         <menu
               label="%LABEL_POPUP_CATEGORY_WEB_SERVICES"
               path="additions"
               id="org.eclipse.jst.ws.atk.ui.webservice.category.ejb.popupMenu">
            <separator
                  name="popupActions">
            </separator>
         </menu>
      </objectContribution>

   </extension>
   
</plugin>
