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