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 2009/08/31 10:10:19 UTC

svn commit: r809495 - /mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java

Author: berndf
Date: Mon Aug 31 08:10:18 2009
New Revision: 809495

URL: http://svn.apache.org/viewvc?rev=809495&view=rev
Log:
add convenience methods to create a forwarded stanza

Modified:
    mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java

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=809495&r1=809494&r2=809495&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 31 08:10:18 2009
@@ -146,7 +146,34 @@
 
         return stanzaBuilder;
     }
+    
+    /**
+     * creates a new stanza which only differs from the given original by 'from' and 'to' attributes. 
+     * 
+     * @param original 
+     * @param from if NOT NULL, the new 'from'
+     * @param to if NOT NULL, the new 'to'
+     * @return stanza builder with to and from replaced
+     */
+    public static StanzaBuilder createForward(Stanza original, Entity from, Entity to) {
+        List<Attribute> toFromReplacements = new ArrayList<Attribute>(2);
+        if (to != null) toFromReplacements.add(new Attribute("to", to.getFullQualifiedName()));
+        if (from != null) toFromReplacements.add(new Attribute("from", from.getFullQualifiedName()));
+
+        return createClone(original, true, toFromReplacements);
+    }
 
+    /**
+     * convenience shortcut for {@link #createForward(Stanza, org.apache.vysper.xmpp.addressing.Entity, org.apache.vysper.xmpp.addressing.Entity)}
+     * 
+     * @param original 
+     * @param from if NOT NULL, the new 'from'
+     * @param to if NOT NULL, the new 'to'
+     * @return forward stanza
+     */
+    public static Stanza createForwardStanza(Stanza original, Entity from, Entity to) {
+        return createForward(original, from, to).getFinalStanza();
+    }
 
     class ElementStruct {
         public ElementStruct parentElement = null;