aboutsummaryrefslogtreecommitdiff
path: root/juick-server-jdbc/src/main/java/com/juick/service
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server-jdbc/src/main/java/com/juick/service')
-rw-r--r--juick-server-jdbc/src/main/java/com/juick/service/TagServiceImpl.java25
1 files changed, 13 insertions, 12 deletions
diff --git a/juick-server-jdbc/src/main/java/com/juick/service/TagServiceImpl.java b/juick-server-jdbc/src/main/java/com/juick/service/TagServiceImpl.java
index 403dac09..63e07bd2 100644
--- a/juick-server-jdbc/src/main/java/com/juick/service/TagServiceImpl.java
+++ b/juick-server-jdbc/src/main/java/com/juick/service/TagServiceImpl.java
@@ -224,20 +224,21 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
@Override
public List<Tag> fromString(final String txt, final boolean tagsOnly) {
Pattern tagsPattern = tagsOnly ? TAGS_PATTERN1 : TAGS_PATTERN2;
-
- if (tagsPattern.matcher(txt).matches()) {
- Matcher tagMatcher = TAG_PATTERN.matcher(txt);
-
- List<Tag> tags = new ArrayList<>();
-
- // TODO: process readonly, private, friends, public
- while (tagMatcher.find()) {
- for (int i = 1; i <= tagMatcher.groupCount(); i++)
- tags.add(getTag(tagMatcher.group(i), true));
+ List<Tag> tags = new ArrayList<>();
+ for (String line : txt.split("\n")) {
+ if (line.startsWith(">"))
+ continue;
+ if (tagsPattern.matcher(line).matches()) {
+ Matcher tagMatcher = TAG_PATTERN.matcher(line);
+
+ // TODO: process readonly, private, friends, public
+ while (tagMatcher.find()) {
+ for (int i = 1; i <= tagMatcher.groupCount(); i++)
+ tags.add(getTag(tagMatcher.group(i), true));
+ }
}
- return tags;
}
- return Collections.emptyList();
+ return tags;
}
@Transactional(readOnly = true)