From 0fa2b829d05b74e94d4ff4688bb10c1c6fbc4567 Mon Sep 17 00:00:00 2001 From: Yannick Lamprecht Date: Wed, 28 Nov 2018 16:32:37 +0100 Subject: [PATCH] Additional cleanup --- .../java/asylum/nursebot/NurseNoakes.java | 23 ++++++------ .../nursebot/commands/CommandCategory.java | 1 + .../nursebot/executor/CallbackContext.java | 11 +++--- .../asylum/nursebot/executor/ExitCode.java | 1 - .../nursebot/loader/ModuleDependencies.java | 5 ++- .../asylum/nursebot/loader/ModuleLoader.java | 22 +++++------- .../asylum/nursebot/modules/Appointments.java | 5 +-- .../asylum/nursebot/modules/Birthdays.java | 9 ++--- .../nursebot/modules/BusinessCards.java | 35 +++++++++---------- .../asylum/nursebot/modules/Buzzwords.java | 10 +++--- .../nursebot/modules/ConversationStarter.java | 9 ++--- .../java/asylum/nursebot/modules/Dices.java | 7 ++-- .../asylum/nursebot/modules/Eastereggs.java | 7 ++-- .../nursebot/modules/PrivateNotifier.java | 2 +- .../asylum/nursebot/modules/RandomHugs.java | 2 +- .../asylum/nursebot/modules/Statistics.java | 2 -- .../asylum/nursebot/modules/UserDetails.java | 6 ++-- .../nursebot/modules/birthdays/Privacy.java | 2 +- .../nursebot/modules/buzzwords/Buzzword.java | 4 ++- .../asylum/nursebot/modules/dices/D12.java | 2 +- .../asylum/nursebot/modules/dices/D6.java | 2 +- .../nursebot/persistence/Connector.java | 2 +- .../persistence/modules/NurseModule.java | 2 +- .../modules/PrivateNotifierChat.java | 2 +- .../asylum/nursebot/utils/log/Logger.java | 7 ++-- 25 files changed, 88 insertions(+), 92 deletions(-) diff --git a/src/main/java/asylum/nursebot/NurseNoakes.java b/src/main/java/asylum/nursebot/NurseNoakes.java index 8523265..75c0ca0 100644 --- a/src/main/java/asylum/nursebot/NurseNoakes.java +++ b/src/main/java/asylum/nursebot/NurseNoakes.java @@ -439,7 +439,7 @@ public class NurseNoakes extends TelegramLongPollingBot { logger.info("Loading dependencies."); loader.loadDependencies(); logger.info("Loading regular modules."); - loader.loadModules(module -> loadModule(module)); + loader.loadModules(this::loadModule); if (ModelManager.wasAnythingCreated()) { @@ -466,14 +466,7 @@ public class NurseNoakes extends TelegramLongPollingBot { public void stop() { logger.info("Shuting down..."); - for(Module module : activeModules) { - logger.verbose("Shutting down module " + module.getName() + "..."); - module.shutdown(); - } - for(Module module : inactiveModules) { - logger.verbose("Shutting down module " + module.getName() + "..."); - module.shutdown(); - } + disableModules(); logger.debug("Closing database connection."); connector.close(); @@ -481,9 +474,8 @@ public class NurseNoakes extends TelegramLongPollingBot { logger.info("Shutdown complete."); System.exit(EXIT_CODE_SHUTDOWN); } - - public void restart() { - logger.info("Restarting..."); + + private void disableModules() { for(Module module : activeModules) { logger.verbose("Shutting down module " + module.getName() + "..."); module.shutdown(); @@ -492,7 +484,12 @@ public class NurseNoakes extends TelegramLongPollingBot { logger.verbose("Shutting down module " + module.getName() + "..."); module.shutdown(); } - + } + + public void restart() { + logger.info("Restarting..."); + disableModules(); + connector.close(); System.exit(EXIT_CODE_RESTART); diff --git a/src/main/java/asylum/nursebot/commands/CommandCategory.java b/src/main/java/asylum/nursebot/commands/CommandCategory.java index 71948f0..43c5051 100644 --- a/src/main/java/asylum/nursebot/commands/CommandCategory.java +++ b/src/main/java/asylum/nursebot/commands/CommandCategory.java @@ -13,6 +13,7 @@ public class CommandCategory { } + @Override public boolean equals(Object object) { if (!(object instanceof CommandCategory)) return false; diff --git a/src/main/java/asylum/nursebot/executor/CallbackContext.java b/src/main/java/asylum/nursebot/executor/CallbackContext.java index c836b14..37ea841 100644 --- a/src/main/java/asylum/nursebot/executor/CallbackContext.java +++ b/src/main/java/asylum/nursebot/executor/CallbackContext.java @@ -1,21 +1,20 @@ package asylum.nursebot.executor; -import asylum.nursebot.exceptions.WhatTheFuckException; - import java.util.HashMap; +import asylum.nursebot.exceptions.WhatTheFuckException; + public class CallbackContext extends HashMap, Object>{ private static final long serialVersionUID = 1988125468800948893L; public void put(Object object) { put(object.getClass(), object); } - - @SuppressWarnings("unchecked") + public T get(Class clazz) { - Object obj = ((HashMap, Object>) this).get(clazz); + Object obj = this.get(clazz); if (!(clazz.isInstance(obj))) throw new WhatTheFuckException("WAT?"); - return (T) obj; + return clazz.cast(obj); } } diff --git a/src/main/java/asylum/nursebot/executor/ExitCode.java b/src/main/java/asylum/nursebot/executor/ExitCode.java index 446dc6d..226c567 100644 --- a/src/main/java/asylum/nursebot/executor/ExitCode.java +++ b/src/main/java/asylum/nursebot/executor/ExitCode.java @@ -8,7 +8,6 @@ public class ExitCode { } public ExitCode(int value) { - super(); this.value = value; } } diff --git a/src/main/java/asylum/nursebot/loader/ModuleDependencies.java b/src/main/java/asylum/nursebot/loader/ModuleDependencies.java index c0626d1..d4802ef 100644 --- a/src/main/java/asylum/nursebot/loader/ModuleDependencies.java +++ b/src/main/java/asylum/nursebot/loader/ModuleDependencies.java @@ -6,12 +6,11 @@ import asylum.nursebot.objects.Module; public class ModuleDependencies extends HashMap, Module>{ private static final long serialVersionUID = 1L; - - @SuppressWarnings("unchecked") + public C get(Class clazz) { Module m = super.get(clazz); if (!(clazz.isInstance(m))) throw new IllegalArgumentException(); - return (C) m; + return clazz.cast(m); } } diff --git a/src/main/java/asylum/nursebot/loader/ModuleLoader.java b/src/main/java/asylum/nursebot/loader/ModuleLoader.java index e8b38a9..c386dba 100644 --- a/src/main/java/asylum/nursebot/loader/ModuleLoader.java +++ b/src/main/java/asylum/nursebot/loader/ModuleLoader.java @@ -5,9 +5,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Set; -import asylum.nursebot.utils.log.Logger; -import org.reflections.Reflections; - import com.google.inject.Guice; import com.google.inject.Injector; @@ -15,9 +12,8 @@ import asylum.nursebot.NurseNoakes; import asylum.nursebot.commands.CommandHandler; import asylum.nursebot.objects.Module; import asylum.nursebot.semantics.SemanticsHandler; -import org.reflections.util.ClasspathHelper; -import org.reflections.util.ConfigurationBuilder; -import org.reflections.util.FilterBuilder; +import asylum.nursebot.utils.log.Logger; +import org.reflections.Reflections; public class ModuleLoader { private List providers; @@ -37,25 +33,23 @@ public class ModuleLoader { this.providers.add(new BaseProvider(nurse, commandHandler, semanticsHandler, dependencies)); } - - @SuppressWarnings("unchecked") + public void loadDependencies() { Set> list = reflections.getTypesAnnotatedWith(AutoDependency.class); for (Class clazz : list) { if (Module.class.isAssignableFrom(clazz)) { - dependencyClasses.add((Class) clazz); + dependencyClasses.add(clazz.asSubclass(Module.class)); } } } - - @SuppressWarnings("unchecked") + public void loadModules(ModuleHandler handler) { Injector injector = Guice.createInjector(providers); Set> annotatedClasses = reflections.getTypesAnnotatedWith(AutoModule.class); - Set> dependenciesToLoad = new HashSet>(); - Set> regularModulesToLoad = new HashSet>(); + Set> dependenciesToLoad = new HashSet<>(); + Set> regularModulesToLoad = new HashSet<>(); for (Class clazz : annotatedClasses) { if (!Module.class.isAssignableFrom(clazz)) { @@ -81,7 +75,7 @@ public class ModuleLoader { handler.handle(module); logger.verbose("Adding " + clazz.getCanonicalName() + " as dependency."); - dependencies.put((Class) clazz, module); + dependencies.put(clazz.asSubclass(Module.class), module); } for (Class clazz : regularModulesToLoad) { diff --git a/src/main/java/asylum/nursebot/modules/Appointments.java b/src/main/java/asylum/nursebot/modules/Appointments.java index 061ad1d..105a489 100644 --- a/src/main/java/asylum/nursebot/modules/Appointments.java +++ b/src/main/java/asylum/nursebot/modules/Appointments.java @@ -1,5 +1,6 @@ package asylum.nursebot.modules; +import java.util.Arrays; import java.util.Calendar; import java.util.Collection; import java.util.Date; @@ -203,8 +204,8 @@ public class Appointments implements Module { return; } - boolean abs = "absolut".equals(list.get(1).toLowerCase()) || "absolute".equals(list.get(1).toLowerCase()); - boolean rel = "relativ".equals(list.get(1).toLowerCase()) || "relative".equals(list.get(1).toLowerCase()); + boolean abs = Arrays.asList("absolut", "absolute").contains(list.get(1).toLowerCase()); + boolean rel = Arrays.asList("relativ","relative").contains(list.get(1).toLowerCase()); long time = 0; boolean fail = false; try { diff --git a/src/main/java/asylum/nursebot/modules/Birthdays.java b/src/main/java/asylum/nursebot/modules/Birthdays.java index 81bc28e..448b1e2 100644 --- a/src/main/java/asylum/nursebot/modules/Birthdays.java +++ b/src/main/java/asylum/nursebot/modules/Birthdays.java @@ -11,6 +11,7 @@ import java.util.Random; import java.util.Set; import java.util.Timer; import java.util.TimerTask; +import java.util.concurrent.ThreadLocalRandom; import java.util.stream.Collectors; import com.google.inject.Inject; @@ -142,7 +143,7 @@ public class Birthdays implements Module { logger.debug("Size of congratulations list: " + congratulations.size()); for (BirthdaysCongratulation congratulation : congratulations) { - Random random = new Random(); + Random random = ThreadLocalRandom.current(); String text = String.format(CONGRATULATIONS[random.nextInt(CONGRATULATIONS.length)], StringTools.makeMention(user)); ThreadHelper.ignore(TelegramApiException.class, () -> sender.send(congratulation.getChatId(), text, true)); @@ -250,7 +251,7 @@ public class Birthdays implements Module { return; } - LocalDate date = null; + LocalDate date; try { date = LocalDate.parse(arguments.get(0)); @@ -390,7 +391,7 @@ public class Birthdays implements Module { } c.getSender().reply(builder.toString(), c.getMessage()); - } else if (parameters.get(0).toLowerCase().equals("all")) { + } else if (parameters.get(0).equalsIgnoreCase("all")) { if (!isGroupChat) { c.getSender().reply("Diese Funktion ist nur in Gruppenchats sinnvoll.", c.getMessage()); return; @@ -405,7 +406,7 @@ public class Birthdays implements Module { List congratulations = BirthdaysCongratulation.findByChatId(chat.getId()); - if (congratulations.size() == 0) { + if (congratulations.isEmpty()) { c.getSender().reply("In diesem Chat gratuliere ich im Moment niemandem zum Geburtstag.\nWenn du die erste Person sein willst, denn benutze /enablebirthday.", c.getMessage()); return; } diff --git a/src/main/java/asylum/nursebot/modules/BusinessCards.java b/src/main/java/asylum/nursebot/modules/BusinessCards.java index 1e7027e..8c638b6 100644 --- a/src/main/java/asylum/nursebot/modules/BusinessCards.java +++ b/src/main/java/asylum/nursebot/modules/BusinessCards.java @@ -24,6 +24,7 @@ import asylum.nursebot.persistence.modules.BusinessCardsEntry; import asylum.nursebot.persistence.modules.BusinessCardsField; import asylum.nursebot.utils.StringTools; import org.javalite.activejdbc.Base; +import org.javalite.activejdbc.Model; import org.telegram.telegrambots.meta.api.objects.User; @AutoModule(load=true) @@ -165,13 +166,14 @@ public class BusinessCards implements Module { String cardname = args.get(0); - List tmp = BusinessCardsCard.getByName(cardname, c.getMessage().getFrom().getId().intValue()); + List tmp = BusinessCardsCard.getByName(cardname, + c.getMessage().getFrom().getId()); if (tmp == null || tmp.isEmpty()) { throw new ParsingException("Diese Karte existiert nicht."); } args = args.subList(1, args.size()); - boolean isPublic = args.get(0).toLowerCase().equals("public"); + boolean isPublic = args.get(0).equalsIgnoreCase("public"); if (isPublic) args = args.subList(1, args.size()); @@ -180,7 +182,7 @@ public class BusinessCards implements Module { card.saveIt(); List entries = card.getAll(BusinessCardsEntry.class); - entries.forEach(e -> e.delete()); + entries.forEach(Model::delete); modifyFields(card, args); @@ -211,13 +213,14 @@ public class BusinessCards implements Module { try { String cardname = args.get(0); - List tmp = BusinessCardsCard.getByName(cardname, c.getMessage().getFrom().getId().intValue()); + List tmp = BusinessCardsCard.getByName(cardname, + c.getMessage().getFrom().getId()); if (tmp == null || tmp.isEmpty()) { throw new ParsingException("Es wurde keine Karte mit diesem Namen gefunden."); } BusinessCardsCard card = tmp.get(0); - card.getAll(BusinessCardsEntry.class).forEach(e -> e.delete()); + card.getAll(BusinessCardsEntry.class).forEach(Model::delete); card.delete(); c.getSender().send("Visitenkarte " + cardname + " wurde erfolgreich gelösch."); @@ -236,7 +239,7 @@ public class BusinessCards implements Module { .setAction(c -> { String help = "Synopsis: /showcard CARDNAME"; List args = StringTools.tokenize(c.getParameter()); - if (args.size() < 1) { + if (args.isEmpty()) { c.getSender().send(help); return; } @@ -255,11 +258,6 @@ public class BusinessCards implements Module { List list = card.getAll(BusinessCardsEntry.class); for (BusinessCardsEntry entry : list) { - /*List fields = entry.getAll(BusinessCardsField.class); - if ((fields == null) || fields.isEmpty()) { - throw new WhatTheFuckException("Field object is inconsistent."); - } - BusinessCardsField field = fields.get(0);*/ BusinessCardsField field = entry.parent(BusinessCardsField.class); builder.append(field.getLabel()).append(": "); builder.append(entry.getValue()).append("\n"); @@ -281,7 +279,7 @@ public class BusinessCards implements Module { .setAction(c -> { String help = "Synopsis: /givecard CARDNAME USERNAME"; List args = StringTools.tokenize(c.getParameter()); - if (args.size() < 1) { + if (args.isEmpty()) { c.getSender().send(help); return; } @@ -315,7 +313,8 @@ public class BusinessCards implements Module { builder.append("Visitenkarte ").append(StringTools.makeMention(c.getMessage().getFrom())).append(" ").append(cardname).append(":\n\n"); - List tmp = BusinessCardsCard.getByName(cardname, c.getMessage().getFrom().getId().intValue()); + List tmp = BusinessCardsCard.getByName(cardname, + c.getMessage().getFrom().getId()); if (tmp == null || tmp.isEmpty()) { throw new ParsingException("Diese Visitenkarte existiert nicht.\nNeue Karten können mit /createcard hinzugefügt werden."); } @@ -357,12 +356,13 @@ public class BusinessCards implements Module { .setAction(c -> { String help = "Synopsis: /showcards"; List args = StringTools.tokenize(c.getParameter()); - if (args.size() != 0) { + if (!args.isEmpty()) { c.getSender().send(help); return; } - List tmp = BusinessCardsCard.getByUserid(c.getMessage().getFrom().getId().intValue()); + List tmp = BusinessCardsCard.getByUserid( + c.getMessage().getFrom().getId()); if (tmp == null || tmp.isEmpty()) { c.getSender().send("Keine Visitenkarten gefunden."); return; @@ -435,7 +435,7 @@ public class BusinessCards implements Module { .setAction(c -> { String help = "Synopsis: /showcardfields"; List args = StringTools.tokenize(c.getParameter()); - if (args.size() != 0) { + if (!args.isEmpty()) { c.getSender().send(help); return; } @@ -490,7 +490,7 @@ public class BusinessCards implements Module { throw new NurseException("Es wurde kein Feld mit diesem Namen gefunden."); if ("delete".equals(command)) { - field.getAll(BusinessCardsEntry.class).forEach(e -> e.delete()); + field.getAll(BusinessCardsEntry.class).forEach(Model::delete); field.delete(); c.getSender().send("Das Feld " + name + " wurde erfogreich mit allen Abhängigkiten gelöscht."); } else if ("set".equals(command)) { @@ -523,7 +523,6 @@ public class BusinessCards implements Module { } catch (NurseException e) { Base.rollbackTransaction(); c.getSender().send(help + "\n\n" + e.getMessage()); - return; } })); } diff --git a/src/main/java/asylum/nursebot/modules/Buzzwords.java b/src/main/java/asylum/nursebot/modules/Buzzwords.java index 8016c08..a04a1db 100644 --- a/src/main/java/asylum/nursebot/modules/Buzzwords.java +++ b/src/main/java/asylum/nursebot/modules/Buzzwords.java @@ -1,16 +1,16 @@ package asylum.nursebot.modules; -import asylum.nursebot.NurseNoakes; +import java.util.LinkedList; +import java.util.List; + +import com.google.inject.Inject; + import asylum.nursebot.loader.AutoModule; import asylum.nursebot.modules.buzzwords.Buzzword; import asylum.nursebot.objects.Module; import asylum.nursebot.objects.ModuleType; import asylum.nursebot.semantics.SemanticsHandler; import asylum.nursebot.semantics.WakeWordType; -import com.google.inject.Inject; - -import java.util.LinkedList; -import java.util.List; @AutoModule(load=true) public class Buzzwords implements Module { diff --git a/src/main/java/asylum/nursebot/modules/ConversationStarter.java b/src/main/java/asylum/nursebot/modules/ConversationStarter.java index 520a801..b59172f 100644 --- a/src/main/java/asylum/nursebot/modules/ConversationStarter.java +++ b/src/main/java/asylum/nursebot/modules/ConversationStarter.java @@ -4,6 +4,7 @@ import java.time.Duration; import java.time.Instant; import java.util.Random; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ThreadLocalRandom; import com.google.inject.Inject; @@ -22,9 +23,9 @@ import org.telegram.telegrambots.meta.exceptions.TelegramApiException; @AutoModule(load=true) public class ConversationStarter implements Module { - private final Duration SLEEP_TIME = Duration.ofSeconds(30); - private final Duration IDLE_TIME = Duration.ofHours(7); - private final String[] STARTERS = { + private static final Duration SLEEP_TIME = Duration.ofSeconds(30); + private static final Duration IDLE_TIME = Duration.ofHours(7); + private static final String[] STARTERS = { "Mir fällt gerade auf: Alles, was ich jemals sagen werde, ist durch mein Programm vorherbestimmt.\n" + "Ob sich wohl die ganze Welt so verhält?", @@ -214,7 +215,7 @@ public class ConversationStarter implements Module { Long chatid = c.getMessage().getChat().getId(); if (!lastMessages.containsKey(chatid)) { new Thread(() -> { - Random random = new Random(); + Random random = ThreadLocalRandom.current(); while(true) { ThreadHelper.ignore(InterruptedException.class, () -> Thread.sleep(SLEEP_TIME.toMillis())); if (!active) diff --git a/src/main/java/asylum/nursebot/modules/Dices.java b/src/main/java/asylum/nursebot/modules/Dices.java index 9309f19..66c29fb 100644 --- a/src/main/java/asylum/nursebot/modules/Dices.java +++ b/src/main/java/asylum/nursebot/modules/Dices.java @@ -135,7 +135,7 @@ public class Dices implements Module { throw new NurseException("Synopsis: /dice {[ANZAHL.]WÜRFEL}"); } } - if (dices.size() == 0) + if (dices.isEmpty()) throw new NurseException("Mathematisch gesehen gibt es für das Ergebnis nur eine Möglichkeit, wenn man mit gar keinen Würfel spielt. Nämlich das da:"); if (dices.size() > 10) throw new NurseException("*stolpert, und verteilt " + dices.size() + " Würfel auf dem Boden*\nOh nein... \uD83D\uDE1E"); @@ -165,7 +165,8 @@ public class Dices implements Module { builder.append(", "); } dice.roll(); - builder.append(dice.display() + " (" + dice.toString() + ")"); + builder.append(dice.display()).append(" (").append(dice.toString()) + .append(")"); } } @@ -191,7 +192,7 @@ public class Dices implements Module { tokens.remove(0); - if (tokens.size() > 0) { + if (!tokens.isEmpty()) { Number[] parameters = new Number[tokens.size()]; for (int i = 0; i < tokens.size(); i++) { String tmp = tokens.get(i); diff --git a/src/main/java/asylum/nursebot/modules/Eastereggs.java b/src/main/java/asylum/nursebot/modules/Eastereggs.java index 5f10137..024228d 100644 --- a/src/main/java/asylum/nursebot/modules/Eastereggs.java +++ b/src/main/java/asylum/nursebot/modules/Eastereggs.java @@ -2,6 +2,7 @@ package asylum.nursebot.modules; import java.util.Calendar; import java.util.Random; +import java.util.concurrent.ThreadLocalRandom; import com.google.inject.Inject; @@ -109,7 +110,7 @@ public class Eastereggs implements Module { "Gern geschehen.", "Hab ich gerne gemacht." }; - Random random = new Random(); + Random random = ThreadLocalRandom.current(); c.getSender().reply(replys[random.nextInt(replys.length)], c.getMessage()); })); @@ -126,7 +127,7 @@ public class Eastereggs implements Module { "Heast!" }; - Random random = new Random(); + Random random = ThreadLocalRandom.current(); c.getSender().reply(replys[random.nextInt(replys.length)], c.getMessage()); })); @@ -152,7 +153,7 @@ public class Eastereggs implements Module { if (!(hour < 2 || hour > 21)) return; - Random random = new Random(); + Random random = ThreadLocalRandom.current(); c.getSender().reply(replys[random.nextInt(replys.length)], c.getMessage()); })); } diff --git a/src/main/java/asylum/nursebot/modules/PrivateNotifier.java b/src/main/java/asylum/nursebot/modules/PrivateNotifier.java index 4540cd1..1ca35ab 100644 --- a/src/main/java/asylum/nursebot/modules/PrivateNotifier.java +++ b/src/main/java/asylum/nursebot/modules/PrivateNotifier.java @@ -127,7 +127,7 @@ public class PrivateNotifier implements Module { if (!chats.contains(user.getId())) { return; } - chats.remove(new Long(user.getId())); + chats.remove(user.getId()); PrivateNotifierChat chat = PrivateNotifierChat.find(user.getId()); chat.delete(); } diff --git a/src/main/java/asylum/nursebot/modules/RandomHugs.java b/src/main/java/asylum/nursebot/modules/RandomHugs.java index b9ec503..7b75359 100644 --- a/src/main/java/asylum/nursebot/modules/RandomHugs.java +++ b/src/main/java/asylum/nursebot/modules/RandomHugs.java @@ -80,7 +80,7 @@ public class RandomHugs implements Module { if (properties.next.compareTo(Calendar.getInstance()) < 0) { List users = new LinkedList(properties.users.values()); - if (users.size() != 0) { + if (!users.isEmpty()) { User user = users.get(random.nextInt(users.size())); ThreadHelper.ignore( TelegramApiException.class, () -> sender.mention(user, "\\*random hug\\*")); diff --git a/src/main/java/asylum/nursebot/modules/Statistics.java b/src/main/java/asylum/nursebot/modules/Statistics.java index 0156cea..dab3278 100644 --- a/src/main/java/asylum/nursebot/modules/Statistics.java +++ b/src/main/java/asylum/nursebot/modules/Statistics.java @@ -129,8 +129,6 @@ public class Statistics implements Module { chart.setSize(600, 450); chart.setTitle(title, Color.WHITE, 14); - //chart.addHorizontalRangeMarker(40, 60, Color.newColor(Color.RED, 30)); - //chart.addVerticalRangeMarker(70, 90, Color.newColor(Color.GREEN, 30)); double xgrid = 100 / (double) (xLabels.length - 1); while (xgrid < 10) diff --git a/src/main/java/asylum/nursebot/modules/UserDetails.java b/src/main/java/asylum/nursebot/modules/UserDetails.java index 0608ed6..9ff0c0f 100644 --- a/src/main/java/asylum/nursebot/modules/UserDetails.java +++ b/src/main/java/asylum/nursebot/modules/UserDetails.java @@ -73,7 +73,7 @@ public class UserDetails implements Module { c.getSender().reply(synopsis, c.getMessage()); return; } - if (users.size() < 1) { + if (users.isEmpty()) { c.getSender().reply("Der User wurde nicht gefunden. Möglicherweise ist er noch nicht vom UserLookup erfasst.", c.getMessage()); return; } @@ -116,7 +116,7 @@ public class UserDetails implements Module { c.getSender().reply("Bitte nicht so viele auf einmal.", c.getMessage()); return; } - if (users.size() == 0) { + if (users.isEmpty()) { c.getSender().reply("Diese User kenne ich nicht.", c.getMessage()); return; } @@ -141,7 +141,7 @@ public class UserDetails implements Module { okay = true; builder.append("von "); - if (infoAuthor.getId() == author.getId()) { + if (infoAuthor.getId().equals(author.getId())) { builder.append("dir"); } else { builder.append(infoAuthor.getFirstName()); diff --git a/src/main/java/asylum/nursebot/modules/birthdays/Privacy.java b/src/main/java/asylum/nursebot/modules/birthdays/Privacy.java index 0068f53..e9b6d04 100644 --- a/src/main/java/asylum/nursebot/modules/birthdays/Privacy.java +++ b/src/main/java/asylum/nursebot/modules/birthdays/Privacy.java @@ -24,7 +24,7 @@ public enum Privacy { public static Privacy fromString(String name) { name = name.toLowerCase().replace('-', '_'); for (Privacy privacy : Privacy.values()) { - if (privacy.name().toLowerCase().equals(name)) + if (privacy.name().equalsIgnoreCase(name)) return privacy; } return null; diff --git a/src/main/java/asylum/nursebot/modules/buzzwords/Buzzword.java b/src/main/java/asylum/nursebot/modules/buzzwords/Buzzword.java index 817452c..d947c9f 100644 --- a/src/main/java/asylum/nursebot/modules/buzzwords/Buzzword.java +++ b/src/main/java/asylum/nursebot/modules/buzzwords/Buzzword.java @@ -2,6 +2,7 @@ package asylum.nursebot.modules.buzzwords; import java.util.Arrays; import java.util.Random; +import java.util.concurrent.ThreadLocalRandom; import java.util.stream.Collectors; import asylum.nursebot.objects.Locality; @@ -100,7 +101,8 @@ public class Buzzword extends SemanticInterpreter implements SemanticAction { @Override public void action(SemanticContext context) { - Random random = new Random(); + + Random random = ThreadLocalRandom.current(); if (random.nextDouble() >= chance) return; diff --git a/src/main/java/asylum/nursebot/modules/dices/D12.java b/src/main/java/asylum/nursebot/modules/dices/D12.java index ba6b1d0..151857d 100644 --- a/src/main/java/asylum/nursebot/modules/dices/D12.java +++ b/src/main/java/asylum/nursebot/modules/dices/D12.java @@ -3,6 +3,6 @@ package asylum.nursebot.modules.dices; public class D12 extends StandardDice { public D12() { - super(5); + super(12); } } diff --git a/src/main/java/asylum/nursebot/modules/dices/D6.java b/src/main/java/asylum/nursebot/modules/dices/D6.java index 57fb2d8..e56ccb4 100644 --- a/src/main/java/asylum/nursebot/modules/dices/D6.java +++ b/src/main/java/asylum/nursebot/modules/dices/D6.java @@ -5,7 +5,7 @@ public class D6 extends StandardDice { super(6); } - private final String[] images = {"⚀", "⚁", "⚂", "⚃", "⚄", "⚅"}; + private static final String[] images = {"⚀", "⚁", "⚂", "⚃", "⚄", "⚅"}; @Override public String display() { diff --git a/src/main/java/asylum/nursebot/persistence/Connector.java b/src/main/java/asylum/nursebot/persistence/Connector.java index 8569537..5676e4f 100644 --- a/src/main/java/asylum/nursebot/persistence/Connector.java +++ b/src/main/java/asylum/nursebot/persistence/Connector.java @@ -48,7 +48,7 @@ public class Connector { logger.exception(e1); try { Base.close(); - } catch (Exception e2) { + } catch (Exception ignored) { } connect(); } diff --git a/src/main/java/asylum/nursebot/persistence/modules/NurseModule.java b/src/main/java/asylum/nursebot/persistence/modules/NurseModule.java index 1c1c2be..7558664 100644 --- a/src/main/java/asylum/nursebot/persistence/modules/NurseModule.java +++ b/src/main/java/asylum/nursebot/persistence/modules/NurseModule.java @@ -22,7 +22,7 @@ public class NurseModule extends Model implements Selfbuilding { static public NurseModule byName(String name) { List list = NurseModule.where("module = ?", name); - if (list == null || list.size() == 0) + if (list == null || list.isEmpty()) return null; return list.get(0); } diff --git a/src/main/java/asylum/nursebot/persistence/modules/PrivateNotifierChat.java b/src/main/java/asylum/nursebot/persistence/modules/PrivateNotifierChat.java index 806b44d..fe5b69a 100644 --- a/src/main/java/asylum/nursebot/persistence/modules/PrivateNotifierChat.java +++ b/src/main/java/asylum/nursebot/persistence/modules/PrivateNotifierChat.java @@ -22,7 +22,7 @@ public class PrivateNotifierChat extends Model implements Selfbuilding { public static PrivateNotifierChat find(long userid) { List list = NurseModule.where("userid = ?", userid); - if (list == null || list.size() == 0) + if (list == null || list.isEmpty()) return null; return list.get(0); } diff --git a/src/main/java/asylum/nursebot/utils/log/Logger.java b/src/main/java/asylum/nursebot/utils/log/Logger.java index 3ebb1af..80dc33e 100644 --- a/src/main/java/asylum/nursebot/utils/log/Logger.java +++ b/src/main/java/asylum/nursebot/utils/log/Logger.java @@ -9,6 +9,9 @@ public abstract class Logger { public final static int EXCEPTION = 3; public final static int CRITICAL = 4; + public static final String END_ANSI = "\033[0m"; + public static final String BLINK = "\033[1m"; + protected final static int DEFAULT_VERBOSITY = INFO; protected enum LogColor { @@ -25,11 +28,11 @@ public abstract class Logger { } public String endANSI() { - return "\033[0m"; + return END_ANSI; } public String blink() { - return "\033[1m"; + return BLINK; } }