diff options
author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2023-08-29 20:35:51 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2023-08-29 20:35:51 +0200 |
commit | 449afba6c208774c1d41a34671e2b4a69c857431 (patch) | |
tree | e89a3c3aea981543787d2e829815d2cca0670fee /src/main/java | |
parent | 66d49a3f76728945a0b8221bbcc6c54612967b9c (diff) |
Remove dots after question mark titles.
Fixes: #18
Change-Id: I2915d246e2b614da69c2761864a3e5bd5300db14
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java index d522b1a..6264671 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java @@ -45,6 +45,7 @@ import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.TimeZone; +import java.util.regex.Pattern; import java.util.stream.Collectors; import javax.annotation.CheckForNull; import org.hibernate.annotations.Type; @@ -55,6 +56,8 @@ import org.hibernate.annotations.Where; @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public abstract class Post<Text extends PostText<?>> extends PanacheEntityBase { + private static Pattern sentenceEnderRegex = Pattern.compile("^.*[?.]$"); + public enum Scope { top_level, comment @@ -141,6 +144,20 @@ public abstract class Post<Text extends PostText<?>> extends PanacheEntityBase { @CheckForNull public abstract String getUri(); + @CheckForNull + public final String titleWithSentenceEnder() { + var title = getTitle(); + if (title == null) { + return null; + } + + if (sentenceEnderRegex.matcher(title).matches()) { + return title; + } + + return title + "."; + } + public Visibility getVisibility() { if (targets.isEmpty()) { return Visibility.PRIVATE; |