svn commit: r3283 - trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard

yanas at dev.java.net yanas at dev.java.net
Tue Dec 4 16:20:32 CET 2007


Author: yanas
Date: 2007-12-04 15:20:30+0000
New Revision: 3283

Added:
   trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtension.java
      - copied, changed from r3281, /trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtensionImpl.java
   trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardSessionPacketExtension.java
Removed:
   trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtensionImpl.java
Modified:
   trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectJabberProvider.java

Log:
"leave" extension added to jabber whiteboard extensions

Modified: trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectJabberProvider.java
Url: https://sip-communicator.dev.java.net/source/browse/sip-communicator/trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectJabberProvider.java?view=diff&rev=3283&p1=trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectJabberProvider.java&p2=trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectJabberProvider.java&r1=3282&r2=3283
==============================================================================
--- trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectJabberProvider.java	(original)
+++ trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectJabberProvider.java	2007-12-04 15:20:30+0000
@@ -38,14 +38,19 @@
     public PacketExtension parseExtension (XmlPullParser parser)
         throws Exception
     {
+        PacketExtension extension = null;
+
         StringBuilder sb = new StringBuilder ();
         boolean done = false;
         while (!done)
         {
             int eventType = parser.next ();
-            if (eventType == XmlPullParser.START_TAG &&
-              !parser.getName ().equals (
-              WhiteboardObjectPacketExtensionImpl.ELEMENT_NAME))
+
+            if (eventType == XmlPullParser.START_TAG 
+                && !parser.getName ().equals (
+                    WhiteboardObjectPacketExtension.ELEMENT_NAME)
+                && !parser.getName ().equals (
+                    WhiteboardSessionPacketExtension.ELEMENT_NAME))
             {
                 sb.append (parser.getText ());
             }
@@ -53,26 +58,32 @@
             {
                 sb.append (parser.getText ());
             }
-            else if (eventType == XmlPullParser.END_TAG &&
-              parser.getName ().equals ("image"))
+            else if (eventType == XmlPullParser.END_TAG
+                && parser.getName ().equals ("image"))
             {
                 sb.append (parser.getText ());
             }
-            else if (eventType == XmlPullParser.END_TAG &&
-              parser.getName ().equals ("text"))
+            else if (eventType == XmlPullParser.END_TAG
+                && parser.getName ().equals ("text"))
             {
                 sb.append (parser.getText ());
             }
-            else if (eventType == XmlPullParser.END_TAG &&
-              parser.getName ().equals (
-              WhiteboardObjectPacketExtensionImpl.ELEMENT_NAME))
+            else if (eventType == XmlPullParser.END_TAG
+                && parser.getName ().equals (
+                  WhiteboardObjectPacketExtension.ELEMENT_NAME))
+            {
+                extension = new WhiteboardObjectPacketExtension(sb.toString ());
+                done = true;
+            }
+            else if (eventType == XmlPullParser.END_TAG
+                && parser.getName ().equals (
+                WhiteboardSessionPacketExtension.ELEMENT_NAME))
             {
+                extension = new WhiteboardSessionPacketExtension(sb.toString ());
                 done = true;
             }
         }
-        WhiteboardObjectPacketExtensionImpl wbo
-            = new WhiteboardObjectPacketExtensionImpl(sb.toString ());
 
-        return wbo;
+        return extension;
     }
 }
\ No newline at end of file

Copied: trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtension.java (from r3281, /trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtensionImpl.java)
Url: https://sip-communicator.dev.java.net/source/browse/sip-communicator/trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtension.java?view=diff&rev=3283&p1=/trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtensionImpl.java&p2=trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtension.java&r1=3281&r2=3283
==============================================================================
--- /trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtensionImpl.java	(original)
+++ trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtension.java	2007-12-04 15:20:30+0000
@@ -17,19 +17,19 @@
 import org.w3c.dom.*;
 
 /**
- * WhiteboardObjectPacketExtensionImpl
+ * WhiteboardObjectPacketExtension
  *
  * @author Julien Waechter
  */
-public class WhiteboardObjectPacketExtensionImpl implements PacketExtension
+public class WhiteboardObjectPacketExtension implements PacketExtension
 {
     private static final Logger logger =
-      Logger.getLogger (WhiteboardObjectPacketExtensionImpl.class);
+      Logger.getLogger (WhiteboardObjectPacketExtension.class);
 
     /**
      * The name of the XML element used for transport of white-board parameters.
      */
-    public static final String ELEMENT_NAME = "x";
+    public static final String ELEMENT_NAME = "xObject";
 
     /**
      * The names XMPP space that the white-board elements belong to.
@@ -69,20 +69,20 @@
     private String whiteboardObjectID;
 
     /**
-     * Default WhiteboardObjectPacketExtensionImpl constructor.
+     * Default WhiteboardObjectPacketExtension constructor.
      */
-    public WhiteboardObjectPacketExtensionImpl ()
+    public WhiteboardObjectPacketExtension ()
     {
         this.action = ACTION_DRAW;
     }
 
     /**
-     * WhiteboardObjectPacketExtensionImpl constructor.
+     * WhiteboardObjectPacketExtension constructor.
      *
      * @param id Identifier of the WhiteboardObject to be treated
      * @param action The current action associated with the WhiteboardObject.
      */
-    public WhiteboardObjectPacketExtensionImpl (String id, String action)
+    public WhiteboardObjectPacketExtension (String id, String action)
     {
         this.whiteboardObjectID = id;
         this.action = action;
@@ -94,7 +94,7 @@
      * @param whiteboardObject The WhiteboardObject to be treated
      * @param action The current action associated with the WhiteboardObject.
      */
-    public WhiteboardObjectPacketExtensionImpl (
+    public WhiteboardObjectPacketExtension (
       WhiteboardObjectJabberImpl whiteboardObject, String action)
     {
         this.whiteboardObject = whiteboardObject;
@@ -102,11 +102,11 @@
     }
 
     /**
-     * WhiteboardObjectPacketExtensionImpl constructor with a XML-SVG String.
+     * WhiteboardObjectPacketExtension constructor with a XML-SVG String.
      *
      * @param xml XML-SVG String
      */
-    public  WhiteboardObjectPacketExtensionImpl (String xml)
+    public  WhiteboardObjectPacketExtension (String xml)
     {
         DocumentBuilderFactory factory =
           DocumentBuilderFactory.newInstance ();
@@ -119,7 +119,7 @@
             
             Element e = doc.getDocumentElement ();
             String elementName = e.getNodeName ();
-            this.action = WhiteboardObjectPacketExtensionImpl.ACTION_DRAW;
+            this.action = WhiteboardObjectPacketExtension.ACTION_DRAW;
             
             if (elementName.equals ("rect"))
             {
@@ -165,12 +165,10 @@
             {
                 //we have a delete action
                 this.setWhiteboardObjectID (e.getAttribute ("id"));
-                this.action = WhiteboardObjectPacketExtensionImpl.ACTION_DELETE;
+                this.action = WhiteboardObjectPacketExtension.ACTION_DELETE;
             }
             else //we have a problem :p
                 logger.debug ("elementName unknow\n");
-            
-            System.out.println("XML =====================================" + xml);
         }
         catch (ParserConfigurationException ex)
         {
@@ -216,7 +214,7 @@
     {
         String s="";
         if(getAction ().equals (
-          WhiteboardObjectPacketExtensionImpl.ACTION_DELETE))
+          WhiteboardObjectPacketExtension.ACTION_DELETE))
         {
             s = "<delete id=\"#i\"/>";
             s = s.replaceAll ("#i", getWhiteboardObjectID());
@@ -224,9 +222,9 @@
         else
             s = getWhiteboardObject ().toXML ();
         
-        return "<" + WhiteboardObjectPacketExtensionImpl.ELEMENT_NAME +
-          " xmlns=\"" + WhiteboardObjectPacketExtensionImpl.NAMESPACE +
-          "\">"+s+"</" + WhiteboardObjectPacketExtensionImpl.ELEMENT_NAME + ">";
+        return "<" + WhiteboardObjectPacketExtension.ELEMENT_NAME +
+          " xmlns=\"" + WhiteboardObjectPacketExtension.NAMESPACE +
+          "\">"+s+"</" + WhiteboardObjectPacketExtension.ELEMENT_NAME + ">";
     }
 
     /**

Removed: trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtensionImpl.java
Url: https://sip-communicator.dev.java.net/source/browse/sip-communicator/trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardObjectPacketExtensionImpl.java?view=auto&rev=3282

Added: trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardSessionPacketExtension.java
Url: https://sip-communicator.dev.java.net/source/browse/sip-communicator/trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardSessionPacketExtension.java?view=auto&rev=3283
==============================================================================
--- (empty file)
+++ trunk/src/net/java/sip/communicator/impl/protocol/jabber/extensions/whiteboard/WhiteboardSessionPacketExtension.java	2007-12-04 15:20:30+0000
@@ -0,0 +1,217 @@
+/*
+ * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package net.java.sip.communicator.impl.protocol.jabber.extensions.whiteboard;
+
+import java.io.*;
+
+import javax.xml.parsers.*;
+
+import net.java.sip.communicator.impl.protocol.jabber.*;
+import net.java.sip.communicator.util.*;
+
+import org.jivesoftware.smack.packet.*;
+import org.w3c.dom.*;
+
+public class WhiteboardSessionPacketExtension
+    implements PacketExtension
+{
+    private Logger logger
+        = Logger.getLogger(WhiteboardSessionPacketExtension.class);
+
+    /**
+     * A type string constant indicating that the user would like to leave the
+     * current white board session.
+     */
+    public static final String ACTION_LEAVE = "LEAVE";
+
+    /**
+     * The name of the XML element used for transport of white-board parameters.
+     */
+    public static final String ELEMENT_NAME = "xSession";
+
+    /**
+     * The names XMPP space that the white-board elements belong to.
+     */
+    public static final String NAMESPACE = "http://jabber.org/protocol/swb";
+
+    /**
+     * The current action associated with the WhiteboardObject.
+     */
+    private String action;
+
+    /**
+     * The white board session for which the action is about.
+     */
+    private WhiteboardSessionJabberImpl whiteboardSession;
+
+    /**
+     * The address of the contact associated with this packet extension.
+     */
+    private String contactAddress;
+
+    private String whiteboardSessionId;
+
+    /**
+     * Constructs and initializes a WhiteboardObjectPacketExtension.
+     *
+     * @param session The WhiteboardSession to be treated
+     * @param contactAddress The address of the contact associated with this
+     * packet extension
+     * @param action The current action associated with the WhiteboardSession.
+     */
+    public WhiteboardSessionPacketExtension (
+        WhiteboardSessionJabberImpl session,
+        String contactAddress,
+        String action)
+    {
+        this.whiteboardSession = session;
+        this.whiteboardSessionId = session.getWhiteboardID();
+        this.contactAddress = contactAddress;
+        this.action = action;
+    }
+
+    /**
+     * WhiteboardSessionPacketExtension constructor with a XML-SVG String.
+     *
+     * @param xml XML-SVG String
+     */
+    public  WhiteboardSessionPacketExtension (String xml)
+    {
+        DocumentBuilderFactory factory =
+          DocumentBuilderFactory.newInstance ();
+
+        DocumentBuilder builder;
+        try
+        {
+            builder = factory.newDocumentBuilder ();
+            InputStream in = new ByteArrayInputStream (xml.getBytes ());
+            Document doc = builder.parse (in);
+
+            Element e = doc.getDocumentElement ();
+            String elementName = e.getNodeName ();
+
+            if (elementName.equals (ACTION_LEAVE))
+            {
+                this.setWhiteboardSessionId(e.getAttribute ("id"));
+                this.setContactAddress(e.getAttribute ("userId"));
+                this.action = WhiteboardSessionPacketExtension.ACTION_LEAVE;
+            }
+            else
+                logger.debug ("Element name unknown!");
+        }
+        catch (ParserConfigurationException ex)
+        {
+            logger.debug ("Problem WhiteboardSession : " + xml, ex);
+        }
+        catch (IOException ex)
+        {
+            logger.debug ("Problem WhiteboardSession : " + xml, ex);
+        }
+        catch (Exception ex)
+        {
+            logger.debug ("Problem WhiteboardSession : " + xml, ex);
+        }
+    }
+
+    /**
+     * Returns the root element name.
+     *
+     * @return the element name.
+     */
+    public String getElementName ()
+    {
+        return ELEMENT_NAME;
+    }
+
+    /**
+     * Returns the root element XML namespace.
+     *
+     * @return the namespace.
+     */
+    public String getNamespace ()
+    {
+        return NAMESPACE;
+    }
+
+    public String toXML()
+    {
+        String s = "";
+
+        if(action.equals (
+          WhiteboardSessionPacketExtension.ACTION_LEAVE))
+        {
+            s = "<LEAVE id=\"#sessionId\" userId=\"#userId\"/>";
+            s = s.replaceAll ("#sessionId", whiteboardSession.getWhiteboardID());
+            s = s.replaceAll ("#userId", contactAddress);
+        }
+
+        return "<" + WhiteboardSessionPacketExtension.ELEMENT_NAME +
+          " xmlns=\"" + WhiteboardSessionPacketExtension.NAMESPACE +
+          "\">"+s+"</" + WhiteboardSessionPacketExtension.ELEMENT_NAME + ">";
+    }
+
+    /**
+     * Returns the white board session identifier.
+     * 
+     * @return the white board session identifier
+     */
+    public String getWhiteboardSessionId()
+    {
+        return whiteboardSessionId;
+    }
+
+    /**
+     * Sets the white board session identifier.
+     * 
+     * @param whiteboardSessionId the identifier of the session
+     */
+    public void setWhiteboardSessionId(String whiteboardSessionId)
+    {
+        this.whiteboardSessionId = whiteboardSessionId;
+    }
+
+    /**
+     * Returns the action associated with this session packet extension.
+     * 
+     * @return the action associated with this session packet extension.
+     */
+    public String getAction()
+    {
+        return action;
+    }
+
+    /**
+     * Sets the action associated with this session packet extension.
+     * 
+     * @param action the action associated with this session packet extension.
+     */
+    public void setAction(String action)
+    {
+        this.action = action;
+    }
+
+    /**
+     * Returns the address of the contact associated with this packet extension
+     * 
+     * @return the address of the contact associated with this packet extension
+     */
+    public String getContactAddress()
+    {
+        return contactAddress;
+    }
+
+    /**
+     * Sets the address of the contact associated with this packet extension
+     * 
+     * @param contactAddress the address of the contact associated with this
+     * packet extension
+     */
+    public void setContactAddress(String contactAddress)
+    {
+        this.contactAddress = contactAddress;
+    }
+}

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe at sip-communicator.dev.java.net
For additional commands, e-mail: commits-help at sip-communicator.dev.java.net





More information about the commits mailing list