Author: scamp
Date: Mon Apr 25 14:04:48 2005
New Revision: 164645

URL: http://svn.apache.org/viewcvs?rev=164645&view=rev
Log:
Jira Muse-6 added support for QueryRelationshipsByType

Modified:
    incubator/muse/trunk/   (props changed)
    
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/capability/impl/RelationshipsCapabilityImpl.java
    
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/impl/WsdmNamespaceVersionHolderImpl.java
    
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/AbstractWeatherstationService.java
    
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/WeatherstationResource.java
    
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/AbstractWsdmInteropTestCase.java
    
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
    
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ServiceStub.java
    
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/WebServicesMgmtTestCase.java

Propchange: incubator/muse/trunk/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Apr 25 14:04:48 2005
@@ -4,3 +4,4 @@
 build.properties
 junit*.properties
 *.iml
+classes

Modified: 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/capability/impl/RelationshipsCapabilityImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/capability/impl/RelationshipsCapabilityImpl.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
--- 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/capability/impl/RelationshipsCapabilityImpl.java
 (original)
+++ 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/capability/impl/RelationshipsCapabilityImpl.java
 Mon Apr 25 14:04:48 2005
@@ -17,10 +17,23 @@
 
 import org.apache.ws.muws.v1_0.capability.RelationshipsCapability;
 import org.apache.ws.resource.ResourceContext;
+import org.apache.ws.resource.Resource;
 import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import org.apache.ws.resource.properties.ResourcePropertySet;
+import org.apache.ws.resource.properties.ResourceProperty;
 import 
org.apache.ws.resource.properties.impl.AbstractResourcePropertiesPortType;
+import org.apache.ws.util.XmlBeanUtils;
+import org.apache.xmlbeans.XmlObject;
 import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeDocument;
 import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeResponseDocument;
+import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipDocument;
+import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType;
+
+import javax.xml.rpc.JAXRPCException;
+import javax.xml.namespace.QName;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ArrayList;
 
 /**
  * TODO
@@ -46,7 +59,42 @@
     {
         QueryRelationshipsByTypeResponseDocument responseDoc = 
createQueryRelationshipsByTypeResponseDocument();
         
QueryRelationshipsByTypeResponseDocument.QueryRelationshipsByTypeResponse 
response = responseDoc.getQueryRelationshipsByTypeResponse();
-        // TODO: implement
+
+        
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeDocument.QueryRelationshipsByType
 queryRelationshipsByType = requestDoc.getQueryRelationshipsByType();
+        javax.xml.namespace.QName requestedType = 
queryRelationshipsByType.getRequestedType();
+
+        ResourcePropertySet properties = getProperties();
+        ResourceProperty resourceProperty = 
properties.get(RelationshipsCapability.PROP_NAME_RELATIONSHIP);
+
+        if(resourceProperty == null)
+        {
+            throw new JAXRPCException("Unable to query relationship since the 
Resource does not expose a " + RelationshipsCapability.PROP_NAME_RELATIONSHIP + 
" resource property.");
+        }
+
+        List matchingRelationships = new ArrayList();
+
+        Iterator iterator = resourceProperty.iterator();
+        while (iterator.hasNext())
+        {
+            
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType 
relationship = 
(org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType) 
iterator.next();
+            
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipTypeType type 
= relationship.getType();
+            XmlObject[] childElements = XmlBeanUtils.getChildElements(type);
+
+            for (int i = 0; i < childElements.length; i++)
+            {
+                XmlObject childElement = childElements[i];
+                QName typeName = XmlBeanUtils.getName(childElement);
+
+                if (typeName.equals(requestedType))
+                {
+                    matchingRelationships.add(relationship);
+                }
+            }
+        }
+
+        //add matching relationships to the response
+        
response.setRelationshipArray((RelationshipType[])matchingRelationships.toArray(new
 RelationshipType[0]));
+
         return responseDoc;
     }
 

Modified: 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/impl/WsdmNamespaceVersionHolderImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/impl/WsdmNamespaceVersionHolderImpl.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
--- 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/impl/WsdmNamespaceVersionHolderImpl.java
 (original)
+++ 
incubator/muse/trunk/src/java/org/apache/ws/muws/v1_0/impl/WsdmNamespaceVersionHolderImpl.java
 Mon Apr 25 14:04:48 2005
@@ -2,7 +2,7 @@
 
 import org.apache.ws.muws.WsdmNamespaceVersionHolder;
 import org.apache.ws.muws.v1_0.MuwsConstants;
-import org.apache.ws.notification.base.v1_2.impl.WsnNamespaceVersionHolderImpl;
+import 
org.apache.ws.notification.base.v2004_6.impl.WsnNamespaceVersionHolderImpl;
 import org.apache.ws.mows.v1_0.MowsConstants;
 
 

Modified: 
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/AbstractWeatherstationService.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/AbstractWeatherstationService.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
--- 
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/AbstractWeatherstationService.java
 (original)
+++ 
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/AbstractWeatherstationService.java
 Mon Apr 25 14:04:48 2005
@@ -1,10 +1,13 @@
 
 package org.everestWeather.wsdm.samples.x2005.x04.schema;
 
+import org.apache.ws.muws.v1_0.capability.impl.RelationshipsCapabilityImpl;
 import org.apache.ws.resource.ResourceContext;
-import org.apache.ws.resource.handler.SoapMethodNameMap;
-import org.apache.ws.resource.handler.WsrfService;
 import org.apache.ws.resource.handler.ServiceSoapMethodNameMap;
+import org.apache.ws.resource.handler.SoapMethodNameMap;
+import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeDocument;
+import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeResponseDocument;
+
 import javax.xml.namespace.QName;
 
 /**
@@ -14,7 +17,7 @@
  * NOTE: This class is generated and is NOT meant to be modified.
  */
 public abstract class AbstractWeatherstationService
-    implements org.apache.ws.resource.handler.WsrfService, 
org.apache.ws.resource.properties.v2004_06.porttype.GetMultipleResourcePropertiesPortType,
 
org.apache.ws.resource.properties.v2004_06.porttype.GetResourcePropertyPortType,
 org.apache.ws.notification.base.v1_2.porttype.NotificationProducerPortType {
+    implements org.apache.ws.resource.handler.WsrfService, 
org.apache.ws.resource.properties.v2004_06.porttype.GetMultipleResourcePropertiesPortType,
 
org.apache.ws.resource.properties.v2004_06.porttype.GetResourcePropertyPortType,
 org.apache.ws.notification.base.v2004_6.porttype.NotificationProducerPortType {
 
    public static final String TARGET_NSURI = 
"http://everest-weather.org/wsdm/samples/2005/04/schema";;
    public static final String TARGET_NSPREFIX = "schema";
@@ -115,7 +118,7 @@
     */
    public 
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.SubscribeResponseDocument
 subscribe( 
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.SubscribeDocument
 requestDoc )
    {        
-       return new 
org.apache.ws.notification.base.v1_2.porttype.impl.NotificationProducerPortTypeImpl(
 getResourceContext(  ) ).subscribe( requestDoc );
+       return new 
org.apache.ws.notification.base.v2004_6.porttype.impl.NotificationProducerPortTypeImpl(
 getResourceContext(  ) ).subscribe( requestDoc );
    }
 
    /**
@@ -127,9 +130,12 @@
     */
    public 
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.GetCurrentMessageResponseDocument
 getCurrentMessage( 
org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.GetCurrentMessageDocument
 requestDoc )
    {
-       return new 
org.apache.ws.notification.base.v1_2.porttype.impl.NotificationProducerPortTypeImpl(
 getResourceContext(  ) ).getCurrentMessage( requestDoc );
+       return new 
org.apache.ws.notification.base.v2004_6.porttype.impl.NotificationProducerPortTypeImpl(
 getResourceContext(  ) ).getCurrentMessage( requestDoc );
    }
     
-
+   public QueryRelationshipsByTypeResponseDocument queryRelationshipsByType( 
QueryRelationshipsByTypeDocument requestDoc )
+   {
+       return new 
RelationshipsCapabilityImpl(getResourceContext()).queryRelationshipsByType(requestDoc);
+   }
 
 }

Modified: 
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/WeatherstationResource.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/WeatherstationResource.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
--- 
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/WeatherstationResource.java
 (original)
+++ 
incubator/muse/trunk/src/site/content/interop/src/java/org/everestWeather/wsdm/samples/x2005/x04/schema/WeatherstationResource.java
 Mon Apr 25 14:04:48 2005
@@ -19,6 +19,7 @@
 import org.apache.ws.util.XmlBeanUtils;
 import org.apache.xmlbeans.GDurationBuilder;
 import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlException;
 import 
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.CurrentOperationalStateDocument;
 import org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.DurationMetric;
 import 
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.EndpointDescriptionsDocument;
@@ -41,6 +42,7 @@
 import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipParticipantType;
 import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType;
 import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.StateTransitionType;
+import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipTypeType;
 import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmPbm.MatchDocument;
 import org.xmlsoap.schemas.ws.x2004.x08.addressing.AttributedURI;
 import org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType;
@@ -62,7 +64,8 @@
     /**
      * A NamespaceVerionHolder which maintains the QNames of Spec Wsdls
      */
-    public static final 
org.apache.ws.notification.base.v1_2.impl.WsnNamespaceVersionHolderImpl 
SPEC_NAMESPACE_SET = new 
org.apache.ws.notification.base.v1_2.impl.WsnNamespaceVersionHolderImpl();
+    public static final 
org.apache.ws.notification.base.v2004_6.impl.WsnNamespaceVersionHolderImpl 
SPEC_NAMESPACE_SET = new 
org.apache.ws.notification.base.v2004_6.impl.WsnNamespaceVersionHolderImpl();
+    public static final QName RELATIONSHIP_RELATION = new 
QName(WeatherstationPropertyQNames.FCCID.getNamespaceURI(),"containment", "R");
 
     /**
      * Initializes this resource's state (properties, etc.).
@@ -218,8 +221,19 @@
         RelationshipDocument relationshipDocument = 
RelationshipDocument.Factory.newInstance();
 
         //add new type
-        RelationshipType relationshipType = 
relationshipDocument.addNewRelationship();
-        //relationshipType.setName( "" );//set name of relationship type  
OPTIONAL
+        RelationshipType relationshipType = null;
+        try
+        {
+            relationshipType = relationshipDocument.addNewRelationship();
+            RelationshipTypeType relationshipTypeType = 
relationshipType.addNewType();
+            XmlObject relationType = 
XmlObject.Factory.parse("<"+RELATIONSHIP_RELATION.getPrefix()+":"+RELATIONSHIP_RELATION.getLocalPart()+"
 xmlns:"+RELATIONSHIP_RELATION.getPrefix()+"=" + "\"" + 
RELATIONSHIP_RELATION.getNamespaceURI() + "\" />");
+            XmlBeanUtils.addChildElement(relationshipTypeType, relationType);
+        }
+        catch (XmlException e)
+        {
+            e.printStackTrace();
+        }
+
         //relationshipType.setAccessEndpointReference();//need EPR    optional
 
         QName qName = QName.valueOf( "{" + 
WeatherstationPropertyQNames.FCCID.getNamespaceURI() + "}ResourceID" );
@@ -245,7 +259,7 @@
         XmlBeanUtils.setValue( key2, InteropConstants.WEATHERSTATION_KEY2 );
 
         //add a relationshiptype
-        relationshipType.addNewType();
+        //relationshipType.addNewType();
 
         resourceProperty.add( relationshipDocument );
 

Modified: 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/AbstractWsdmInteropTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/AbstractWsdmInteropTestCase.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
--- 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/AbstractWsdmInteropTestCase.java
 (original)
+++ 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/AbstractWsdmInteropTestCase.java
 Mon Apr 25 14:04:48 2005
@@ -19,7 +19,7 @@
 import org.apache.ws.muws.v1_0.capability.IdentityCapability;
 import 
org.apache.ws.muws.v1_0.capability.ManageabilityCharacteristicsCapability;
 import org.apache.ws.muws.v1_0.capability.OperationalStatusCapability;
-import org.apache.ws.notification.base.v1_2.BaseNotification1_2Constants;
+import org.apache.ws.notification.base.v2004_6.BaseNotificationConstants;
 import org.apache.ws.util.XmlBeanUtils;
 import org.apache.ws.util.jndi.XmlBeanJndiUtils;
 import org.apache.ws.util.test.PortListen;
@@ -154,7 +154,7 @@
         {
             //get notify
             XmlObject bodyElems[] = XmlBeanUtils.getChildElements( body,
-                    new QName( BaseNotification1_2Constants.NSURI_WSNT_SCHEMA, 
"Notify" ) );
+                    new QName( BaseNotificationConstants.NSURI_WSNT_SCHEMA, 
"Notify" ) );
             assertEquals( "The SOAP Body does not contain exactly one 
wsnt:Notify element.", 1, bodyElems.length );
             XmlObject notifyDoc = bodyElems[0];
             assertTrue( "The SOAP Body does not contain a wrapped notification 
with a Notify element.",

Modified: 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
--- 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
 (original)
+++ 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ResourceStub.java
 Mon Apr 25 14:04:48 2005
@@ -17,7 +17,7 @@
 
 import org.apache.ws.addressing.EndpointReference;
 import org.apache.ws.addressing.XmlBeansEndpointReference;
-import org.apache.ws.notification.topics.v1_2.Topics1_2Constants;
+import org.apache.ws.notification.topics.v2004_06.Topics1_2Constants;
 import org.apache.ws.util.XmlBeanUtils;
 import org.apache.ws.util.soap.SoapClient;
 import org.apache.ws.XmlObjectWrapper;

Modified: 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ServiceStub.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ServiceStub.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
--- 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ServiceStub.java
 (original)
+++ 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/ServiceStub.java
 Mon Apr 25 14:04:48 2005
@@ -17,17 +17,28 @@
 
 import org.apache.ws.util.XmlBeanUtils;
 import org.apache.ws.util.soap.SoapClient;
+import org.apache.ws.resource.impl.SimpleTypeResourceKey;
+import org.apache.ws.resource.example.InteropConstants;
 import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlException;
 import org.everest.GetCurrentTemperatureDocument;
 import org.everest.GetCurrentTemperatureResponseDocument;
 import 
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.GetManageabilityReferencesDocument;
 import 
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.GetManageabilityReferencesResponseDocument;
+import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.RelationshipType;
+import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeDocument;
+import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.QueryRelationshipsByTypeResponseDocument;
 import org.xmlsoap.schemas.soap.envelope.Envelope;
 import org.xmlsoap.schemas.soap.envelope.EnvelopeDocument;
+import org.xmlsoap.schemas.soap.envelope.Header;
 import org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType;
+import 
org.everestWeather.wsdm.samples.x2005.x04.schema.WeatherstationPropertyQNames;
 
+import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPElement;
 import java.net.URI;
 import java.net.URL;
+import java.net.MalformedURLException;
 
 /**
  * TODO
@@ -46,7 +57,7 @@
     {
         GetManageabilityReferencesDocument requestDoc = 
GetManageabilityReferencesDocument.Factory.newInstance();
         requestDoc.addNewGetManageabilityReferences();
-        XmlObject response = sendRequest( requestDoc, 
"http://xyz.com/action/GetManageabilityReferences"; );
+        XmlObject response = sendRequest( requestDoc, 
"http://xyz.com/action/GetManageabilityReferences";, m_url);
         if ( ! ( response instanceof 
GetManageabilityReferencesResponseDocument.GetManageabilityReferencesResponse ) 
)
         {
             throw new FaultException( response.toString() );
@@ -59,7 +70,7 @@
         GetCurrentTemperatureDocument requestDoc = 
GetCurrentTemperatureDocument.Factory.newInstance();
         GetCurrentTemperatureDocument.GetCurrentTemperature 
getCurrentTemperature = requestDoc.addNewGetCurrentTemperature();
         getCurrentTemperature.setAltitude( 643.0 );
-        XmlObject response = sendRequest( requestDoc, 
"http://xyz.com/action/GetCurrentTemperature"; );
+        XmlObject response = sendRequest( requestDoc, 
"http://xyz.com/action/GetCurrentTemperature";, m_url);
         if ( ! ( response instanceof 
GetCurrentTemperatureResponseDocument.GetCurrentTemperatureResponse ) )
         {
             throw new FaultException( response.toString() );
@@ -67,6 +78,31 @@
         return 
((GetCurrentTemperatureResponseDocument.GetCurrentTemperatureResponse)response).getGetCurrentTemperatureResult();
     }
 
+    public RelationshipType[] queryRelationshipsByType( QName type )  throws 
FaultException, MalformedURLException, XmlException
+    {
+        QueryRelationshipsByTypeDocument requestDoc = 
QueryRelationshipsByTypeDocument.Factory.newInstance();
+        QueryRelationshipsByTypeDocument.QueryRelationshipsByType 
queryRelationshipsByType = requestDoc.addNewQueryRelationshipsByType();
+        queryRelationshipsByType.setRequestedType(type);
+        URL url = new URL(m_url,"weatherstation");
+
+        EnvelopeDocument requestEnvelopeDoc = createEnvelope();
+        Envelope requestEnvelope = requestEnvelopeDoc.getEnvelope();
+        XmlBeanUtils.addChildElement( requestEnvelope.getBody(), requestDoc );
+
+        QName qName = new 
QName(WeatherstationPropertyQNames.FCCID.getNamespaceURI(),"ResourceID");
+
+
+        addAddressingHeader(requestEnvelope.getHeader(), 
"http://xyz.com/action/QueryRelationship";, 
url.toString(),qName,InteropConstants.WEATHERSTATION_KEY1);
+
+        XmlObject response = sendRequest( requestEnvelopeDoc, 
"http://xyz.com/action/QueryRelationship";, url);
+        if ( ! ( response instanceof 
QueryRelationshipsByTypeResponseDocument.QueryRelationshipsByTypeResponse ) )
+        {
+            throw new FaultException( response.toString() );
+        }
+        return 
((QueryRelationshipsByTypeResponseDocument.QueryRelationshipsByTypeResponse)response).getRelationshipArray();
+    }
+
+
     private EnvelopeDocument createEnvelope()
     {
         EnvelopeDocument envelopeDoc = EnvelopeDocument.Factory.newInstance();
@@ -76,7 +112,7 @@
         return envelopeDoc;
     }
 
-    private XmlObject sendRequest( XmlObject requestDoc, String action )
+    private XmlObject sendRequest(XmlObject requestDoc, String action, URL url)
     {
         EnvelopeDocument requestEnvelopeDoc = createEnvelope();
         Envelope requestEnvelope = requestEnvelopeDoc.getEnvelope();
@@ -85,7 +121,7 @@
         {
             URI actionURI = new URI( action );
             if ( AbstractWsdmInteropTestCase.DEBUG ) { System.out.println( 
"Sending request: \n" + requestEnvelopeDoc ); }
-            String response = SoapClient.sendRequest( m_url, 
requestEnvelopeDoc.newInputStream(), actionURI );
+            String response = SoapClient.sendRequest( url, 
requestEnvelopeDoc.newInputStream(), actionURI );
             EnvelopeDocument responseEnvelopeDoc = (EnvelopeDocument) 
XmlObject.Factory.parse( response );
             if ( AbstractWsdmInteropTestCase.DEBUG ) { System.out.println( 
"Received response: \n" + responseEnvelopeDoc ); }
             Envelope responseEnvelope = responseEnvelopeDoc.getEnvelope();
@@ -104,5 +140,51 @@
             throw new RuntimeException( e );
         }
     }
+    private XmlObject sendRequest(EnvelopeDocument requestEnvelope, String 
action, URL url)
+    {
 
+        try
+        {
+            URI actionURI = new URI( action );
+            if ( AbstractWsdmInteropTestCase.DEBUG ) { System.out.println( 
"Sending request: \n" + requestEnvelope ); }
+            String response = SoapClient.sendRequest( url, 
requestEnvelope.newInputStream(), actionURI );
+            EnvelopeDocument responseEnvelopeDoc = (EnvelopeDocument) 
XmlObject.Factory.parse( response );
+            if ( AbstractWsdmInteropTestCase.DEBUG ) { System.out.println( 
"Received response: \n" + responseEnvelopeDoc ); }
+            Envelope responseEnvelope = responseEnvelopeDoc.getEnvelope();
+            XmlObject[] responseBodyElems = XmlBeanUtils.getChildElements( 
responseEnvelope.getBody() );
+            if ( responseBodyElems.length == 0 )
+            {
+                return null;
+            }
+            else
+            {
+                return responseBodyElems[0];
+            }
+        }
+        catch ( Exception e )
+        {
+            throw new RuntimeException( e );
+        }
+    }
+
+    private void addAddressingHeader(Header header, String action, String 
address, QName keyHeaderName, String weatherstationKey1)
+    {
+        XmlObject toElem;
+        XmlObject actionElem;
+        org.xmlsoap.schemas.ws.x2004.x08.addressing.ToDocument toDoc = 
org.xmlsoap.schemas.ws.x2004.x08.addressing.ToDocument.Factory.newInstance();
+        org.xmlsoap.schemas.ws.x2004.x08.addressing.AttributedURI 
attributedURI = toDoc.addNewTo();
+        attributedURI.setStringValue(address);
+        toElem = toDoc;
+        org.xmlsoap.schemas.ws.x2004.x08.addressing.ActionDocument actionDoc = 
org.xmlsoap.schemas.ws.x2004.x08.addressing.ActionDocument.Factory.newInstance();
+        org.xmlsoap.schemas.ws.x2004.x08.addressing.AttributedURI actionType = 
actionDoc.addNewAction();
+        actionType.setStringValue(action);
+        actionElem = actionDoc;
+
+        XmlBeanUtils.addChildElement(header, toElem);
+        XmlBeanUtils.addChildElement(header, actionElem);
+
+
+        XmlObject resourceKeyHeader = XmlBeanUtils.addChildElement(header, 
keyHeaderName);
+        XmlBeanUtils.setValue(resourceKeyHeader, weatherstationKey1);
+    }
 }

Modified: 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/WebServicesMgmtTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/WebServicesMgmtTestCase.java?rev=164645&r1=164644&r2=164645&view=diff
==============================================================================
--- 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/WebServicesMgmtTestCase.java
 (original)
+++ 
incubator/muse/trunk/src/site/content/interop/src/test/org/apache/ws/muws/interop/client/WebServicesMgmtTestCase.java
 Mon Apr 25 14:04:48 2005
@@ -35,6 +35,7 @@
 import org.apache.xmlbeans.XmlString;
 import org.apache.xmlbeans.XmlOptions;
 import 
org.everestWeather.wsdm.samples.x2005.x04.schema.WeatherstationPropertyQNames;
+import org.everestWeather.wsdm.samples.x2005.x04.schema.WeatherstationResource;
 import org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.DurationMetric;
 import 
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.EndpointDescriptionsDocument;
 import org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.IntegerCounter;
@@ -258,6 +259,19 @@
         ResourceStub resource2 = new ResourceStub(new 
XmlBeansEndpointReference( weatherStation2EprDoc.getEndpointReference()) ); 
//resource2
 
         assertEquals("FCCIDs did not match.", getFCCID(m_resource), 
getFCCID(resource2));
+    }
+
+    public void testQueryRelationshipsByType() throws FaultException, 
MalformedURLException, XmlException
+    {
+        RelationshipType[] relationshipTypes = 
m_service.queryRelationshipsByType(WeatherstationResource.RELATIONSHIP_RELATION);
+        assertNotNull(relationshipTypes);
+        assertTrue(relationshipTypes.length == 1);
+        XmlObject[] childElements = 
XmlBeanUtils.getChildElements(relationshipTypes[0].getType());
+
+        XmlObject childElement = childElements[0];
+        QName typeName = XmlBeanUtils.getName(childElement);
+
+        assertEquals(WeatherstationResource.RELATIONSHIP_RELATION, typeName);
     }
 
     private String getFCCID(ResourceStub resource)



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to