From 2745cf0915508cc320948936ca8ea731c4cc2eb7 Mon Sep 17 00:00:00 2001 From: alphaBEE Date: Tue, 24 Oct 2023 14:36:51 +0530 Subject: [PATCH 1/2] refactor method for generating title of forum post --- .../moderation/TransferQuestionCommand.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/TransferQuestionCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/TransferQuestionCommand.java index c49f8b215f..71ad305f06 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/TransferQuestionCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/TransferQuestionCommand.java @@ -39,10 +39,9 @@ public final class TransferQuestionCommand extends BotCommandAdapter private static final String MODAL_TITLE_ID = "transferID"; private static final String MODAL_INPUT_ID = "transferQuestion"; private static final String MODAL_TAG = "tags"; - private static final int TITLE_GUESS_MAX_LENGTH = 50; + private static final int TITLE_MAX_LENGTH = 50; private static final Pattern TITLE_GUESS_COMPACT_REMOVAL_PATTERN = Pattern.compile("\\W"); - private static final int TITLE_GUESS_COMPACT_LENGTH_MIN = 2; - private static final int TITLE_GUESS_COMPACT_LENGTH_MAX = 30; + private static final int TITLE_MIN_LENGTH = 3; private static final Color EMBED_COLOR = new Color(50, 164, 168); private final Predicate isHelpForumName; private final List tags; @@ -76,8 +75,8 @@ public void onMessageContext(MessageContextInteractionEvent event) { String mostCommonTag = tags.get(0); TextInput modalTitle = TextInput.create(MODAL_TITLE_ID, "Title", TextInputStyle.SHORT) - .setMaxLength(70) - .setMinLength(4) + .setMaxLength(TITLE_MAX_LENGTH) + .setMinLength(TITLE_MIN_LENGTH) .setPlaceholder("Describe the question in short") .setValue(createTitle(originalMessage)) .build(); @@ -123,14 +122,14 @@ public void onModalSubmitted(ModalInteractionEvent event, List args) { } private static String createTitle(String message) { - if (message.length() >= TITLE_GUESS_MAX_LENGTH) { - int lastWordEnd = message.lastIndexOf(' ', TITLE_GUESS_MAX_LENGTH); + if (message.length() >= TITLE_MAX_LENGTH) { + int lastWordEnd = message.lastIndexOf(' ', TITLE_MAX_LENGTH); if (lastWordEnd == -1) { - lastWordEnd = TITLE_GUESS_MAX_LENGTH; + lastWordEnd = TITLE_MAX_LENGTH; } - message = message.substring(0, lastWordEnd); + message = message.substring(0, lastWordEnd).replace("\n", " "); } return isTitleValid(message) ? message : "Untitled"; @@ -139,8 +138,8 @@ private static String createTitle(String message) { private static boolean isTitleValid(CharSequence title) { String titleCompact = TITLE_GUESS_COMPACT_REMOVAL_PATTERN.matcher(title).replaceAll(""); - return titleCompact.length() >= TITLE_GUESS_COMPACT_LENGTH_MIN - && titleCompact.length() <= TITLE_GUESS_COMPACT_LENGTH_MAX; + return titleCompact.length() >= TITLE_MIN_LENGTH + && titleCompact.length() <= TITLE_MAX_LENGTH; } private RestAction createForumPost(ModalInteractionEvent event, User originalUser) { From acca3d79754a561e12e08003ff47a61b6353b098 Mon Sep 17 00:00:00 2001 From: alphaBEE <61616007+ankitsmt211@users.noreply.github.com> Date: Tue, 24 Oct 2023 15:56:16 +0530 Subject: [PATCH 2/2] Update application/src/main/java/org/togetherjava/tjbot/features/moderation/TransferQuestionCommand.java Co-authored-by: Daniel Tischner --- .../tjbot/features/moderation/TransferQuestionCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/features/moderation/TransferQuestionCommand.java b/application/src/main/java/org/togetherjava/tjbot/features/moderation/TransferQuestionCommand.java index 71ad305f06..e82387744e 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/moderation/TransferQuestionCommand.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/moderation/TransferQuestionCommand.java @@ -129,7 +129,7 @@ private static String createTitle(String message) { lastWordEnd = TITLE_MAX_LENGTH; } - message = message.substring(0, lastWordEnd).replace("\n", " "); + message = message.substring(0, lastWordEnd).replace('\n', ' '); } return isTitleValid(message) ? message : "Untitled";