diff options
Diffstat (limited to 'juick-xmpp')
-rw-r--r-- | juick-xmpp/src/main/java/com/juick/components/XMPPConnection.java (renamed from juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionRouter.java) | 11 | ||||
-rw-r--r-- | juick-xmpp/src/main/java/com/juick/components/XMPPServer.java | 4 | ||||
-rw-r--r-- | juick-xmpp/src/main/java/com/juick/components/configuration/XmppAppConfiguration.java | 6 | ||||
-rw-r--r-- | juick-xmpp/src/main/java/com/juick/xmpp/extensions/JuickMessage.java | 173 | ||||
-rw-r--r-- | juick-xmpp/src/main/java/com/juick/xmpp/extensions/JuickUser.java | 78 |
5 files changed, 10 insertions, 262 deletions
diff --git a/juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionRouter.java b/juick-xmpp/src/main/java/com/juick/components/XMPPConnection.java index ef89671f..a082c4cb 100644 --- a/juick-xmpp/src/main/java/com/juick/components/s2s/ConnectionRouter.java +++ b/juick-xmpp/src/main/java/com/juick/components/XMPPConnection.java @@ -1,7 +1,6 @@ -package com.juick.components.s2s; +package com.juick.components; import com.juick.User; -import com.juick.components.XMPPServer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import rocks.xmpp.addr.Jid; @@ -25,14 +24,14 @@ import java.util.List; /** * @author ugnich */ -public class ConnectionRouter implements AutoCloseable { +public class XMPPConnection implements AutoCloseable { - private static final Logger logger = LoggerFactory.getLogger(ConnectionRouter.class); + private static final Logger logger = LoggerFactory.getLogger(XMPPConnection.class); private ExternalComponent router; private XMPPServer xmpp; - public ConnectionRouter(XMPPServer s2s, String componentName, int componentPort, String password) { + public XMPPConnection(XMPPServer s2s, String componentName, int componentPort, String password) { this.xmpp = s2s; logger.info("stream router start"); router = ExternalComponent.create(componentName, password, xmpp.getSession().getConfiguration(), "localhost", componentPort); @@ -93,7 +92,7 @@ public class ConnectionRouter implements AutoCloseable { } - void sendStanza(Stanza xml) { + public void sendStanza(Stanza xml) { router.send(xml); } diff --git a/juick-xmpp/src/main/java/com/juick/components/XMPPServer.java b/juick-xmpp/src/main/java/com/juick/components/XMPPServer.java index ffb7e260..b5518e33 100644 --- a/juick-xmpp/src/main/java/com/juick/components/XMPPServer.java +++ b/juick-xmpp/src/main/java/com/juick/components/XMPPServer.java @@ -51,7 +51,7 @@ public class XMPPServer implements AutoCloseable { @Inject - private ConnectionRouter router; + private XMPPConnection router; @Inject public MessagesService messagesService; @Inject @@ -258,7 +258,7 @@ public class XMPPServer implements AutoCloseable { } } - public ConnectionRouter getRouter() { + public XMPPConnection getRouter() { return router; } diff --git a/juick-xmpp/src/main/java/com/juick/components/configuration/XmppAppConfiguration.java b/juick-xmpp/src/main/java/com/juick/components/configuration/XmppAppConfiguration.java index 9d6fc041..22b4cc41 100644 --- a/juick-xmpp/src/main/java/com/juick/components/configuration/XmppAppConfiguration.java +++ b/juick-xmpp/src/main/java/com/juick/components/configuration/XmppAppConfiguration.java @@ -6,7 +6,7 @@ package com.juick.components.configuration; import com.juick.components.XMPPServer; import com.juick.components.s2s.CleaningUp; -import com.juick.components.s2s.ConnectionRouter; +import com.juick.components.XMPPConnection; import com.juick.components.s2s.JuickBot; import com.juick.configuration.DataConfiguration; import org.apache.commons.lang3.BooleanUtils; @@ -48,9 +48,9 @@ public class XmppAppConfiguration { return new JuickBot(xmpp()); } @Bean - public ConnectionRouter router() { + public XMPPConnection router() { boolean disabled = BooleanUtils.toBoolean(env.getProperty("xmpp_disabled", "false")); - return disabled ? null : new ConnectionRouter(xmpp(), env.getProperty("componentname"), + return disabled ? null : new XMPPConnection(xmpp(), env.getProperty("componentname"), NumberUtils.toInt(env.getProperty("component_port"), 5347), env.getProperty("xmpp_password")); } diff --git a/juick-xmpp/src/main/java/com/juick/xmpp/extensions/JuickMessage.java b/juick-xmpp/src/main/java/com/juick/xmpp/extensions/JuickMessage.java deleted file mode 100644 index ae7fc89c..00000000 --- a/juick-xmpp/src/main/java/com/juick/xmpp/extensions/JuickMessage.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Juick - * Copyright (C) 2008-2011, Ugnich Anton - * - * 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 <http://www.gnu.org/licenses/>. - */ -package com.juick.xmpp.extensions; - -import com.juick.Tag; -import com.juick.util.DateFormattersHolder; -import com.juick.xmpp.StanzaChild; -import com.juick.xmpp.utils.XmlUtils; -import org.xmlpull.v1.XmlPullParser; -import org.xmlpull.v1.XmlPullParserException; - -import java.io.IOException; -import java.text.ParseException; - -/** - * @author Ugnich Anton - */ -public class JuickMessage extends com.juick.Message implements StanzaChild { - public final static String XMLNS = "http://juick.com/message"; - public final static String TagName = "juick"; - - public JuickMessage() { - } - - public JuickMessage(com.juick.Message msg) { - super(msg); - } - - @Override - public String getXMLNS() { - return XMLNS; - } - - @Override - public JuickMessage parse(XmlPullParser parser) throws XmlPullParserException, IOException, ParseException { - JuickMessage jmsg = new JuickMessage(); - - final String sMID = parser.getAttributeValue(null, "mid"); - if (sMID != null) { - jmsg.setMid(Integer.parseInt(sMID)); - } - final String sRID = parser.getAttributeValue(null, "rid"); - if (sRID != null) { - jmsg.setRid(Integer.parseInt(sRID)); - } - final String sReplyTo = parser.getAttributeValue(null, "replyto"); - if (sReplyTo != null) { - jmsg.setReplyto(Integer.parseInt(sReplyTo)); - } - final String sPrivacy = parser.getAttributeValue(null, "privacy"); - if (sPrivacy != null) { - jmsg.setPrivacy(Integer.parseInt(sPrivacy)); - } - final String sFriendsOnly = parser.getAttributeValue(null, "friendsonly"); - if (sFriendsOnly != null) { - jmsg.FriendsOnly = true; - } - final String sReadOnly = parser.getAttributeValue(null, "readonly"); - if (sReadOnly != null) { - jmsg.ReadOnly = true; - } - String ts = parser.getAttributeValue(null, "ts"); - if (ts != null) { - jmsg.setDate(DateFormattersHolder.getMessageFormatterInstance().parse(ts)); - } - jmsg.setAttachmentType(parser.getAttributeValue(null, "attach")); - - while (parser.next() == XmlPullParser.START_TAG) { - final String tag = parser.getName(); - final String xmlns = parser.getNamespace(); - if (tag.equals("body")) { - jmsg.setText(XmlUtils.getTagText(parser)); - } else if (tag.equals(JuickUser.TagName) && xmlns != null && xmlns.equals(JuickUser.XMLNS)) { - jmsg.setUser(new JuickUser().parse(parser)); - } else if (tag.equals("tag")) { - jmsg.getTags().add(new Tag(XmlUtils.getTagText(parser))); - } else { - XmlUtils.skip(parser); - } - } - return jmsg; - } - - @Override - public String toString() { - StringBuilder builder = new StringBuilder(); - - builder.append("<").append(TagName).append(" xmlns=\"").append(XMLNS).append("\""); - - if (getMid() > 0) - builder.append(" mid=\"").append(getMid()).append("\""); - - if (getRid() > 0) - builder.append(" rid=\"").append(getRid()).append("\""); - - if (getReplyto() > 0) - builder.append(" replyto=\"").append(getReplyto()).append("\""); - - builder.append(" privacy=\"").append(getPrivacy()).append("\""); - - if (FriendsOnly) - builder.append(" friendsonly=\"1\""); - - if (ReadOnly) - builder.append(" readonly=\"1\""); - - if (getDate() != null) - builder.append(" ts=\"") - .append(DateFormattersHolder.getMessageFormatterInstance().format(getDate())) - .append("\""); - - if (getAttachmentType() != null) - builder.append(" attach=\"").append(getAttachmentType()).append("\""); - - builder.append(">"); - - if (getUser() != null) - builder.append(JuickUser.toString(getUser())); - - if (getText() != null) - builder.append("<body>").append(XmlUtils.escape(getText())).append("</body>"); - - for (com.juick.Tag tag : getTags()) - builder.append("<tag>").append(XmlUtils.escape(tag.getName())).append("</tag>"); - - builder.append("</").append(TagName).append(">"); - - return builder.toString(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) - return true; - - if (!(obj instanceof JuickMessage)) - return false; - - JuickMessage jmsg = (JuickMessage) obj; - return (this.getMid() == jmsg.getMid() && this.getRid() == jmsg.getRid()); - } - - @Override - public int compareTo(Object obj) throws ClassCastException { - if (obj == this) - return 0; - - if (!(obj instanceof JuickMessage)) - throw new ClassCastException(); - - JuickMessage jmsg = (JuickMessage) obj; - int cmp = Integer.compare(jmsg.getMid(), getMid()); - if (cmp == 0) - cmp = Integer.compare(getRid(), jmsg.getRid()); - - return cmp; - } -} diff --git a/juick-xmpp/src/main/java/com/juick/xmpp/extensions/JuickUser.java b/juick-xmpp/src/main/java/com/juick/xmpp/extensions/JuickUser.java deleted file mode 100644 index 08e38c41..00000000 --- a/juick-xmpp/src/main/java/com/juick/xmpp/extensions/JuickUser.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Juick - * Copyright (C) 2008-2011, Ugnich Anton - * - * 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 <http://www.gnu.org/licenses/>. - */ -package com.juick.xmpp.extensions; - -import com.juick.xmpp.StanzaChild; -import com.juick.xmpp.utils.XmlUtils; -import org.xmlpull.v1.XmlPullParser; -import org.xmlpull.v1.XmlPullParserException; - -import java.io.IOException; - -/** - * @author Ugnich Anton - */ -public class JuickUser extends com.juick.User implements StanzaChild { - public final static String XMLNS = "http://juick.com/user"; - public final static String TagName = "user"; - - public JuickUser() { - } - - public JuickUser(com.juick.User user) { - super(user); - } - - @Override - public String getXMLNS() { - return XMLNS; - } - - @Override - public JuickUser parse(final XmlPullParser parser) throws XmlPullParserException, IOException { - JuickUser juser = new JuickUser(); - String strUID = parser.getAttributeValue(null, "uid"); - if (strUID != null) { - juser.setUid(Integer.parseInt(strUID)); - } - juser.setName(parser.getAttributeValue(null, "uname")); - XmlUtils.skip(parser); - return juser; - } - - public static String toString(com.juick.User user) { - StringBuilder builder = new StringBuilder(); - - builder.append("<").append(TagName).append(" xmlns='").append(XMLNS).append("'"); - - if (user.getUid() > 0) - builder.append(" uid='").append(user.getUid()).append("'"); - - if (user.getName() != null && user.getName().length() > 0) - builder.append(" uname='").append(XmlUtils.escape(user.getName())).append("'"); - - builder.append("/>"); - - return builder.toString(); - } - - @Override - public String toString() { - return toString(this); - } -} |