From f010d75872763547ecbe621ae3e8eb967950453f Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Tue, 13 Mar 2018 15:18:03 +0300 Subject: core: cleanup unused message properties --- juick-core/src/main/java/com/juick/Group.java | 28 ---------- juick-core/src/main/java/com/juick/Message.java | 62 +--------------------- juick-core/src/main/java/com/juick/Place.java | 32 ----------- .../com/juick/formatters/PlainTextFormatter.java | 4 +- .../src/main/java/com/juick/util/MessageUtils.java | 42 ++++++++++++++- .../src/test/java/com/juick/MessageTest.java | 40 +++++++------- 6 files changed, 65 insertions(+), 143 deletions(-) delete mode 100644 juick-core/src/main/java/com/juick/Group.java delete mode 100644 juick-core/src/main/java/com/juick/Place.java (limited to 'juick-core/src') diff --git a/juick-core/src/main/java/com/juick/Group.java b/juick-core/src/main/java/com/juick/Group.java deleted file mode 100644 index 917e35dd..00000000 --- a/juick-core/src/main/java/com/juick/Group.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * 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; - -/** - * - * @author Ugnich Anton - */ -public class Group { - - public String Name = null; - public int GID = 0; - public int UsersCnt = 0; -} diff --git a/juick-core/src/main/java/com/juick/Message.java b/juick-core/src/main/java/com/juick/Message.java index 0d91cc63..699920f6 100644 --- a/juick-core/src/main/java/com/juick/Message.java +++ b/juick-core/src/main/java/com/juick/Message.java @@ -21,13 +21,13 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.juick.xml.adapters.SimpleDateAdapter; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.builder.ToStringBuilder; import javax.xml.bind.annotation.*; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import java.time.Instant; -import java.util.*; +import java.util.ArrayList; +import java.util.List; /** * @author Ugnich Anton @@ -67,30 +67,13 @@ public class Message implements Comparable { private Photo photo; @XmlTransient private Attachment attachment; - public String Video = null; - public Place Place = null; private int likes; - public final List childs; private User to; private Recommendation Recommendation; private String replyQuote; public Message() { tags = new ArrayList<>(); - childs = new ArrayList<>(); - } - - public void parseTags(String strTags) { - if (StringUtils.isNotEmpty(strTags)) { - Set tagSet = new TreeSet<>(tags); - for (String str : strTags.split(" ")) { - Tag tag = new Tag(str); - if (!tagSet.contains(tag)) { - tags.add(tag); - tagSet.add(tag); - } - } - } } @Override @@ -140,47 +123,6 @@ public class Message implements Comparable { return cmp; } - @JsonIgnore - public int getChildsCount() { - int cnt = childs.size(); - for (Message child : childs) { - cnt += child.getChildsCount(); - } - return cnt; - } - - public void cleanupChilds() { - if (!childs.isEmpty()) { - for (Message child : childs) { - child.cleanupChilds(); - } - childs.clear(); - } - } - - @JsonIgnore - public String getTagsString() { - StringBuilder builder = new StringBuilder(); - if (!tags.isEmpty()) { - for (Tag Tag : tags) - builder.append(" *").append(Tag.getName()); - - if (FriendsOnly) - builder.append(" *friends"); - - if (privacy == -2) - builder.append(" *private"); - else if (privacy == -1) - builder.append(" *friends"); - else if (privacy == 2) - builder.append(" *public"); - - if (ReadOnly) - builder.append(" *readonly"); - } - return builder.toString(); - } - @JsonProperty("mid") @XmlAttribute(name = "mid") public int getMid() { diff --git a/juick-core/src/main/java/com/juick/Place.java b/juick-core/src/main/java/com/juick/Place.java deleted file mode 100644 index 9960d984..00000000 --- a/juick-core/src/main/java/com/juick/Place.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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; - -/** - * - * @author Ugnich Anton - */ -public class Place { - - public int pid = 0; - public double lat = 0; - public double lon = 0; - public String name = null; - public int users = 0; - public int messages = 0; - public int distance = 0; -} diff --git a/juick-core/src/main/java/com/juick/formatters/PlainTextFormatter.java b/juick-core/src/main/java/com/juick/formatters/PlainTextFormatter.java index e41ab1f7..4e95e6c2 100644 --- a/juick-core/src/main/java/com/juick/formatters/PlainTextFormatter.java +++ b/juick-core/src/main/java/com/juick/formatters/PlainTextFormatter.java @@ -41,7 +41,7 @@ public class PlainTextFormatter { String title = isReply ? "Reply by @" : "@"; String subtitle = isReply ? markdown ? MessageUtils.escapeMarkdown(StringUtils.defaultString(jmsg.getReplyQuote())) : jmsg.getReplyQuote() - : markdown ? MessageUtils.getMarkdownTags(jmsg) : jmsg.getTagsString(); + : markdown ? MessageUtils.getMarkdownTags(jmsg) : MessageUtils.getTagsString(jmsg); sb.append(title).append(markdown ? String.format("[%s](https://juick.com/%s/)", jmsg.getUser().getName(), jmsg.getUser().getName()) : jmsg.getUser().getName()).append(":\n") .append(subtitle).append("\n"); if (markdown) { @@ -73,7 +73,7 @@ public class PlainTextFormatter { sb.append(txt); } return String.format("@%s:%s\n%s\n#%s (%s%s) %s", - m.getUser().getName(), m.getTagsString(), sb.toString(), formatPostNumber(m), timeAgo, repliesCount, formatUrl(m)); + m.getUser().getName(), MessageUtils.getTagsString(m), sb.toString(), formatPostNumber(m), timeAgo, repliesCount, formatUrl(m)); } public static String formatUrl(com.juick.Message jmsg) { diff --git a/juick-core/src/main/java/com/juick/util/MessageUtils.java b/juick-core/src/main/java/com/juick/util/MessageUtils.java index 9c156c51..ce9415ea 100644 --- a/juick-core/src/main/java/com/juick/util/MessageUtils.java +++ b/juick-core/src/main/java/com/juick/util/MessageUtils.java @@ -24,6 +24,10 @@ import org.apache.commons.lang3.StringUtils; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.TreeSet; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -148,7 +152,7 @@ public class MessageUtils { StringBuilder sb = new StringBuilder(); boolean isReply = jmsg.getRid() > 0; String title = isReply ? "Reply by @" : "@"; - String subtitle = isReply ? "
" + jmsg.getReplyQuote() + "
" : "" + jmsg.getTagsString() + ""; + String subtitle = isReply ? "
" + jmsg.getReplyQuote() + "
" : "" + getTagsString(jmsg) + ""; boolean isCode = jmsg.getTags().stream().anyMatch(t -> t.getName().equals("code")); sb.append(title).append(jmsg.getUser().getName()).append(":

") @@ -217,4 +221,40 @@ public class MessageUtils { public static boolean replyStartsWithQuote(Message msg) { return msg.getRid() > 0 && StringUtils.defaultString(msg.getText()).startsWith(">"); } + public static List parseTags(String strTags) { + List tags = new ArrayList<>(); + if (StringUtils.isNotEmpty(strTags)) { + Set tagSet = new TreeSet<>(tags); + for (String str : strTags.split(" ")) { + Tag tag = new Tag(str); + if (!tagSet.contains(tag)) { + tags.add(tag); + tagSet.add(tag); + } + } + } + return tags; + } + public static String getTagsString(Message msg) { + StringBuilder builder = new StringBuilder(); + List tags = msg.getTags(); + if (!tags.isEmpty()) { + for (Tag Tag : tags) + builder.append(" *").append(Tag.getName()); + + if (msg.FriendsOnly) + builder.append(" *friends"); + + if (msg.getPrivacy() == -2) + builder.append(" *private"); + else if (msg.getPrivacy() == -1) + builder.append(" *friends"); + else if (msg.getPrivacy() == 2) + builder.append(" *public"); + + if (msg.ReadOnly) + builder.append(" *readonly"); + } + return builder.toString(); + } } diff --git a/juick-core/src/test/java/com/juick/MessageTest.java b/juick-core/src/test/java/com/juick/MessageTest.java index 3bdac9be..45c5730c 100644 --- a/juick-core/src/test/java/com/juick/MessageTest.java +++ b/juick-core/src/test/java/com/juick/MessageTest.java @@ -17,11 +17,11 @@ package com.juick; +import com.juick.util.MessageUtils; import org.apache.commons.lang3.RandomUtils; import org.apache.commons.lang3.StringUtils; import org.junit.Test; import rocks.xmpp.addr.Jid; -import rocks.xmpp.core.XmppException; import rocks.xmpp.core.session.Extension; import rocks.xmpp.core.session.XmppSession; import rocks.xmpp.core.session.XmppSessionConfiguration; @@ -39,7 +39,7 @@ import static org.hamcrest.Matchers.*; public class MessageTest { @Test - public void equalsShouldBeReturnCorrectResult() throws Exception { + public void equalsShouldBeReturnCorrectResult() { Message message1 = new Message(); Message message2 = new Message(); @@ -75,7 +75,7 @@ public class MessageTest { } @Test - public void compareShouldBeReturnCorrectResult() throws Exception { + public void compareShouldBeReturnCorrectResult() { Message message1 = new Message(); message1.setMid(RandomUtils.nextInt()); @@ -96,7 +96,7 @@ public class MessageTest { } @Test - public void messageWithGreaterMidShouldBeLessThenMesageWithLessMid() throws Exception { + public void messageWithGreaterMidShouldBeLessThenMesageWithLessMid() { Message message1 = new Message(); message1.setMid(RandomUtils.nextInt()); @@ -112,7 +112,7 @@ public class MessageTest { } @Test - public void messageWithGreaterRidAndEqualsMidShouldBeGreaterThenMessageWithLessRid() throws Exception { + public void messageWithGreaterRidAndEqualsMidShouldBeGreaterThenMessageWithLessRid() { Message message1 = new Message(); message1.setMid(RandomUtils.nextInt()); @@ -128,41 +128,41 @@ public class MessageTest { } @Test - public void tagsStringShouldBeEmptyIfNoTags() throws Exception { + public void tagsStringShouldBeEmptyIfNoTags() { Message message = new Message(); - assertThat(message.getTagsString(), isEmptyString()); + assertThat(MessageUtils.getTagsString(message), isEmptyString()); message.FriendsOnly = true; - assertThat(message.getTagsString(), isEmptyString()); + assertThat(MessageUtils.getTagsString(message), isEmptyString()); message.Hidden = true; message.ReadOnly = true; - assertThat(message.getTagsString(), isEmptyString()); + assertThat(MessageUtils.getTagsString(message), isEmptyString()); - message.parseTags(" "); + message.setTags(MessageUtils.parseTags(" ")); - assertThat(message.getTagsString(), isEmptyString()); + assertThat(MessageUtils.getTagsString(message), isEmptyString()); } @Test - public void tagsStringShouldHasNoTagDuplicates() throws Exception { + public void tagsStringShouldHasNoTagDuplicates() { Message message = new Message(); - message.parseTags("test"); + message.setTags(MessageUtils.parseTags("test")); - assertThat(StringUtils.countMatches(message.getTagsString(), "*test"), equalTo(1)); + assertThat(StringUtils.countMatches(MessageUtils.getTagsString(message), "*test"), equalTo(1)); - message.parseTags("test test"); + message.setTags(MessageUtils.parseTags("test test")); - assertThat(StringUtils.countMatches(message.getTagsString(), "*test"), equalTo(1)); + assertThat(StringUtils.countMatches(MessageUtils.getTagsString(message), "*test"), equalTo(1)); - message.parseTags("test test ab test"); + message.setTags(MessageUtils.parseTags("test test ab test")); - assertThat(StringUtils.countMatches(message.getTagsString(), "*test"), equalTo(1)); - assertThat(StringUtils.countMatches(message.getTagsString(), "*ab"), equalTo(1)); + assertThat(StringUtils.countMatches(MessageUtils.getTagsString(message), "*test"), equalTo(1)); + assertThat(StringUtils.countMatches(MessageUtils.getTagsString(message), "*ab"), equalTo(1)); } @Test public void tagsShouldBeDeserializedFromXml() throws JAXBException { @@ -171,7 +171,7 @@ public class MessageTest { .build(); XmppSession xmpp = new XmppSession("juick.com", configuration) { @Override - public void connect(Jid from) throws XmppException { + public void connect(Jid from) { } -- cgit v1.2.3