Abstract Messages into two layers; move to new 'output' package

- Abstract Messages into two layers: the top layer 'Messages' is how Messages can be retrieved and sent as before. In the background, package-private, MessagesManager actually does the file read and worries about I/O while Messages takes care of higher-level things (such as joining two lines or checking the current language).
This commit is contained in:
ljacqu
2015-12-01 21:45:02 +01:00
parent 2550e04112
commit 690a8d67a3
41 changed files with 213 additions and 190 deletions
@@ -4,8 +4,8 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ReflectionTestUtils;
import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.output.MessageKey;
import fr.xephi.authme.output.Messages;
import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.ChangePasswordTask;
import fr.xephi.authme.util.WrapperMock;
@@ -2,8 +2,8 @@ package fr.xephi.authme.command.executable.register;
import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.process.Management;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.output.MessageKey;
import fr.xephi.authme.output.Messages;
import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.util.WrapperMock;
import org.bukkit.command.BlockCommandSender;
@@ -1,4 +1,4 @@
package fr.xephi.authme.settings;
package fr.xephi.authme.output;
import fr.xephi.authme.util.StringUtils;
import org.junit.Test;
@@ -1,5 +1,6 @@
package fr.xephi.authme.settings;
package fr.xephi.authme.output;
import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.util.WrapperMock;
import org.bukkit.entity.Player;
import org.junit.Before;
@@ -18,7 +19,7 @@ import static org.mockito.Mockito.verify;
/**
* Test for {@link Messages}.
*/
public class MessagesTest {
public class MessagesIntegrationTest {
private static final String YML_TEST_FILE = "messages_test.yml";
private Messages messages;
@@ -38,8 +39,9 @@ public class MessagesTest {
throw new RuntimeException("File '" + YML_TEST_FILE + "' could not be loaded");
}
File file = new File(url.getFile());
messages = new Messages(file, "en");
Settings.messageFile = new File(url.getFile());
Settings.messagesLanguage = "en";
messages = Messages.getInstance();
}
@Test
@@ -2,7 +2,7 @@ package fr.xephi.authme.util;
import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.output.Messages;
import org.bukkit.Server;
import org.bukkit.scheduler.BukkitScheduler;
import org.mockito.Mockito;