You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by Bernd Fondermann <bf...@brainlounge.de> on 2009/07/07 11:18:05 UTC

Re: svn commit: r791236 - in /mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub: ./ handler/

mjakl@apache.org wrote:
> Author: mjakl
> Date: Sun Jul  5 12:42:26 2009
> New Revision: 791236
> 
> URL: http://svn.apache.org/viewvc?rev=791236&view=rev
> Log:
> Take the sender address either from the "from" attribute provided in the stanza or, if it is not present, take the JID from the initiating entity.

I'd like to propose to move
  AbstractPublishSubscribeIQHandler.getFromAddress()
up to XMPPCoreStanzaHandler.

WDYT?

  Bernd

> 
> Modified:
>     mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeIQHandler.java
>     mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.java
>     mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java
>     mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
>     mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
> 
> Modified: mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeIQHandler.java
> URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeIQHandler.java?rev=791236&r1=791235&r2=791236&view=diff
> ==============================================================================
> --- mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeIQHandler.java (original)
> +++ mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeIQHandler.java Sun Jul  5 12:42:26 2009
> @@ -20,8 +20,11 @@
>  package org.apache.vysper.xmpp.modules.extension.xep0060_pubsub;
>  
>  import org.apache.vysper.compliance.SpecCompliant;
> +import org.apache.vysper.xmpp.addressing.Entity;
>  import org.apache.vysper.xmpp.modules.core.base.handler.DefaultIQHandler;
>  import org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.model.CollectionNode;
> +import org.apache.vysper.xmpp.server.SessionContext;
> +import org.apache.vysper.xmpp.stanza.IQStanza;
>  import org.apache.vysper.xmpp.stanza.Stanza;
>  import org.apache.vysper.xmpp.uuid.JVMBuiltinUUIDGenerator;
>  import org.apache.vysper.xmpp.uuid.UUIDGenerator;
> @@ -97,4 +100,20 @@
>       * @return the name of the inner element this class is expecting.
>       */
>      protected abstract String getWorkerElement();
> +
> +    /**
> +     * Extracts the from address either from the "from" attribute of the stanza, if this isn't given
> +     * retracts to using the address of the initiating entity.
> +     * 
> +     * @param stanza
> +     * @param sessionContext
> +     * @return The JID of the sender.
> +     */
> +    protected Entity getFromAddress(IQStanza stanza, SessionContext sessionContext) {
> +        Entity sender = stanza.getFrom();
> +        if(sender == null) {
> +            sender = sessionContext.getInitiatingEntity();
> +        }
> +        return sender;
> +    }
>  }




Re: svn commit: r791236 - in /mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub: ./ handler/

Posted by Michael Jakl <ja...@gmail.com>.
Hi!

On Tue, Jul 7, 2009 at 11:46, Michael Jakl<ja...@gmail.com> wrote:
> Hi!
>
> On Tue, Jul 7, 2009 at 11:18, Bernd Fondermann<bf...@brainlounge.de> wrote:
>>> Take the sender address either from the "from" attribute provided in the stanza or, if it is not present, take the JID from the initiating entity.
>>
>> I'd like to propose to move
>>  AbstractPublishSubscribeIQHandler.getFromAddress()
>> up to XMPPCoreStanzaHandler.
>
> Sure, I'd do it in the evening if you agree.

Lo and behold, there already was something like that: determineFrom. I tried to
rework it a little bit, because the logic is not exactly what I wanted. Every
change broke something, so I renamed determineFrom to extractUniqueSenderJID
(that's what it does), and extractSenderJID is the former getFromAddress
(pulled up from AbstractPublishSubscribeIQHandler).

I'm not very comfortable with the return null of extractUniqueSenderJID but
every try to change it broke something. Wouldn't it be better to just return
the bare JID if we cannot determine a unique bound resource - similar to what
extractSenderJID does?

I hope you're OK with the changes?

Michael

Ps: I also added a small comment to getFrom of Stanza to make sure future-me
knows what it does ;)

Re: svn commit: r791236 - in /mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub: ./ handler/

Posted by Michael Jakl <ja...@gmail.com>.
Hi!

On Tue, Jul 7, 2009 at 11:18, Bernd Fondermann<bf...@brainlounge.de> wrote:
>> Take the sender address either from the "from" attribute provided in the stanza or, if it is not present, take the JID from the initiating entity.
>
> I'd like to propose to move
>  AbstractPublishSubscribeIQHandler.getFromAddress()
> up to XMPPCoreStanzaHandler.

Sure, I'd do it in the evening if you agree.

Michael