Author: ngn
Date: Thu Aug 26 21:17:12 2010
New Revision: 989928
URL: http://svn.apache.org/viewvc?rev=989928&view=rev
Log:
Creator of room should also become owner
Adding some debug logging
Modified:
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCIqAdminHandler.java
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/MUCIqAdminHandler.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/MUCIqAdminHandler.java?rev=989928&r1=989927&r2=989928&view=diff
==============================================================================
---
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCIqAdminHandler.java
(original)
+++
mina/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCIqAdminHandler.java
Thu Aug 26 21:17:12 2010
@@ -79,6 +79,8 @@ public class MUCIqAdminHandler extends D
@Override
protected Stanza handleSet(IQStanza stanza, ServerRuntimeContext
serverRuntimeContext, SessionContext sessionContext) {
+ logger.debug("Received MUC admin stanza");
+
Room room = conference.findRoom(stanza.getTo());
Occupant moderator = room.findOccupantByJID(stanza.getFrom());
@@ -86,6 +88,8 @@ public class MUCIqAdminHandler extends D
// check if moderator
if (moderator.getRole() != Role.Moderator) {
// only moderators are allowed to continue
+ logger.debug("Only moderators are allowed to issue admin stanzas");
+
return MUCHandlerHelper.createErrorReply(stanza,
StanzaErrorType.AUTH, StanzaErrorCondition.FORBIDDEN);
}
try {
@@ -101,15 +105,18 @@ public class MUCIqAdminHandler extends D
}
if (item.getRole() != null) {
+ logger.debug("Changing role");
return changeRole(stanza, serverRuntimeContext,
sessionContext, item, room, moderator);
} else if(item.getAffiliation() != null) {
+ logger.debug("Changing affiliation");
return changeAffiliation(stanza, serverRuntimeContext,
sessionContext, item, room, moderator);
} else {
+ logger.debug("Invalid MUC admin stanza");
return createBadRequestError(stanza, serverRuntimeContext,
sessionContext, "Unknown IQ stanza");
}
} catch (XMLSemanticError e) {
- e.printStackTrace();
+ logger.debug("Invalid MUC admin stanza", e);
return createBadRequestError(stanza, serverRuntimeContext,
sessionContext,
"Invalid IQ stanza");
}
@@ -244,7 +251,6 @@ public class MUCIqAdminHandler extends D
}
Role newRole = item.getRole();
-
// you can not change yourself
if (moderator.getJid().equals(target.getJid())) {
return MUCHandlerHelper.createErrorReply(stanza,
StanzaErrorType.CANCEL, StanzaErrorCondition.CONFLICT);
@@ -283,7 +289,6 @@ public class MUCIqAdminHandler extends D
StanzaErrorCondition.NOT_ALLOWED);
}
}
-
target.setRole(newRole);
if (newRole == Role.None) {
// remove user from room
@@ -317,7 +322,6 @@ public class MUCIqAdminHandler extends D
relayStanza(occupant.getJid(), presenceToRemaining,
serverRuntimeContext);
}
-
return StanzaBuilder.createIQStanza(stanza.getTo(), stanza.getFrom(),
IQStanzaType.RESULT, stanza.getID())
.build();
}
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=989928&r1=989927&r2=989928&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 Aug 26 21:17:12 2010
@@ -33,6 +33,7 @@ import org.apache.vysper.xmpp.delivery.f
import org.apache.vysper.xmpp.delivery.failure.IgnoreFailureStrategy;
import org.apache.vysper.xmpp.modules.core.base.handler.DefaultPresenceHandler;
import org.apache.vysper.xmpp.modules.extension.xep0045_muc.MUCStanzaBuilder;
+import org.apache.vysper.xmpp.modules.extension.xep0045_muc.model.Affiliation;
import org.apache.vysper.xmpp.modules.extension.xep0045_muc.model.Conference;
import org.apache.vysper.xmpp.modules.extension.xep0045_muc.model.Occupant;
import org.apache.vysper.xmpp.modules.extension.xep0045_muc.model.Role;
@@ -199,6 +200,7 @@ public class MUCPresenceHandler extends
}
if(newRoom) {
+ room.getAffiliations().add(newOccupantJid, Affiliation.Owner);
newOccupant.setRole(Role.Moderator);
}