Skip to content

Commit d3dba40

Browse files
DevSerendipityZabuzard
authored andcommitted
Improved the event reply with extracting the stream into a seperate variable, changing the logger inside the if condition and making the logger finall static, also renaming the magic number 200 to something more understandable MAX_TAGS_THRESHOLD_WARNING, and finally removing the ArrayList with provided value and using the direct value instead.
1 parent 1958362 commit d3dba40

1 file changed

Lines changed: 19 additions & 19 deletions

File tree

application/src/main/java/org/togetherjava/tjbot/commands/tags/TagsCommand.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@
44
import net.dv8tion.jda.api.events.interaction.ButtonClickEvent;
55
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent;
66
import org.jetbrains.annotations.NotNull;
7+
import org.slf4j.LoggerFactory;
78
import org.togetherjava.tjbot.commands.SlashCommandAdapter;
89
import org.togetherjava.tjbot.commands.SlashCommandVisibility;
910
import org.togetherjava.tjbot.commands.utils.MessageUtils;
10-
11-
import java.util.ArrayList;
11+
import org.slf4j.Logger;
1212
import java.util.List;
1313
import java.util.Objects;
14-
import java.util.logging.Level;
15-
import java.util.logging.Logger;
1614
import java.util.stream.Collectors;
1715

1816
/**
@@ -31,6 +29,7 @@
3129
*/
3230
public final class TagsCommand extends SlashCommandAdapter {
3331
private final TagSystem tagSystem;
32+
private static final Logger logger = LoggerFactory.getLogger(TagsCommand.class);
3433

3534
/**
3635
* Creates a new instance, using the given tag system as base.
@@ -45,24 +44,25 @@ public TagsCommand(TagSystem tagSystem) {
4544

4645
@Override
4746
public void onSlashCommand(@NotNull SlashCommandEvent event) {
47+
int MAX_TAGS_THRESHOLD_WARNING = 200;
48+
if (tagSystem.getAllIds().size() > MAX_TAGS_THRESHOLD_WARNING) {
49+
// TODO Implement the edge case
4850

49-
ArrayList<String> list = new ArrayList<>(tagSystem.getAllIds());
50-
51-
if (list.size() > 200) {
52-
53-
Logger logger = Logger.getLogger(TagsCommand.class.getName());
54-
55-
logger.setLevel(Level.WARNING);
56-
logger.warning("- WARNING - TAGS ARE BEYOND 200 LINES ");
51+
logger.warn(
52+
"The amount of tags is very high and it might soon exceed the maximum character limit. The code should be adjusted to support this edge case soon.\n");
5753
}
54+
String tagListText = tagSystem.getAllIds()
55+
.stream()
56+
.sorted()
57+
.map(tag -> "* " + tag)
58+
.collect(Collectors.joining("\n"));
5859

59-
event.replyEmbeds(MessageUtils.generateEmbed("All available tags",
60-
"* " + String.join("\n ",
61-
list.stream().sorted().collect(Collectors.joining("\n * "))),
62-
event.getUser(), TagSystem.AMBIENT_COLOR))
63-
.addActionRow(
64-
TagSystem.createDeleteButton(generateComponentId(event.getUser().getId())))
65-
.queue();
60+
event
61+
.replyEmbeds(MessageUtils.generateEmbed("All available tags", tagListText,
62+
event.getUser(), TagSystem.AMBIENT_COLOR))
63+
.addActionRow(
64+
TagSystem.createDeleteButton(generateComponentId(event.getUser().getId())))
65+
.queue();
6666
}
6767

6868
@Override

0 commit comments

Comments
 (0)