diff --git a/src/main/java/net/thauvin/erik/mobibot/modules/CurrencyConverter.java b/src/main/java/net/thauvin/erik/mobibot/modules/CurrencyConverter.java index ecf59ff..bd5664f 100644 --- a/src/main/java/net/thauvin/erik/mobibot/modules/CurrencyConverter.java +++ b/src/main/java/net/thauvin/erik/mobibot/modules/CurrencyConverter.java @@ -36,7 +36,7 @@ import net.thauvin.erik.mobibot.Mobibot; import net.thauvin.erik.mobibot.Utils; import net.thauvin.erik.mobibot.msg.ErrorMessage; import net.thauvin.erik.mobibot.msg.Message; -import net.thauvin.erik.mobibot.msg.PrivateMessage; +import net.thauvin.erik.mobibot.msg.NoticeMessage; import net.thauvin.erik.mobibot.msg.PublicMessage; import org.jdom2.Document; import org.jdom2.Element; @@ -157,7 +157,7 @@ public final class CurrencyConverter extends AbstractModule { i++; } - return new PrivateMessage(buff.toString()); + return new NoticeMessage(buff.toString()); } } return new ErrorMessage("The supported currencies are: " + EXCHANGE_RATES.keySet().toString()); @@ -205,7 +205,7 @@ public final class CurrencyConverter extends AbstractModule { if (msg.isError()) { helpResponse(bot, sender, CURRENCY_CMD + ' ' + query, true); } - bot.send(msg.isPrivate() ? sender : bot.getChannel(), msg.getMessage()); + bot.send(msg.isNotice() ? sender : bot.getChannel(), msg.getMessage()); } catch (ModuleException e) { bot.getLogger().warn(e.getDebugMessage(), e); bot.send(sender, e.getMessage()); diff --git a/src/main/java/net/thauvin/erik/mobibot/modules/StockQuote.java b/src/main/java/net/thauvin/erik/mobibot/modules/StockQuote.java index 0eb67f0..115916e 100644 --- a/src/main/java/net/thauvin/erik/mobibot/modules/StockQuote.java +++ b/src/main/java/net/thauvin/erik/mobibot/modules/StockQuote.java @@ -35,7 +35,7 @@ import net.thauvin.erik.mobibot.Mobibot; import net.thauvin.erik.mobibot.Utils; import net.thauvin.erik.mobibot.msg.ErrorMessage; import net.thauvin.erik.mobibot.msg.Message; -import net.thauvin.erik.mobibot.msg.PrivateMessage; +import net.thauvin.erik.mobibot.msg.NoticeMessage; import net.thauvin.erik.mobibot.msg.PublicMessage; import okhttp3.OkHttpClient; import okhttp3.Request; @@ -107,11 +107,11 @@ public final class StockQuote extends AbstractModule { throw new ModuleException(debugMessage, Utils.unescapeXml(error)); } } catch (JSONException ignore) { - // Do nothing. + // Do nothing. } final JSONObject quote = json.getJSONObject("Global Quote"); - + if (quote.isEmpty()) { messages.add(new ErrorMessage("Invalid symbol.")); return messages; @@ -122,13 +122,13 @@ public final class StockQuote extends AbstractModule { messages.add(new PublicMessage(" Price: " + Utils.unescapeXml(quote.getString("05. price")))); messages.add(new PublicMessage(" Previous: " + Utils.unescapeXml(quote.getString("08. previous close")))); - messages.add(new PrivateMessage(" Open: " + Utils.unescapeXml(quote.getString("02. open")))); - messages.add(new PrivateMessage(" High: " + Utils.unescapeXml(quote.getString("03. high")))); - messages.add(new PrivateMessage(" Low: " + Utils.unescapeXml(quote.getString("04. low")))); - messages.add(new PrivateMessage(" Volume: " + Utils.unescapeXml(quote.getString("06. volume")))); - messages.add(new PrivateMessage(" Latest: " + messages.add(new NoticeMessage(" Open: " + Utils.unescapeXml(quote.getString("02. open")))); + messages.add(new NoticeMessage(" High: " + Utils.unescapeXml(quote.getString("03. high")))); + messages.add(new NoticeMessage(" Low: " + Utils.unescapeXml(quote.getString("04. low")))); + messages.add(new NoticeMessage(" Volume: " + Utils.unescapeXml(quote.getString("06. volume")))); + messages.add(new NoticeMessage(" Latest: " + Utils.unescapeXml(quote.getString("07. latest trading day")))); - messages.add(new PrivateMessage(" Change: " + Utils.unescapeXml(quote.getString("09. change")) + messages.add(new NoticeMessage(" Change: " + Utils.unescapeXml(quote.getString("09. change")) + " [" + Utils.unescapeXml(quote.getString("10. change percent")) + ']')); } catch (IOException e) { throw new ModuleException(debugMessage, "An error has occurred retrieving a stock quote.", e); @@ -165,11 +165,7 @@ public final class StockQuote extends AbstractModule { final ArrayList messages = getQuote(symbol, properties.get(ALPHAVANTAGE_API_KEY_PROP)); for (Message msg : messages) { - if (msg.isPrivate() || msg.isError()) { - bot.send(sender, msg.getMessage()); - } else { - bot.send(bot.getChannel(), msg.getMessage()); - } + bot.send(msg.isNoticeOrError() ? sender : bot.getChannel(), msg.getMessage()); } } catch (ModuleException e) { diff --git a/src/main/java/net/thauvin/erik/mobibot/msg/Message.java b/src/main/java/net/thauvin/erik/mobibot/msg/Message.java index 4217d37..3e799f5 100644 --- a/src/main/java/net/thauvin/erik/mobibot/msg/Message.java +++ b/src/main/java/net/thauvin/erik/mobibot/msg/Message.java @@ -40,7 +40,7 @@ package net.thauvin.erik.mobibot.msg; */ public class Message { private boolean isError; - private boolean isPrivate; + private boolean isNotice; private String msg = ""; /** @@ -53,12 +53,12 @@ public class Message { /** * Creates a new message. * - * @param message The message. - * @param isPrivate The private flag. + * @param message The message. + * @param isNotice The notice flag. */ - public Message(String message, boolean isPrivate, boolean isError) { + public Message(String message, boolean isNotice, boolean isError) { msg = message; - this.isPrivate = isPrivate; + this.isNotice = isNotice; this.isError = isError; } @@ -99,20 +99,29 @@ public class Message { } /** - * Returns the private message flag. + * Returns the message notice flag. * - * @return The private flag. + * @return The notice flag. */ - public boolean isPrivate() { - return isPrivate; + public boolean isNotice() { + return isNotice; } /** - * Set the private message flag. + * Set the message notice flag. * - * @param isPrivate The private flag. + * @param isNotice The notice flag. */ - public void setPrivate(boolean isPrivate) { - this.isPrivate = isPrivate; + public void setNotice(boolean isNotice) { + this.isNotice = isNotice; + } + + /** + * Returns true if the message is an error or a notice. + * + * @return true or false + */ + public boolean isNoticeOrError() { + return (isNotice || isError); } } diff --git a/src/main/java/net/thauvin/erik/mobibot/msg/NoticeMessage.java b/src/main/java/net/thauvin/erik/mobibot/msg/NoticeMessage.java index 45cdb4b..d8f016a 100644 --- a/src/main/java/net/thauvin/erik/mobibot/msg/NoticeMessage.java +++ b/src/main/java/net/thauvin/erik/mobibot/msg/NoticeMessage.java @@ -32,15 +32,15 @@ package net.thauvin.erik.mobibot.msg; /** - * The PrivateMessage class. + * The NoticeMessage class. * * @author Erik C. Thauvin * @created 2019-04-07 * @since 1.0 */ -public class PrivateMessage extends Message { - public PrivateMessage(String message) { +public class NoticeMessage extends Message { + public NoticeMessage(String message) { this.setMessage(message); - this.setPrivate(true); + this.setNotice(true); } } diff --git a/src/main/java/net/thauvin/erik/mobibot/msg/PublicMessage.java b/src/main/java/net/thauvin/erik/mobibot/msg/PublicMessage.java index 5fcc1e5..af10e94 100644 --- a/src/main/java/net/thauvin/erik/mobibot/msg/PublicMessage.java +++ b/src/main/java/net/thauvin/erik/mobibot/msg/PublicMessage.java @@ -41,6 +41,6 @@ package net.thauvin.erik.mobibot.msg; public class PublicMessage extends Message { public PublicMessage(String message) { this.setMessage(message); - this.setPrivate(false); + this.setNotice(false); } } diff --git a/src/test/java/net/thauvin/erik/mobibot/modules/CurrentConverterTest.java b/src/test/java/net/thauvin/erik/mobibot/modules/CurrentConverterTest.java index 4b0ebc3..fb2869d 100644 --- a/src/test/java/net/thauvin/erik/mobibot/modules/CurrentConverterTest.java +++ b/src/test/java/net/thauvin/erik/mobibot/modules/CurrentConverterTest.java @@ -57,8 +57,8 @@ public class CurrentConverterTest { public void testConvertCurrency() throws ModuleException { assertThat(CurrencyConverter.convertCurrency("100 USD to EUR").getMessage()) .as("100 USD to EUR").startsWith("100.00 USD = "); - assertThat(CurrencyConverter.convertCurrency(CurrencyConverter.CURRENCY_RATES_KEYWORD).isPrivate()) - .as(CurrencyConverter.CURRENCY_RATES_KEYWORD + " is private").isTrue(); + assertThat(CurrencyConverter.convertCurrency(CurrencyConverter.CURRENCY_RATES_KEYWORD).isNotice()) + .as(CurrencyConverter.CURRENCY_RATES_KEYWORD + " is notice").isTrue(); assertThat(CurrencyConverter.convertCurrency(CurrencyConverter.CURRENCY_RATES_KEYWORD).getMessage()) .as(CurrencyConverter.CURRENCY_RATES_KEYWORD).contains("USD: "); }