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");