<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
     <extension
         point="org.eclipse.ui.navigator.navigatorContent">
      <navigatorContent
            name="%navigator.Content"
            priority="lower"
            icon="icons/full/ctool16/webservicedesc.gif"
            contentProvider="org.eclipse.jst.j2ee.internal.webservice.WebServicesNavigatorContentProvider"
            labelProvider="org.eclipse.jst.j2ee.internal.webservice.WebServicesNavigatorLabelProvider"
            id="org.eclipse.wst.common.frameworks.internal.navigator.webservice">
         <triggerPoints>
            <or>
               <instanceof value="org.eclipse.core.resources.IWorkspaceRoot"/>
         	   <instanceof value="org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroup"/>
               <instanceof value="org.eclipse.jst.j2ee.webservice.wsdd.WebServiceDescription"/>
               <instanceof value="org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroupType"/>
               <!-- <instanceof value="org.eclipse.wst.wsdl.util.WSDLResourceImpl"/> -->
			   <and>
			   		<instanceof value="org.eclipse.emf.ecore.resource.Resource"/>
			   		<test
                     property="org.eclipse.jst.j2ee.webservice.ui.isWsdlResource">
	               </test>			   		
			   </and>
			   <!-- <instanceof value="org.eclipse.wst.wsdl.Service"/> -->
               <and>
               		<instanceof value="org.eclipse.emf.ecore.EObject"/>
               		<test
                     	property="org.eclipse.jst.j2ee.webservice.ui.isService">
               		</test>
               </and>
               <and>
                 <instanceof value="org.eclipse.emf.ecore.EObject"/>
                  <or>
        	       <test 
	                	forcePluginActivation="true"
	                	property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
	                  value="wsdd.xmi"/>
	               <test 
	                	forcePluginActivation="true"
	                	property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
	                  value="webservice_client.xmi"/>
	               <test 
	                	forcePluginActivation="true"
	                	property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
	                  value="wscommon.xmi"/>
	               <test 
	                	forcePluginActivation="true"
	                	property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
	                  value="http://www.ibm.com/wsdl/2003/WSDL"/>
	             </or>
	          </and>
         	</or>
         </triggerPoints>
         <possibleChildren>
         	<or>
         	   <instanceof value="org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroup"/>
               <instanceof value="org.eclipse.jst.j2ee.webservice.wsdd.WebServiceDescription"/>
               <instanceof value="org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroupType"/>
               <!--  <instanceof value="org.eclipse.wst.wsdl.util.WSDLResourceImpl"/> -->
			   <and>
			   		<instanceof value="org.eclipse.emf.ecore.resource.Resource"/>
			   		<test
                     property="org.eclipse.jst.j2ee.webservice.ui.isWsdlResource">
	               </test>			   		
			   </and>
               <and>
                 <instanceof value="org.eclipse.emf.ecore.EObject"/>
                  <or>
        	       <test 
	                	forcePluginActivation="true"
	                	property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
	                  value="wsdd.xmi"/>
	               <test 
	                	forcePluginActivation="true"
	                	property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
	                  value="webservice_client.xmi"/>
	               <test 
	                	forcePluginActivation="true"
	                	property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
	                  value="wscommon.xmi"/>
	               <test 
	                	forcePluginActivation="true"
	                	property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
	                  value="http://www.ibm.com/wsdl/2003/WSDL"/>
	             </or>
	          </and>
         	</or>
         </possibleChildren>
         <commonSorter
      		class="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter"
      		id="org.eclipse.jst.navigator.j2ee.ui.J2EEContent">
      		<parentExpression>
           		  <or>         
		            <instanceof 
		                  value="org.eclipse.emf.ecore.EObject" />
		            <instanceof 
		                  value="org.eclipse.core.resources.IWorkspaceRoot" />  
		         </or>
		   </parentExpression>
      </commonSorter>
      <!--  Handle open requests -->
	  <actionProvider
		  class="org.eclipse.jst.j2ee.internal.webservice.WebServicesNavigatorGroupOpenListener"
		  id="org.eclipse.jst.j2ee.webservice.ui.J2EEWebServiceActionProvider">
		  <enablement>
			 <or>
				<and>
				  <instanceof
					 value="org.eclipse.emf.ecore.EObject" />
					<or>
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="wsdd.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="webservice_client.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="wscommon.xmi" />
						<test forcePluginActivation="true"
							property="org.eclipse.wst.common.emfworkbench.integration.emfPackage"
							value="http://www.ibm.com/wsdl/2003/WSDL" />
					 </or>
				</and>
				<instanceof
					value="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider" />
				<!--	 <instanceof value="org.eclipse.wst.wsdl.util.WSDLResourceImpl" /> -->
 			    <and>
			   		<instanceof value="org.eclipse.emf.ecore.resource.Resource"/>
			   		<test
                     property="org.eclipse.jst.j2ee.webservice.ui.isWsdlResource">
	               </test>			   		
			    </and>
			  </or>
			</enablement>
		</actionProvider> 
      </navigatorContent>
   </extension>

   
   <!-- J2EE View Web Services contribution -->
   
   <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewerContentBinding
      		viewerId="org.eclipse.ui.navigator.ProjectExplorer">
      		<includes>
      		   <contentExtension pattern="org.eclipse.wst.common.frameworks.internal.navigator.webservice"
      		      isRoot="false"/>
      		</includes>  
      </viewerContentBinding>
   </extension>

   <extension
         point="org.eclipse.ui.startup">
      <startup class="org.eclipse.jst.j2ee.internal.webservice.startup.WebserviceListener"/>
   </extension>
   
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.jst.j2ee.internal.webservice.WebServicePropertyTester"
            id="org.eclipse.jst.j2ee.webservice.ui.serviceTester"
            namespace="org.eclipse.jst.j2ee.webservice.ui"
            properties="isService"
            type="org.eclipse.emf.ecore.EObject">
      </propertyTester>
      <propertyTester
            class="org.eclipse.jst.j2ee.internal.webservice.WebServicePropertyTester"
            id="org.eclipse.jst.j2ee.webservice.ui.wsdlTester"
            namespace="org.eclipse.jst.j2ee.webservice.ui"
            properties="isWsdlResource"
            type="org.eclipse.emf.ecore.resource.Resource">
       </propertyTester>
   </extension>
</plugin>
