You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-dev@ws.apache.org by wi...@apache.org on 2005/06/24 19:11:53 UTC

svn commit: r201652 - /incubator/muse/trunk/src/ieeedemo/client/src/org/apache/interop/smgr/BlackBerryApp2.java

Author: wire
Date: Fri Jun 24 10:11:52 2005
New Revision: 201652

URL: http://svn.apache.org/viewcvs?rev=201652&view=rev
Log:
Backup App using older UI

Added:
    incubator/muse/trunk/src/ieeedemo/client/src/org/apache/interop/smgr/BlackBerryApp2.java

Added: incubator/muse/trunk/src/ieeedemo/client/src/org/apache/interop/smgr/BlackBerryApp2.java
URL: http://svn.apache.org/viewcvs/incubator/muse/trunk/src/ieeedemo/client/src/org/apache/interop/smgr/BlackBerryApp2.java?rev=201652&view=auto
==============================================================================
--- incubator/muse/trunk/src/ieeedemo/client/src/org/apache/interop/smgr/BlackBerryApp2.java (added)
+++ incubator/muse/trunk/src/ieeedemo/client/src/org/apache/interop/smgr/BlackBerryApp2.java Fri Jun 24 10:11:52 2005
@@ -0,0 +1,265 @@
+package org.apache.interop.smgr;
+
+import javax.swing.SwingUtilities;
+import javax.swing.WindowConstants;
+
+
+import org.apache.interop.smgr.SubsciberInfoJPanel;
+import org.apache.interop.smgr.BackberryJPanel;
+import org.apache.ws.addressing.EndpointReference;
+import org.apache.ws.addressing.XmlBeansEndpointReference;
+import org.apache.ws.addressing.v2004_08_10.AddressingConstants;
+import org.apache.ws.muws.interop.client.FaultException;
+import org.apache.ws.muws.interop.client.ResourceStub;
+import org.apache.ws.muws.interop.client.ServiceStub;
+import org.apache.ws.util.XmlBeanUtils;
+import org.apache.ws.util.soap.Envelope;
+import org.apache.xmlbeans.XmlException;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.impl.values.XmlAnyTypeImpl;
+import org.oasisOpen.docs.wsdm.x2004.x12.muws.wsdmMuwsPart1.ManagementEventType;
+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.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.ResourcePropertyValueChangeNotificationType.NewValue;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.impl.ResourcePropertyValueChangeNotificationTypeImpl;
+import org.xmlsoap.schemas.soap.envelope.Body;
+import org.xmlsoap.schemas.soap.envelope.EnvelopeDocument;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.BorderLayout;
+import java.io.IOException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.swing.JSplitPane;
+import javax.xml.namespace.QName;
+/**
+* This code was generated using CloudGarden's Jigloo
+* SWT/Swing GUI Builder, which is free for non-commercial
+* use. If Jigloo is being used commercially (ie, by a corporation,
+* company or business for any purpose whatever) then you
+* should purchase a license for each developer using Jigloo.
+* Please visit www.cloudgarden.com for details.
+* Use of Jigloo implies acceptance of these licensing terms.
+* *************************************
+* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED
+* for this machine, so Jigloo or this code cannot be used legally
+* for any corporate or commercial purpose.
+* *************************************
+*/
+public class BlackBerryApp2 extends javax.swing.JFrame implements ConnectionListener,MessageListener {
+	private SubsciberInfoJPanel subsciberInfoJPanel;
+	private JSplitPane jSplitPaneParts;
+	private BackberryJPanel backberryJPanel;
+	private NotificationListener m_listener;
+    private ResourceStub m_resource;
+    private StringBuffer m_buffer=new StringBuffer();
+	private MessageWorker m_messageWorker;
+
+
+	/**
+	* Auto-generated main method to display this JFrame
+	*/
+	public static void main(String[] args) {
+		BlackBerryApp2 inst = new BlackBerryApp2();
+		inst.setVisible(true);
+	}
+	
+	public BlackBerryApp2() {
+		super();
+		initGUI();
+		subsciberInfoJPanel.setConnectionListener(this);
+	}
+	
+	private void initGUI() { 
+		try {
+			this.setSize(400, 350);
+			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+			this.setTitle("SMgr");
+			{
+				jSplitPaneParts = new JSplitPane();
+				this.getContentPane().add(jSplitPaneParts, BorderLayout.CENTER);
+				jSplitPaneParts.setOrientation(JSplitPane.VERTICAL_SPLIT);
+				jSplitPaneParts.setDividerLocation(110);
+				jSplitPaneParts.setPreferredSize(new java.awt.Dimension(392, 319));
+				{
+					subsciberInfoJPanel = new SubsciberInfoJPanel();
+					jSplitPaneParts.add(subsciberInfoJPanel, JSplitPane.LEFT);
+					FlowLayout subsciberInfoJPanelLayout = new FlowLayout();
+					subsciberInfoJPanel.setResourceUrl("http://192.168.2.171:4400/ettk/wsdm/services/ADMSubscribePort");
+					subsciberInfoJPanel.setNotificationLister("http://192.168.2.120:8003/bogasendpoint");
+					subsciberInfoJPanelLayout.setAlignment(FlowLayout.LEFT);
+					subsciberInfoJPanel.setLayout(subsciberInfoJPanelLayout);
+				}
+				{
+					backberryJPanel = new BackberryJPanel();
+					jSplitPaneParts.add(backberryJPanel, JSplitPane.RIGHT);
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.apache.interop.smgr.ConnectionListener#onConnect()
+	 */
+	public void onConnect() {
+        try {
+        	startListener();
+        	// Subscribe
+			m_resource = new ResourceStub( getEpr(subsciberInfoJPanel.getResourceUrl(),null) );
+			EndpointReference response = m_resource.subscribe(subsciberInfoJPanel.getNotificationLister(),new QName(subsciberInfoJPanel.getTopicNamespace(),subsciberInfoJPanel.getTopicName()));
+			
+			
+		} catch (XmlException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (FaultException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+        
+
+		backberryJPanel.startTimer();
+
+		
+	}
+
+	/* (non-Javadoc)
+	 * @see org.apache.interop.smgr.ConnectionListener#onDisconnect()
+	 */
+	public void onDisconnect() {
+		backberryJPanel.stopTimer();		
+		backberryJPanel.setColor(Color.WHITE,0f);
+		m_resource = null;
+		m_messageWorker.stop();
+		m_listener.stop();
+		
+	}
+
+	private EndpointReference getEpr(String URL, String Rid) throws XmlException{
+		XmlBeansEndpointReference x=new XmlBeansEndpointReference(URL,AddressingConstants.NSURI_ADDRESSING_SCHEMA);
+		if(Rid!=null)
+			x.setReferenceProperties(new XmlObject[]{(XmlObject)XmlObject.Factory.parse("<svr:ResourceIdentifier xmlns:svr=\"http://wsdmdemo.org/service/weather-client-config\">"+Rid+"</svr:ResourceIdentifier>")});		
+		return x;		
+	}
+	
+	public void startListener() throws IOException{
+		m_messageWorker=new MessageWorker(this,m_buffer);
+		m_listener=new NotificationListener(8000,600000,m_buffer);
+		m_listener.setCloseSocketAfterNotification(false);
+		m_messageWorker.start();
+		m_listener.start();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.apache.interop.smgr.MessageListener#onMessage(java.lang.String)
+	 */
+	public void onMessage(String messageText) {
+		// TODO Auto-generated method stub
+		System.err.println(messageText);
+		final String colorName=getColorFromMessage(messageText);
+		System.err.println("CHanging to "+colorName);
+		
+		SwingUtilities.invokeLater(new Runnable(){
+
+			public void run() {
+				backberryJPanel.setColor(colorName2Color(colorName),0.5f);				
+			}});
+		
+	}
+	/**
+	 * @param messageText
+	 * @return
+	 */
+	private String getColorFromMessage1(String messageText) {
+		try {
+			EnvelopeDocument ed=(org.xmlsoap.schemas.soap.envelope.EnvelopeDocument)XmlObject.Factory.parse(messageText);
+			org.xmlsoap.schemas.soap.envelope.Envelope env = ed.getEnvelope();
+			Body body = env.getBody();
+			XmlObject[] arryStuff = XmlBeanUtils.getChildElements(body);
+			if(arryStuff.length==0) 
+				return "Black";
+			NotifyDocument.Notify ele = (NotifyDocument.Notify) arryStuff[0];
+			NotificationMessageHolderType noteMess = ele.getNotificationMessageArray(0);
+			XmlAnyTypeImpl mess = (XmlAnyTypeImpl)noteMess.getMessage();
+			ManagementEventTypeImpl manEvt = (ManagementEventTypeImpl)XmlBeanUtils.getChildElements(mess)[0];
+			//manEvt.get
+			ResourcePropertyValueChangeNotificationTypeImpl propChngEvt = (ResourcePropertyValueChangeNotificationTypeImpl)XmlBeanUtils.getChildElements(manEvt)[0];
+			NewValue newValue = propChngEvt.getNewValue();
+//			XmlObject complience = (XmlObject)XmlBeanUtils.getChildElements(newValue)[0];
+			
+		} catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return "Black";
+	}
+
+	/**
+	 * @param messageText
+	 * @return
+	 */
+	public String getColorFromMessage(String messageText) {
+		//<bbry:Compliance xmlns=\"http://pda.rim\">Red<
+		int posStartColor=0;
+		int posCompliance = messageText.toLowerCase().indexOf("bbry:compliance");
+		if(posCompliance<0)
+			return "Black";
+		int posCompliance1 = messageText.toLowerCase().indexOf("bbry:compliance",posCompliance+1);
+		if(posCompliance1<0)
+			return "Black";
+		int posCompliance2 = messageText.toLowerCase().indexOf("bbry:compliance",posCompliance1+1);
+		if(posCompliance2<0){
+			posStartColor=posCompliance;
+			//return "Black";
+		} else {
+			posStartColor=posCompliance2;
+		}
+		
+		while(messageText.charAt(posStartColor)!='>' && posStartColor<messageText.length()){
+			System.out.println(messageText.charAt(posStartColor));
+			posStartColor++;
+		}
+		if(posStartColor==messageText.length())
+			return "Black";
+		
+		int posEndColor=posStartColor+1;
+		while(messageText.charAt(posEndColor)!='<' && posEndColor<messageText.length()){
+			System.out.println(messageText.charAt(posEndColor));
+			posEndColor++;
+		}
+		if(posEndColor==messageText.length())
+			return "Black";
+
+		String color=messageText.substring(posStartColor+1,posEndColor);
+		
+		return color;
+
+	}
+
+	
+	
+	private Color colorName2Color(String colorName){
+		if(colorName.toLowerCase().equals("yellow")){
+			return Color.YELLOW;
+		}
+		if(colorName.toLowerCase().equals("green")){
+			return Color.GREEN;
+		}
+		if(colorName.toLowerCase().equals("red")){
+			return Color.RED;
+		}
+		if(colorName.toLowerCase().equals("blue")){
+			return Color.BLUE;
+		}
+		return Color.BLACK;
+	}
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-dev-help@ws.apache.org