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]