You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2009/08/19 22:01:16 UTC
svn commit: r805954 -
/mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandler.java
Author: ngn
Date: Wed Aug 19 20:01:14 2009
New Revision: 805954
URL: http://svn.apache.org/viewvc?rev=805954&view=rev
Log:
Replace local stanza clone method with StanzaBuilder
Modified:
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandler.java
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=805954&r1=805953&r2=805954&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 Wed Aug 19 20:01:14 2009
@@ -19,6 +19,7 @@
*/
package org.apache.vysper.xmpp.modules.extension.xep0045_muc.handler;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -40,6 +41,7 @@
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.Renderer;
import org.apache.vysper.xmpp.xmlfragment.XMLElement;
import org.apache.vysper.xmpp.xmlfragment.XMLFragment;
import org.slf4j.Logger;
@@ -69,21 +71,6 @@
return MUCHandlerHelper.verifyNamespace(stanza);
}
- private Stanza copyMessageStanza(Entity from, Entity to, Stanza original) {
- StanzaBuilder builder = new StanzaBuilder("message");
- builder.addAttribute("from", from.getFullQualifiedName());
- builder.addAttribute("to", to.getFullQualifiedName());
- if(original.getAttribute("type") != null) {
- builder.addAttribute("type", original.getAttributeValue("type"));
- }
-
- for(XMLElement innerElement : original.getInnerElements()) {
- builder.addPreparedElement(innerElement);
- }
-
- return builder.getFinalStanza();
- }
-
private Stanza createMessageErrorStanza(Entity from, Entity to, String id, String type, String errorName, Stanza stanza) {
return MUCHandlerHelper.createErrorStanza("message", from, to, id, type, errorName, stanza.getInnerElements());
}
@@ -118,8 +105,12 @@
logger.debug("Relaying message to all room occupants");
for(Occupant occupent : room.getOccupants()) {
logger.debug("Relaying message to {}", occupent);
+ List<Attribute> replaceAttributes = new ArrayList<Attribute>();
+ replaceAttributes.add(new Attribute("from", roomAndSendingNick.getFullQualifiedName()));
+ replaceAttributes.add(new Attribute("to", occupent.getJid().getFullQualifiedName()));
+
relayStanza(occupent.getJid(),
- copyMessageStanza(roomAndSendingNick, occupent.getJid(), stanza),
+ StanzaBuilder.createClone(stanza, true, replaceAttributes).getFinalStanza(),
sessionContext);
}
} else {