aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/service/TagServiceImpl.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2022-03-03 15:15:39 +0300
committerGravatar Vitaly Takmazov2022-03-03 15:15:39 +0300
commitc5d03ea70ce732e0eabc7ea90b13b8ab95601c07 (patch)
tree394417ff54f2067d0e9882e80275d3fbc597a959 /src/main/java/com/juick/service/TagServiceImpl.java
parent5f06a38b6c2a6641900f79c051c1885a935ff9c3 (diff)
Fix *readonly tag
Diffstat (limited to 'src/main/java/com/juick/service/TagServiceImpl.java')
-rw-r--r--src/main/java/com/juick/service/TagServiceImpl.java15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/main/java/com/juick/service/TagServiceImpl.java b/src/main/java/com/juick/service/TagServiceImpl.java
index 0bd6bb0c..a5f3241a 100644
--- a/src/main/java/com/juick/service/TagServiceImpl.java
+++ b/src/main/java/com/juick/service/TagServiceImpl.java
@@ -40,6 +40,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
+import java.util.Set;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -180,9 +181,9 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
@Transactional
@Override
- public List<Tag> updateTags(final int mid, final Collection<Tag> newTags) {
- List<Tag> currentTags = getMessageTags(mid).stream()
- .map(TagStats::getTag).collect(Collectors.toList());
+ public Set<Tag> updateTags(final int mid, final Collection<Tag> newTags) {
+ Set<Tag> currentTags = getMessageTags(mid).stream()
+ .map(TagStats::getTag).collect(Collectors.toSet());
if (CollectionUtils.isEmpty(newTags))
return currentTags;
@@ -214,18 +215,18 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
});
return getMessageTags(mid).stream()
- .map(TagStats::getTag).collect(Collectors.toList());
+ .map(TagStats::getTag).collect(Collectors.toSet());
}
@Override
- public Pair<String, List<Tag>> fromString(final String txt) {
+ public Pair<String, Set<Tag>> fromString(final String txt) {
String firstLine = txt.split("\\n", 2)[0];
Supplier<Stream<String>> tagsStream = () -> Arrays.stream(firstLine.split("\\ "))
.takeWhile(t -> t.matches("\\*[^\\s]+|#[^\\s]*[^\\d][^\\s]*"));
int tagsLength = tagsStream.get().collect(Collectors.joining(" ")).length();
String body = txt.substring(tagsLength);
- List<Tag> tags = tagsStream.get().map(t -> getTag(t.substring(1), true))
- .distinct().collect(Collectors.toList());
+ Set<Tag> tags = tagsStream.get().map(t -> getTag(t.substring(1), true))
+ .distinct().collect(Collectors.toSet());
return Pair.of(body, tags);
}