org.apache.vysper.xmpp.modules.core.im.handler
Class PresenceSubscriptionHandler

java.lang.Object
  extended by org.apache.vysper.xmpp.modules.core.im.handler.AbstractPresenceSpecializedHandler
      extended by org.apache.vysper.xmpp.modules.core.im.handler.PresenceSubscriptionHandler

public class PresenceSubscriptionHandler
extends AbstractPresenceSpecializedHandler

handling presence stanzas of type subscription TODO: review all the printStackTraces and throws and turn them into logs or stanza errors


Constructor Summary
PresenceSubscriptionHandler()
           
 
Method Summary
protected  Stanza handleInboundSubscriptionApproval(PresenceStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext, ResourceRegistry registry, RosterManager rosterManager)
          TODO this handling method should be optimized to be processed only once for every session DeliveringInboundStanzaRelay call this for every resource separately
protected  void handleInboundSubscriptionCancellation(PresenceStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext, ResourceRegistry registry, RosterManager rosterManager)
           
protected  Stanza handleInboundSubscriptionRequest(PresenceStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext, ResourceRegistry registry, RosterManager rosterManager)
           
protected  void handleInboundUnsubscription(PresenceStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext, ResourceRegistry registry, RosterManager rosterManager)
           
protected  void handleOutboundSubscriptionApproval(PresenceStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext, ResourceRegistry registry, RosterManager rosterManager)
           
protected  void handleOutboundSubscriptionCancellation(PresenceStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext, ResourceRegistry registry, RosterManager rosterManager)
           
protected  void handleOutboundSubscriptionRequest(PresenceStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext, ResourceRegistry registry, RosterManager rosterManager)
           
protected  void handleOutboundUnsubscription(PresenceStanza stanza, ServerRuntimeContext serverRuntimeContext, SessionContext sessionContext, ResourceRegistry registry, RosterManager rosterManager)
           
protected  void sendRosterUpdate(SessionContext sessionContext, ResourceRegistry registry, Entity user, RosterItem rosterItem)
          send roster push to all of the user's interested resources
 
Methods inherited from class org.apache.vysper.xmpp.modules.core.im.handler.AbstractPresenceSpecializedHandler
buildPresenceStanza, relayStanza
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PresenceSubscriptionHandler

public PresenceSubscriptionHandler()
Method Detail

handleInboundUnsubscription

@SpecCompliance(compliant={@SpecCompliant(spec="RFC3921bis-05",section="3.3.3",status=IN_PROGRESS,comment="current impl based hereupon"),@SpecCompliant(spec="RFC3921bis-08",section="3.3.3",status=NOT_STARTED,comment="substantial additions from bis-05 not yet taken into account")})
protected void handleInboundUnsubscription(PresenceStanza stanza,
                                                                                                                                                                     ServerRuntimeContext serverRuntimeContext,
                                                                                                                                                                     SessionContext sessionContext,
                                                                                                                                                                     ResourceRegistry registry,
                                                                                                                                                                     RosterManager rosterManager)

handleOutboundUnsubscription

@SpecCompliance(compliant={@SpecCompliant(spec="RFC3921bis-05",section="3.3.2",status=IN_PROGRESS,comment="current impl based hereupon"),@SpecCompliant(spec="RFC3921bis-08",section="3.3.2",status=NOT_STARTED,comment="rephrasing from bis-05 not yet taken into account")})
protected void handleOutboundUnsubscription(PresenceStanza stanza,
                                                                                                                                                                      ServerRuntimeContext serverRuntimeContext,
                                                                                                                                                                      SessionContext sessionContext,
                                                                                                                                                                      ResourceRegistry registry,
                                                                                                                                                                      RosterManager rosterManager)

sendRosterUpdate

protected void sendRosterUpdate(SessionContext sessionContext,
                                ResourceRegistry registry,
                                Entity user,
                                RosterItem rosterItem)
send roster push to all of the user's interested resources


handleInboundSubscriptionCancellation

@SpecCompliance(compliant={@SpecCompliant(spec="RFC3921bis-05",section="3.2.3",status=IN_PROGRESS,comment="current impl based hereupon"),@SpecCompliant(spec="RFC3921bis-08",section="3.2.3",status=NOT_STARTED,comment="additions from bis-05 not yet taken into account")})
protected void handleInboundSubscriptionCancellation(PresenceStanza stanza,
                                                                                                                                                                               ServerRuntimeContext serverRuntimeContext,
                                                                                                                                                                               SessionContext sessionContext,
                                                                                                                                                                               ResourceRegistry registry,
                                                                                                                                                                               RosterManager rosterManager)

handleOutboundSubscriptionCancellation

@SpecCompliance(compliant={@SpecCompliant(spec="RFC3921bis-05",section="3.2.2",status=IN_PROGRESS,comment="current impl based hereupon"),@SpecCompliant(spec="RFC3921bis-08",section="3.2.2",status=NOT_STARTED,comment="rephrasing from bis-05 not yet taken into account")})
protected void handleOutboundSubscriptionCancellation(PresenceStanza stanza,
                                                                                                                                                                                ServerRuntimeContext serverRuntimeContext,
                                                                                                                                                                                SessionContext sessionContext,
                                                                                                                                                                                ResourceRegistry registry,
                                                                                                                                                                                RosterManager rosterManager)

handleOutboundSubscriptionApproval

@SpecCompliance(compliant={@SpecCompliant(spec="RFC3921bis-05",section="3.1.5",status=IN_PROGRESS,comment="current impl based hereupon"),@SpecCompliant(spec="RFC3921bis-08",section="3.1.5",status=NOT_STARTED,comment="slight changes from bis-05 not yet taken into account")})
protected void handleOutboundSubscriptionApproval(PresenceStanza stanza,
                                                                                                                                                                            ServerRuntimeContext serverRuntimeContext,
                                                                                                                                                                            SessionContext sessionContext,
                                                                                                                                                                            ResourceRegistry registry,
                                                                                                                                                                            RosterManager rosterManager)

handleInboundSubscriptionApproval

@SpecCompliance(compliant={@SpecCompliant(spec="RFC3921bis-05",section="3.1.6",status=IN_PROGRESS,comment="current impl based hereupon"),@SpecCompliant(spec="RFC3921bis-08",section="3.1.6",status=NOT_STARTED,comment="minor rephrasing from bis-05 not yet taken into account")})
protected Stanza handleInboundSubscriptionApproval(PresenceStanza stanza,
                                                                                                                                                                             ServerRuntimeContext serverRuntimeContext,
                                                                                                                                                                             SessionContext sessionContext,
                                                                                                                                                                             ResourceRegistry registry,
                                                                                                                                                                             RosterManager rosterManager)
TODO this handling method should be optimized to be processed only once for every session DeliveringInboundStanzaRelay call this for every resource separately


handleInboundSubscriptionRequest

@SpecCompliance(compliant={@SpecCompliant(spec="RFC3921bis-05",section="3.1.3",status=IN_PROGRESS,comment="current impl based hereupon"),@SpecCompliant(spec="RFC3921bis-08",section="3.1.3",status=NOT_STARTED,comment="major rephrasing from bis-05 not yet taken into account")})
protected Stanza handleInboundSubscriptionRequest(PresenceStanza stanza,
                                                                                                                                                                            ServerRuntimeContext serverRuntimeContext,
                                                                                                                                                                            SessionContext sessionContext,
                                                                                                                                                                            ResourceRegistry registry,
                                                                                                                                                                            RosterManager rosterManager)

handleOutboundSubscriptionRequest

@SpecCompliance(compliant={@SpecCompliant(spec="RFC3921bis-05",section="3.1.2",status=IN_PROGRESS,comment="current impl based hereupon"),@SpecCompliant(spec="RFC3921bis-08",section="3.1.2",status=NOT_STARTED,comment="major rephrasing from bis-05 not yet taken into account")})
protected void handleOutboundSubscriptionRequest(PresenceStanza stanza,
                                                                                                                                                                           ServerRuntimeContext serverRuntimeContext,
                                                                                                                                                                           SessionContext sessionContext,
                                                                                                                                                                           ResourceRegistry registry,
                                                                                                                                                                           RosterManager rosterManager)