/* * Copyright (C) 2008-2017, Juick * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ package com.juick.components.s2s; import rocks.xmpp.addr.Jid; import rocks.xmpp.core.XmppException; import rocks.xmpp.core.session.ConnectionConfiguration; import rocks.xmpp.core.session.XmppSession; import rocks.xmpp.core.session.XmppSessionConfiguration; import rocks.xmpp.core.stanza.model.IQ; import rocks.xmpp.core.stanza.model.Message; import rocks.xmpp.core.stanza.model.Presence; import rocks.xmpp.core.stanza.model.server.ServerIQ; import rocks.xmpp.core.stanza.model.server.ServerMessage; import rocks.xmpp.core.stanza.model.server.ServerPresence; import rocks.xmpp.core.stream.model.StreamElement; /** * Created by vitalyster on 06.02.2017. */ public class BasicXmppSession extends XmppSession { protected BasicXmppSession(String xmppServiceDomain, XmppSessionConfiguration configuration, ConnectionConfiguration... connectionConfigurations) { super(xmppServiceDomain, configuration, connectionConfigurations); } public static BasicXmppSession create(String xmppServiceDomain, XmppSessionConfiguration configuration) { BasicXmppSession session = new BasicXmppSession(xmppServiceDomain, configuration); notifyCreationListeners(session); return session; } @Override public void connect(Jid from) throws XmppException { } @Override public Jid getConnectedResource() { return null; } @Override protected StreamElement prepareElement(StreamElement element) { if (element instanceof Message) { element = ServerMessage.from((Message) element); } else if (element instanceof Presence) { element = ServerPresence.from((Presence) element); } else if (element instanceof IQ) { element = ServerIQ.from((IQ) element); } return element; } }