Author: scamp
Date: Tue Apr  5 14:05:28 2005
New Revision: 160219

URL: http://svn.apache.org/viewcvs?view=rev&rev=160219
Log: (empty)


Modified:
    
incubator/muse/trunk/src/site/content/interop/src/java/org/everest/WeatherStationSoapService.java

Modified: 
incubator/muse/trunk/src/site/content/interop/src/java/org/everest/WeatherStationSoapService.java
URL: 
http://svn.apache.org/viewcvs/incubator/muse/trunk/src/site/content/interop/src/java/org/everest/WeatherStationSoapService.java?view=diff&r1=160218&r2=160219
==============================================================================
--- 
incubator/muse/trunk/src/site/content/interop/src/java/org/everest/WeatherStationSoapService.java
 (original)
+++ 
incubator/muse/trunk/src/site/content/interop/src/java/org/everest/WeatherStationSoapService.java
 Tue Apr  5 14:05:28 2005
@@ -1,17 +1,36 @@
 package org.everest;
 
 import org.apache.ws.resource.ResourceContext;
+import org.apache.ws.resource.Resource;
+import org.apache.ws.resource.ResourceException;
+import org.apache.ws.resource.impl.SimpleTypeResourceKey;
 import org.apache.ws.resource.example.InteropConstants;
 import org.apache.ws.util.XmlBeanUtils;
+import org.apache.ws.mows.v1_0.MowsConstants;
+import org.apache.ws.notification.topics.Topic;
 import org.apache.xmlbeans.XmlObject;
 import 
org.everestWeather.wsdm.samples.x2005.x04.schema.WeatherstationPropertyQNames;
+import org.everestWeather.wsdm.samples.x2005.x04.schema.WeatherstationHome;
+import org.everestWeather.wsdm.samples.x2005.x04.schema.WeatherstationResource;
 import org.xmlsoap.schemas.ws.x2004.x08.addressing.AttributedURI;
 import org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType;
 import org.xmlsoap.schemas.ws.x2004.x08.addressing.ReferencePropertiesType;
 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.mows.wsdmMows.RequestProcessingNotificationDocument;
+import org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.MessageInformationType;
+import 
org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.RequestProcessingStateInformationType;
+import org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.MessageContentType;
+import org.oasisOpen.docs.wsdm.x2004.x12.mows.wsdmMows.AnyXmlContentsType;
+import 
org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.StateTransitionType;
+import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart2.StateType;
 
 import javax.xml.namespace.QName;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Calendar;
 
 /**
  * This class should be generated ONCE (and not overwritten) to maintain 
user-added code.
@@ -80,7 +99,66 @@
        Double aDouble = new Double(101);
        
getCurrentTemperatureResponse.setGetCurrentTemperatureResult(aDouble.doubleValue());
 
-       
+       try
+       {
+           InitialContext initialContext = new InitialContext();
+           WeatherstationHome home = (WeatherstationHome) 
initialContext.lookup(WeatherstationHome.HOME_LOCATION);
+           SimpleTypeResourceKey simpleTypeResourceKey = new 
SimpleTypeResourceKey(new 
QName(WeatherstationPropertyQNames.FCCID.getNamespaceURI(),"ResourceID"), 
InteropConstants.WEATHERSTATION_KEY1);
+           WeatherstationResource resource = (WeatherstationResource) 
home.find(simpleTypeResourceKey);
+           List topicPath = new ArrayList();
+           topicPath.add("RequestProcessingObservations");
+           Topic topic = 
resource.getTopicSpaceSet().getTopicSpace(MowsConstants.NSURI_MOWS_TOPICS).getTopic(topicPath);
+           Calendar time = Calendar.getInstance();
+
+           //RequestProcessingNotification
+           RequestProcessingNotificationDocument notifDocument = 
RequestProcessingNotificationDocument.Factory.newInstance();
+           RequestProcessingNotificationDocument.RequestProcessingNotification 
notif = notifDocument.addNewRequestProcessingNotification();
+
+           //reply message
+           MessageInformationType replyInformationType = notif.addNewReply();
+           MessageContentType replyMessage = 
replyInformationType.addNewMessage();
+           AnyXmlContentsType anyXmlContentsType = replyMessage.addNewXml();
+           
XmlBeanUtils.addChildElement(anyXmlContentsType,getCurrentTemperatureResponseDocument);
+
+           //request message
+           MessageInformationType requestInformationType = 
notif.addNewRequest();
+           MessageContentType requestMessage = 
requestInformationType.addNewMessage();
+           AnyXmlContentsType requestanyXmlContentsType = 
requestMessage.addNewXml();
+           XmlBeanUtils.addChildElement(requestanyXmlContentsType,requestDoc);
+
+
+           //todo flesh out
+           //StateInformation
+           RequestProcessingStateInformationType 
requestProcessingStateInformationType = notif.addNewStateInformation();
+           StateTransitionType stateTransitionType = 
requestProcessingStateInformationType.addNewStateTransition();
+
+           XmlObject currentState = XmlObject.Factory.parse("<tns:temp 
xmlns:tns=\"http:\\tempcentral.com\temps\">Cool<tns:temp>");
+
+           StateType enteredState = stateTransitionType.addNewEnteredState();
+           XmlBeanUtils.addChildElement(enteredState,currentState);
+
+           StateType prevState = stateTransitionType.addNewPreviousState();
+           XmlBeanUtils.addChildElement(prevState,currentState);
+
+           stateTransitionType.setTransitionIdentifier("urn:NONE");
+           stateTransitionType.setTime(time);
+           notif.setCurrentTime(time);
+
+           topic.publish(notifDocument);
+       }
+       catch (NamingException e)
+       {
+           e.printStackTrace();
+       }
+       catch (ResourceException e)
+       {
+           e.printStackTrace();
+       }
+       catch (Exception e)
+       {
+           e.printStackTrace();
+       }
+
 
        return getCurrentTemperatureResponseDocument;
    }



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

Reply via email to