package nl.topicus.konijn.xmpp.modules.session;
import org.apache.vysper.xmpp.modules.core.base.handler.DefaultIQHandler;
import org.apache.vysper.xmpp.protocol.NamespaceURIs;
import org.apache.vysper.xmpp.server.ServerRuntimeContext;
import org.apache.vysper.xmpp.server.SessionContext;
import org.apache.vysper.xmpp.stanza.IQStanza;
import org.apache.vysper.xmpp.stanza.IQStanzaType;
import org.apache.vysper.xmpp.stanza.Stanza;
import org.apache.vysper.xmpp.stanza.StanzaBuilder;
/**
* Custom Session IQ handler
*
* @author Joost Limburg
*
*/
public class CustomSessionIQHandler extends DefaultIQHandler {
@Override
protected boolean verifyInnerElement(Stanza stanza) {
return verifyInnerElementWorker(stanza, "session")
&& verifyInnerNamespace(stanza,
NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SESSION);
}
@Override
protected Stanza handleSet(IQStanza stanza,
ServerRuntimeContext serverRuntimeContext,
SessionContext sessionContext) {
return StanzaBuilder
.createIQStanza(null, null, IQStanzaType.RESULT, stanza.getID())
.addAttribute("from",
sessionContext.getServerJID().getFullQualifiedName())
.build();
}
}