You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-commits@ws.apache.org by wi...@apache.org on 2005/09/28 23:25:34 UTC
svn commit: r292310 - in
/webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification:
ChangeNotificationImpl.java NotificationImpl.java SituationImpl.java
Author: wire
Date: Wed Sep 28 14:25:29 2005
New Revision: 292310
URL: http://svn.apache.org/viewcvs?rev=292310&view=rev
Log:
Added toString support
Modified:
webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/ChangeNotificationImpl.java
webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/NotificationImpl.java
webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/SituationImpl.java
Modified: webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/ChangeNotificationImpl.java
URL: http://svn.apache.org/viewcvs/webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/ChangeNotificationImpl.java?rev=292310&r1=292309&r2=292310&view=diff
==============================================================================
--- webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/ChangeNotificationImpl.java (original)
+++ webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/ChangeNotificationImpl.java Wed Sep 28 14:25:29 2005
@@ -1,8 +1,10 @@
package org.apache.ws.client.muse.client.impl.notification;
+import java.util.ArrayList;
+import java.util.Iterator;
+
import javax.xml.namespace.QName;
-import org.apache.axis.utils.BeanUtils;
import org.apache.ws.client.muse.client.impl.exceptions.UnexpectedServerResponseException;
import org.apache.ws.client.muse.client.impl.wsrf.InsertOrUpdateRequest;
import org.apache.ws.client.muse.client.impl.wsrf.SetPropertiesRequestImpl;
@@ -12,7 +14,6 @@
import org.apache.xmlbeans.XmlObject;
import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.impl.ManagementEventTypeImpl;
import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.ResourcePropertyValueChangeNotificationType;
-import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.ResourcePropertyValueChangeNotificationType.OldValue;
public class ChangeNotificationImpl implements ChangeNotification {
@@ -98,7 +99,46 @@
return req.getProperty();
} else {
return null;
- }
+ }
+ }
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ public String toString() {
+ StringBuffer b=new StringBuffer();
+ b.append("Change Notification Event\n");
+ b.append("Old Values\n");
+ ArrayList oldVals = getOldValues().getAllSetResourceRequests();
+ for (Iterator iter = oldVals.iterator(); iter.hasNext();) {
+ InsertOrUpdateRequest oldVal = (InsertOrUpdateRequest) iter.next();
+ b.append(oldVal.getProperty().toString());
+ String[] values = oldVal.getPropetyValues();
+ b.append("={");
+ for (int i = 0; i < values.length; i++) {
+ String string = values[i];
+ b.append(string);
+ if(i<values.length-1)
+ b.append(",");
+ }
+ }
+ b.append("}\n");
+ b.append("New Values\n");
+ ArrayList newVals = getNewValues().getAllSetResourceRequests();
+ for (Iterator iter = newVals.iterator(); iter.hasNext();) {
+ InsertOrUpdateRequest newVal = (InsertOrUpdateRequest) iter.next();
+ b.append(newVal.getProperty().toString());
+ String[] values = newVal.getPropetyValues();
+ b.append("={");
+ for (int i = 0; i < values.length; i++) {
+ String string = values[i];
+ b.append(string);
+ if(i<values.length-1)
+ b.append(",");
+ }
+ }
+ b.append("}\n");
+ return b.toString();
}
+
}
Modified: webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/NotificationImpl.java
URL: http://svn.apache.org/viewcvs/webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/NotificationImpl.java?rev=292310&r1=292309&r2=292310&view=diff
==============================================================================
--- webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/NotificationImpl.java (original)
+++ webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/NotificationImpl.java Wed Sep 28 14:25:29 2005
@@ -13,15 +13,12 @@
import org.apache.ws.util.XmlBeanUtils;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlOptions;
import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ComponentAddressType;
import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ComponentType;
import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.impl.ManagementEventTypeImpl;
import org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.NotificationMessageHolderType;
-import org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.NotifyDocument;
import org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.TopicExpressionType;
import org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.GetCurrentMessageResponseDocument.GetCurrentMessageResponse;
-import org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.impl.NotificationMessageHolderTypeImpl;
import org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.impl.NotifyDocumentImpl;
import org.oasisOpen.docs.wsn.x2004.x06.wsnWSBaseNotification12Draft01.impl.NotifyDocumentImpl.NotifyImpl;
import org.xmlsoap.schemas.soap.envelope.Body;
@@ -44,7 +41,12 @@
*/
public static Notification[] create(String notificationText,HttpHeader header) throws XmlException, UnexpectedServerResponseException{
// Determine if this is a wrapped or unwrapped notification
- XmlObject rawEnvelopeObj = XmlObject.Factory.parse(notificationText);
+ XmlObject rawEnvelopeObj =null;
+ try{
+ rawEnvelopeObj = XmlObject.Factory.parse(notificationText);
+ } catch (XmlException e){
+ throw new UnexpectedServerResponseException("Could not parse Notification because of error:"+e.getMessage()+". Received Text Was "+notificationText);
+ }
if(!(rawEnvelopeObj instanceof EnvelopeDocument)){
throw new UnexpectedServerResponseException("This message is not a SOAP document.");
}
@@ -128,44 +130,10 @@
}
-// public NotificationImpl(String notificationText,HttpHeader header) throws XmlException, UnexpectedServerResponseException {
-// this.header=header;
-// XmlObject rawEnvelopeObj = XmlObject.Factory.parse(notificationText);
-// if(!(rawEnvelopeObj instanceof EnvelopeDocument)){
-// throw new UnexpectedServerResponseException("This message is not a SOAP document.");
-// }
-// EnvelopeDocument ed = (EnvelopeDocument) rawEnvelopeObj;
-// Body body = ed.getEnvelope().getBody();
-// XmlObject[] children = XmlBeanUtils.getChildElements(body);
-// for (int i = 0; i < children.length; i++) {
-// XmlObject object = children[i];
-// if(object instanceof ManagementEventTypeImpl){
-// this.message=(ManagementEventTypeImpl)object;
-// return;
-// }
-// }
-//
-// // wsn:Notify/wsn:NotificationMessage/wsn:Message/ManagementEvent
-// for (int i = 0; i < children.length; i++) {
-// XmlObject object = children[i];
-// if(object instanceof NotifyDocumentImpl.NotifyImpl){
-// this.notification=(NotifyDocumentImpl.NotifyImpl)object;
-// this.notification.getNotificationMessageArray(0).getMessage()
-// break;
-// }
-// }
-// }
-
-
public void validate(){
//validateXmlBean(ed);
}
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return message.xmlText();
- }
+
// WS-Notif -------------------------------------------
public TopicExpression getTopic(){
if(this.notification==null)
@@ -233,5 +201,48 @@
public XmlObject[] getNotificationPayload(){
return XmlBeanUtils.getChildElements(getManagementEvent());
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ public String toString() {
+ StringBuffer b=new StringBuffer();
+ b.append("Notification\n");
+ b.append("Event Id: "+getEventId()+"\n");
+ b.append("Report Time: "+getReportTime()+"\n");
+ b.append("SourceComponent: "+getSourceComponent()+"\n");
+ b.append("Source Component Id: "+getSourceComponentId()+"\n");
+
+ b.append("Component Addresses: \n");
+ ComponentAddressType[] addresses = getSourceComponentAddresses();
+ for (int i = 0; i < addresses.length; i++) {
+ ComponentAddressType address = addresses[i];
+ b.append(XmlBeanUtils.getValue(address)+"\n");
+ }
+
+
+ b.append("Event Id: "+getReporter()+"\n");
+ b.append("Event Id: "+getReporterId()+"\n");
+ b.append("Reporter Addresses: \n");
+ ComponentAddressType[] addresses1 = getReporterComponentAddresses();
+ for (int i = 0; i < addresses1.length; i++) {
+ ComponentAddressType address = addresses1[i];
+ b.append(XmlBeanUtils.getValue(address)+"\n");
+ }
+
+ try {
+ Situation situation1 = getSituation();
+ b.append("Situation Data:\n "+situation1.toString()+"\n");
+
+ } catch (UnexpectedServerResponseException e) {}
+
+ try {
+ ChangeNotification change1 = getChangeNotification();
+ b.append("Change Data:\n "+change1.toString()+"\n");
+
+ } catch (UnexpectedServerResponseException e) {}
+
+ return b.toString();
}
}
Modified: webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/SituationImpl.java
URL: http://svn.apache.org/viewcvs/webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/SituationImpl.java?rev=292310&r1=292309&r2=292310&view=diff
==============================================================================
--- webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/SituationImpl.java (original)
+++ webservices/muse/trunk/src/examples/client/src/java/org/apache/ws/client/muse/client/impl/notification/SituationImpl.java Wed Sep 28 14:25:29 2005
@@ -41,6 +41,8 @@
}
public String getSuccessDisposition(){
+ if(situation.getSuccessDisposition()==null)
+ return "";
return situation.getSuccessDisposition().toString();
}
@@ -57,6 +59,8 @@
}
public String getMessage(){
+ if(situation.getMessage()==null)
+ return "";
return situation.getMessage().getStringValue();
}
@@ -67,24 +71,56 @@
public XmlObject getSubsitutableMessage(){
return situation.getSubstitutableMsg();
}
+
+ public static String severityToString(short severity){
+ switch(severity){
+ case SEVERITY_FATAL:
+ return "SEVERITY_FATAL";
+ case SEVERITY_CRITICAL:
+ return "SEVERITY_CRITICAL";
+ case SEVERITY_MAJOR:
+ return "SEVERITY_MAJOR";
+ case SEVERITY_MINOR:
+ return "SEVERITY_MINOR";
+ case SEVERITY_WARNING:
+ return "SEVERITY_WARNING";
+ case SEVERITY_INFORMATION:
+ return "SEVERITY_INFORMATION";
+ }
+ return "SEVERITY_UNKNOWN";
+ }
- public static void main(String[] args) {
- String message="<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><soapenv:Header><wsa03:To soapenv:actor=\"http://schemas.xmlsoap.org/soap/actor/next\" soapenv:mustUnderstand=\"0\" xmlns:wsa03=\"http://schemas.xmlsoap.org/ws/2003/03/addressing\">http://localhost:8089/endpoint/wsmgr?a=/11310</wsa03:To><wsa03:Action soapenv:actor=\"http://schemas.xmlsoap.org/soap/actor/next\" soapenv:mustUnderstand=\"0\" xmlns:wsa03=\"http://schemas.xmlsoap.org/ws/2003/03/addressing\">http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl/Notify</wsa03:Action></soapenv:Header><soapenv:Body><wsn:Notify xmlns:wsn=\"http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd\"><wsn:NotificationMessage><wsn:Topic xmlns:wsdm=\"http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2-events.xml\" Dialect=\"http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple\">wsdm:OperationalStatusCapability</wsn:Topic><wsn:ProducerReference><add:Address xmlns:add=\"http://schemas.xmlsoap.org/ws/2003/03/addressing\">http://192.168.1.241:8080/muse/services/weather-station</add:Address><add:ReferenceProperties xmlns:add=\"http://schemas.xmlsoap.org/ws/2003/03/addressing\"><weat:ResourceIdentifier xmlns:weat=\"http://wsdmdemo.org/service/weather-station\">weather-station-1</weat:ResourceIdentifier></add:ReferenceProperties><add:PortType xmlns:weat=\"http://wsdmdemo.org/service/weather-station\" xmlns:add=\"http://schemas.xmlsoap.org/ws/2003/03/addressing\">weat:WeatherStationPortType</add:PortType><add:ServiceName xmlns:weat=\"http://wsdmdemo.org/service/weather-station\" xmlns:add=\"http://schemas.xmlsoap.org/ws/2003/03/addressing\" PortName=\"weather-station\">weat:weather-station</add:ServiceName></wsn:ProducerReference><wsn:Message><wsdm:ManagementEvent xmlns:wsdm=\"http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd\" ReportTime=\"2005-09-19T11:50:31.660-04:00\"><wsdm:EventId>40d8345e-7e7f-4a60-b544-67e77c2ea6ad</wsdm:EventId><wsdm:SourceComponent/><wsdm:ReporterComponent/><wsdm:Situation xmlns:wsdm=\"http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd\"><wsdm:SituationCategory><muws-p2-xs:OtherSituation xmlns:muws-p2-xs=\"http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd\"/></wsdm:SituationCategory></wsdm:Situation><wsrf:ResourcePropertyValueChangeNotification xmlns:wsrf=\"http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd\"><wsrf:OldValue><wsdm:OperationalStatus xmlns:wsdm=\"http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd\">Available</wsdm:OperationalStatus></wsrf:OldValue><wsrf:NewValue><wsdm:OperationalStatus xmlns:wsdm=\"http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part2.xsd\">Unavailable</wsdm:OperationalStatus></wsrf:NewValue></wsrf:ResourcePropertyValueChangeNotification></wsdm:ManagementEvent></wsn:Message></wsn:NotificationMessage></wsn:Notify></soapenv:Body></soapenv:Envelope>";
- Notification[] notifications=null;
- try {
- notifications = NotificationImpl.create(message,null);
- } catch (XmlException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- } catch (UnexpectedServerResponseException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
+ public static String priotityToString(short priority){
+ if(priority<=PRIORITY_LOW)
+ return "PRIORITY_LOW";
+ if(priority>PRIORITY_LOW&&priority<=PRIORITY_MEDIUM)
+ return "PRIORITY_MEDIUM";
+ if(priority>=PRIORITY_HIGH)
+ return "PRIORITY_HIGH";
+ return "PRIORITY_UNKNOWN";
+ }
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ public String toString() {
+ StringBuffer b=new StringBuffer();
+ b.append("Situation: ");
+ b.append(getMessage()+"\n");
+ if(getAvailabilitySituation()!=null){
+ b.append("Availability: ");
+ b.append(getAvailabilitySituation().toString()+"\n");
}
- try {
- new SituationImpl(notifications[0].getManagementEvent());
- } catch (UnexpectedServerResponseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ if(getTime()!=null){
+ b.append("Time: ");
+ b.append(getTime().toString()+"\n");
}
+ b.append("Success Disposition: ");
+ b.append(getSuccessDisposition()+"\n");
+ b.append("Priority: ");
+ b.append(priotityToString(getPriotity())+"\n");
+ b.append("Severity: ");
+ b.append(severityToString(getSeverity())+"\n");
+ return b.toString();
}
+
}