You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by be...@apache.org on 2012/05/31 18:59:04 UTC

svn commit: r1344814 - /mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java

Author: berndf
Date: Thu May 31 16:59:04 2012
New Revision: 1344814

URL: http://svn.apache.org/viewvc?rev=1344814&view=rev
Log:
VYSPER-316: fix, process type="available"

Modified:
    mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java

Modified: mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java?rev=1344814&r1=1344813&r2=1344814&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java (original)
+++ mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java Thu May 31 16:59:04 2012
@@ -105,7 +105,7 @@ public class MUCPresenceHandler extends 
         }
 
         String type = stanza.getType();
-        if (type == null) {
+        if (type == null || type.equals("available")) {
             return available(stanza, roomJid, occupantJid, nick, serverRuntimeContext);
         } else if (type.equals("unavailable")) {
             return unavailable(stanza, roomJid, occupantJid, nick, serverRuntimeContext);
@@ -145,18 +145,17 @@ public class MUCPresenceHandler extends 
         }
 
         if (room.isInRoom(newOccupantJid)) {
-            // user is already in room, change nick
-            logger.debug("{} has requested to change nick in room {}", newOccupantJid, roomJid);
-
             // occupant is already in room
             Occupant occupant = room.findOccupantByJID(newOccupantJid);
             if (nick.equals(occupant.getNick())) {
                 // nick unchanged, change show and status
+                logger.debug("{} has updated presence in room {}", newOccupantJid, roomJid);
                 for (Occupant receiver : room.getOccupants()) {
                     sendChangeShowStatus(occupant, receiver, room, getInnerElementText(stanza, "show"),
                             getInnerElementText(stanza, "status"), serverRuntimeContext);
                 }
             } else {
+                logger.debug("{} has requested to change nick in room {}", newOccupantJid, roomJid);
                 if (room.isInRoom(nick)) {
                     // user with this nick is already in room
                     return createPresenceErrorStanza(roomJid, newOccupantJid, stanza.getID(), "cancel", "conflict");