Author: berndf
Date: Mon Aug 17 07:47:22 2009
New Revision: 804890
URL: http://svn.apache.org/viewvc?rev=804890&view=rev
Log:
Message.Stanza.getMessageType: fix method name, add stanza builder convenience
method and use type- and value-safe variable from within MUC.
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/MessageStanza.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandlerTestCase.java
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/MessageStanza.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/MessageStanza.java?rev=804890&r1=804889&r2=804890&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/MessageStanza.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/MessageStanza.java
Mon Aug 17 07:47:22 2009
@@ -52,7 +52,7 @@
return NAME;
}
- public MessageStanzaType getIQType() {
+ public MessageStanzaType getMessageType() {
String type = getType();
if (type == null) return null;
return MessageStanzaType.valueOfWithDefault(type);
Modified:
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java?rev=804890&r1=804889&r2=804890&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
(original)
+++
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
Mon Aug 17 07:47:22 2009
@@ -58,6 +58,12 @@
return stanzaBuilder;
}
+ public static StanzaBuilder createMessageStanza(Entity from, Entity to,
MessageStanzaType type, String lang, String body) {
+ StanzaBuilder stanzaBuilder = createMessageStanza(from, to, lang,
body);
+ if (type != null) stanzaBuilder.addAttribute("type", type.value());
+ return stanzaBuilder;
+ }
+
public static StanzaBuilder createPresenceStanza(Entity from, Entity to,
String lang, PresenceStanzaType type, String show, String status) {
StanzaBuilder stanzaBuilder = new StanzaBuilder("presence");
if (from != null) stanzaBuilder.addAttribute("from",
from.getFullQualifiedName());
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandler.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandler.java?rev=804890&r1=804889&r2=804890&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandler.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandler.java
Mon Aug 17 07:47:22 2009
@@ -38,6 +38,7 @@
import org.apache.vysper.xmpp.stanza.MessageStanza;
import org.apache.vysper.xmpp.stanza.Stanza;
import org.apache.vysper.xmpp.stanza.StanzaBuilder;
+import org.apache.vysper.xmpp.stanza.MessageStanzaType;
import org.apache.vysper.xmpp.xmlfragment.Attribute;
import org.apache.vysper.xmpp.xmlfragment.XMLElement;
import org.apache.vysper.xmpp.xmlfragment.XMLFragment;
@@ -93,8 +94,8 @@
SessionContext sessionContext) {
logger.debug("Received message for MUC");
- String type = stanza.getType();
- if(type != null && type.equals("groupchat")) {
+ MessageStanzaType type = stanza.getMessageType();
+ if(type != null && type == MessageStanzaType.GROUPCHAT) {
// groupchat, message to a room
Entity roomWithNickJid = stanza.getTo();
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandlerTestCase.java
URL:
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandlerTestCase.java?rev=804890&r1=804889&r2=804890&view=diff
==============================================================================
---
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandlerTestCase.java
(original)
+++
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandlerTestCase.java
Mon Aug 17 07:47:22 2009
@@ -1,19 +1,14 @@
package org.apache.vysper.xmpp.modules.extension.xep0045_muc.handler;
-import java.util.Arrays;
-import java.util.List;
-
import org.apache.vysper.xmpp.addressing.Entity;
import org.apache.vysper.xmpp.modules.extension.xep0045_muc.model.Occupant;
import org.apache.vysper.xmpp.modules.extension.xep0045_muc.model.Role;
import org.apache.vysper.xmpp.modules.extension.xep0045_muc.model.Room;
-import org.apache.vysper.xmpp.modules.extension.xep0045_muc.model.RoomType;
-import org.apache.vysper.xmpp.protocol.NamespaceURIs;
import org.apache.vysper.xmpp.protocol.ProtocolException;
import org.apache.vysper.xmpp.protocol.ResponseStanzaContainer;
import org.apache.vysper.xmpp.protocol.StanzaHandler;
-import org.apache.vysper.xmpp.stanza.PresenceStanza;
-import org.apache.vysper.xmpp.stanza.PresenceStanzaType;
+import org.apache.vysper.xmpp.stanza.MessageStanzaType;
+import static org.apache.vysper.xmpp.stanza.MessageStanzaType.GROUPCHAT;
import org.apache.vysper.xmpp.stanza.Stanza;
import org.apache.vysper.xmpp.stanza.StanzaBuilder;
import org.apache.vysper.xmpp.xmlfragment.Attribute;
@@ -22,15 +17,15 @@
import org.apache.vysper.xmpp.xmlfragment.XMLSemanticError;
import org.apache.vysper.xmpp.xmlfragment.XMLText;
+import java.util.Arrays;
+import java.util.List;
+
/**
*/
public class MUCMessageHandlerTestCase extends AbstractMUCHandlerTestCase {
- private Stanza sendMessage(Entity occupantJid, Entity roomJid, String
type, String body) throws ProtocolException {
- StanzaBuilder stanzaBuilder =
StanzaBuilder.createMessageStanza(occupantJid, roomJid, null, body);
- if(type != null) {
- stanzaBuilder.addAttribute("type", type);
- }
+ private Stanza sendMessage(Entity occupantJid, Entity roomJid,
MessageStanzaType type, String body) throws ProtocolException {
+ StanzaBuilder stanzaBuilder =
StanzaBuilder.createMessageStanza(occupantJid, roomJid, type, null, body);
Stanza messageStanza = stanzaBuilder.getFinalStanza();
ResponseStanzaContainer container = handler.execute(messageStanza,
sessionContext.getServerRuntimeContext(), true, sessionContext, null);
@@ -68,7 +63,7 @@
// now, let user 2 exit room
- Stanza errorStanza = sendMessage(occupant1Jid, room1JidWithNick,
"groupchat", body);
+ Stanza errorStanza = sendMessage(occupant1Jid, room1JidWithNick,
GROUPCHAT, body);
XMLText text = new XMLText(body);
XMLElement expectedBody = new XMLElement("body", null,
(Attribute[])null, new XMLFragment[]{text});
@@ -88,7 +83,7 @@
room.addOccupant(occupant2Jid, "Nick 2");
// now, let user 2 exit room
- sendMessage(occupant1Jid, room1JidWithNick, "groupchat", body);
+ sendMessage(occupant1Jid, room1JidWithNick, GROUPCHAT, body);
// verify stanzas to existing occupants on the exiting user
assertMessageStanza(room1JidWithNick, occupant1Jid, "groupchat", body,
occupant1Queue.getNext());