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();
 	}
+
 }