Refactor ProgressLogger slightly

This commit is contained in:
Luck 2018-12-19 10:39:48 +00:00
parent 6d8077ffd0
commit e3a6db5f97
No known key found for this signature in database
GPG Key ID: EFA9B3EC5FD90F8B
9 changed files with 50 additions and 44 deletions

View File

@ -39,6 +39,7 @@ import me.lucko.luckperms.common.command.access.CommandPermission;
import me.lucko.luckperms.common.commands.migration.MigrationUtils; import me.lucko.luckperms.common.commands.migration.MigrationUtils;
import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.LocaleManager;
import me.lucko.luckperms.common.locale.command.CommandSpec; import me.lucko.luckperms.common.locale.command.CommandSpec;
import me.lucko.luckperms.common.locale.message.Message;
import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Group;
import me.lucko.luckperms.common.model.PermissionHolder; import me.lucko.luckperms.common.model.PermissionHolder;
import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.model.User;
@ -77,7 +78,7 @@ public class MigrationBPermissions extends SubCommand<Object> {
@Override @Override
public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) { public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) {
ProgressLogger log = new ProgressLogger("bPermissions"); ProgressLogger log = new ProgressLogger(Message.MIGRATION_LOG, Message.MIGRATION_LOG_PROGRESS, "bPermissions");
log.addListener(plugin.getConsoleSender()); log.addListener(plugin.getConsoleSender());
log.addListener(sender); log.addListener(sender);
@ -117,7 +118,7 @@ public class MigrationBPermissions extends SubCommand<Object> {
AtomicInteger userLoadCount = new AtomicInteger(0); AtomicInteger userLoadCount = new AtomicInteger(0);
for (String user : users) { for (String user : users) {
world.loadOne(user, CalculableType.USER); world.loadOne(user, CalculableType.USER);
log.logProgress("Forcefully loaded {} users so far.", userLoadCount.incrementAndGet()); log.logProgress("Forcefully loaded {} users so far.", userLoadCount.incrementAndGet(), ProgressLogger.DEFAULT_NOTIFY_FREQUENCY);
} }
} }
log.log("Forcefully loaded all users."); log.log("Forcefully loaded all users.");
@ -168,7 +169,7 @@ public class MigrationBPermissions extends SubCommand<Object> {
plugin.getStorage().saveUser(lpUser); plugin.getStorage().saveUser(lpUser);
plugin.getUserManager().cleanup(lpUser); plugin.getUserManager().cleanup(lpUser);
log.logProgress("Migrated {} users so far.", userCount.incrementAndGet()); log.logProgress("Migrated {} users so far.", userCount.incrementAndGet(), ProgressLogger.DEFAULT_NOTIFY_FREQUENCY);
}); });
log.log("Migrated " + userCount.get() + " users in world " + world.getName() + "."); log.log("Migrated " + userCount.get() + " users in world " + world.getName() + ".");

View File

@ -34,6 +34,7 @@ import me.lucko.luckperms.common.command.access.CommandPermission;
import me.lucko.luckperms.common.commands.migration.MigrationUtils; import me.lucko.luckperms.common.commands.migration.MigrationUtils;
import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.LocaleManager;
import me.lucko.luckperms.common.locale.command.CommandSpec; import me.lucko.luckperms.common.locale.command.CommandSpec;
import me.lucko.luckperms.common.locale.message.Message;
import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Group;
import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.model.User;
import me.lucko.luckperms.common.model.UserIdentifier; import me.lucko.luckperms.common.model.UserIdentifier;
@ -70,7 +71,7 @@ public class MigrationGroupManager extends SubCommand<Object> {
@Override @Override
public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) { public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) {
ProgressLogger log = new ProgressLogger("GroupManager"); ProgressLogger log = new ProgressLogger(Message.MIGRATION_LOG, Message.MIGRATION_LOG_PROGRESS, "GroupManager");
log.addListener(plugin.getConsoleSender()); log.addListener(plugin.getConsoleSender());
log.addListener(sender); log.addListener(sender);
@ -210,7 +211,7 @@ public class MigrationGroupManager extends SubCommand<Object> {
} }
} }
log.logProgress("Migrated {} users so far in world " + world, userWorldCount.incrementAndGet()); log.logProgress("Migrated {} users so far in world " + world, userWorldCount.incrementAndGet(), ProgressLogger.DEFAULT_NOTIFY_FREQUENCY);
}); });
log.log("Migrated " + userWorldCount.get() + " users in world " + world); log.log("Migrated " + userWorldCount.get() + " users in world " + world);
}); });
@ -250,7 +251,7 @@ public class MigrationGroupManager extends SubCommand<Object> {
plugin.getStorage().saveUser(user); plugin.getStorage().saveUser(user);
plugin.getUserManager().cleanup(user); plugin.getUserManager().cleanup(user);
log.logProgress("Migrated {} users so far.", userCount.incrementAndGet()); log.logProgress("Migrated {} users so far.", userCount.incrementAndGet(), ProgressLogger.DEFAULT_NOTIFY_FREQUENCY);
}); });
log.log("Migrated " + userCount.get() + " users."); log.log("Migrated " + userCount.get() + " users.");

View File

@ -34,6 +34,7 @@ import me.lucko.luckperms.common.command.access.CommandPermission;
import me.lucko.luckperms.common.commands.migration.MigrationUtils; import me.lucko.luckperms.common.commands.migration.MigrationUtils;
import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.LocaleManager;
import me.lucko.luckperms.common.locale.command.CommandSpec; import me.lucko.luckperms.common.locale.command.CommandSpec;
import me.lucko.luckperms.common.locale.message.Message;
import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Group;
import me.lucko.luckperms.common.model.PermissionHolder; import me.lucko.luckperms.common.model.PermissionHolder;
import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.model.User;
@ -59,7 +60,7 @@ public class MigrationPermissionsBukkit extends SubCommand<Object> {
@Override @Override
public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) { public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) {
ProgressLogger log = new ProgressLogger("PermissionsBukkit"); ProgressLogger log = new ProgressLogger(Message.MIGRATION_LOG, Message.MIGRATION_LOG_PROGRESS, "PermissionsBukkit");
log.addListener(plugin.getConsoleSender()); log.addListener(plugin.getConsoleSender());
log.addListener(sender); log.addListener(sender);
@ -114,7 +115,7 @@ public class MigrationPermissionsBukkit extends SubCommand<Object> {
plugin.getUserManager().cleanup(lpUser); plugin.getUserManager().cleanup(lpUser);
plugin.getStorage().saveUser(lpUser); plugin.getStorage().saveUser(lpUser);
log.logProgress("Migrated {} users so far.", userCount.incrementAndGet()); log.logProgress("Migrated {} users so far.", userCount.incrementAndGet(), ProgressLogger.DEFAULT_NOTIFY_FREQUENCY);
}); });
log.log("Migrated " + userCount.get() + " users."); log.log("Migrated " + userCount.get() + " users.");

View File

@ -34,6 +34,7 @@ import me.lucko.luckperms.common.command.access.CommandPermission;
import me.lucko.luckperms.common.commands.migration.MigrationUtils; import me.lucko.luckperms.common.commands.migration.MigrationUtils;
import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.LocaleManager;
import me.lucko.luckperms.common.locale.command.CommandSpec; import me.lucko.luckperms.common.locale.command.CommandSpec;
import me.lucko.luckperms.common.locale.message.Message;
import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Group;
import me.lucko.luckperms.common.model.PermissionHolder; import me.lucko.luckperms.common.model.PermissionHolder;
import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.model.Track;
@ -93,7 +94,7 @@ public class MigrationPermissionsEx extends SubCommand<Object> {
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
@Override @Override
public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) { public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) {
ProgressLogger log = new ProgressLogger("PermissionsEx"); ProgressLogger log = new ProgressLogger(Message.MIGRATION_LOG, Message.MIGRATION_LOG_PROGRESS, "PermissionsEx");
log.addListener(plugin.getConsoleSender()); log.addListener(plugin.getConsoleSender());
log.addListener(sender); log.addListener(sender);
@ -176,7 +177,7 @@ public class MigrationPermissionsEx extends SubCommand<Object> {
plugin.getUserManager().cleanup(lpUser); plugin.getUserManager().cleanup(lpUser);
plugin.getStorage().saveUser(lpUser); plugin.getStorage().saveUser(lpUser);
log.logProgress("Migrated {} users so far.", userCount.incrementAndGet()); log.logProgress("Migrated {} users so far.", userCount.incrementAndGet(), ProgressLogger.DEFAULT_NOTIFY_FREQUENCY);
}); });
log.log("Migrated " + userCount.get() + " users."); log.log("Migrated " + userCount.get() + " users.");

View File

@ -42,6 +42,7 @@ import me.lucko.luckperms.common.commands.migration.MigrationUtils;
import me.lucko.luckperms.common.config.ConfigKeys; import me.lucko.luckperms.common.config.ConfigKeys;
import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.LocaleManager;
import me.lucko.luckperms.common.locale.command.CommandSpec; import me.lucko.luckperms.common.locale.command.CommandSpec;
import me.lucko.luckperms.common.locale.message.Message;
import me.lucko.luckperms.common.model.PermissionHolder; import me.lucko.luckperms.common.model.PermissionHolder;
import me.lucko.luckperms.common.model.User; import me.lucko.luckperms.common.model.User;
import me.lucko.luckperms.common.node.factory.NodeFactory; import me.lucko.luckperms.common.node.factory.NodeFactory;
@ -77,7 +78,7 @@ public class MigrationPowerfulPerms extends SubCommand<Object> {
@Override @Override
public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) { public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) {
ProgressLogger log = new ProgressLogger("PowerfulPerms"); ProgressLogger log = new ProgressLogger(Message.MIGRATION_LOG, Message.MIGRATION_LOG_PROGRESS, "PowerfulPerms");
log.addListener(plugin.getConsoleSender()); log.addListener(plugin.getConsoleSender());
log.addListener(sender); log.addListener(sender);
@ -264,7 +265,7 @@ public class MigrationPowerfulPerms extends SubCommand<Object> {
plugin.getUserManager().cleanup(user); plugin.getUserManager().cleanup(user);
plugin.getStorage().saveUser(user); plugin.getStorage().saveUser(user);
log.logProgress("Migrated {} users so far.", userCount.incrementAndGet()); log.logProgress("Migrated {} users so far.", userCount.incrementAndGet(), ProgressLogger.DEFAULT_NOTIFY_FREQUENCY);
}); });
log.log("Migrated " + userCount.get() + " users."); log.log("Migrated " + userCount.get() + " users.");

View File

@ -34,6 +34,7 @@ import me.lucko.luckperms.common.command.access.CommandPermission;
import me.lucko.luckperms.common.commands.migration.MigrationUtils; import me.lucko.luckperms.common.commands.migration.MigrationUtils;
import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.LocaleManager;
import me.lucko.luckperms.common.locale.command.CommandSpec; import me.lucko.luckperms.common.locale.command.CommandSpec;
import me.lucko.luckperms.common.locale.message.Message;
import me.lucko.luckperms.common.model.Group; import me.lucko.luckperms.common.model.Group;
import me.lucko.luckperms.common.model.PermissionHolder; import me.lucko.luckperms.common.model.PermissionHolder;
import me.lucko.luckperms.common.model.Track; import me.lucko.luckperms.common.model.Track;
@ -70,7 +71,7 @@ public class MigrationZPermissions extends SubCommand<Object> {
@Override @Override
public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) { public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) {
ProgressLogger log = new ProgressLogger("zPermissions"); ProgressLogger log = new ProgressLogger(Message.MIGRATION_LOG, Message.MIGRATION_LOG_PROGRESS, "zPermissions");
log.addListener(plugin.getConsoleSender()); log.addListener(plugin.getConsoleSender());
log.addListener(sender); log.addListener(sender);
@ -182,7 +183,7 @@ public class MigrationZPermissions extends SubCommand<Object> {
plugin.getUserManager().cleanup(user); plugin.getUserManager().cleanup(user);
plugin.getStorage().saveUser(user); plugin.getStorage().saveUser(user);
log.logProgress("Migrated {} users so far.", userCount.incrementAndGet()); log.logProgress("Migrated {} users so far.", userCount.incrementAndGet(), ProgressLogger.DEFAULT_NOTIFY_FREQUENCY);
}); });
log.log("Migrated " + userCount.get() + " users."); log.log("Migrated " + userCount.get() + " users.");

View File

@ -32,6 +32,7 @@ import me.lucko.luckperms.common.command.access.CommandPermission;
import me.lucko.luckperms.common.commands.migration.MigrationUtils; import me.lucko.luckperms.common.commands.migration.MigrationUtils;
import me.lucko.luckperms.common.locale.LocaleManager; import me.lucko.luckperms.common.locale.LocaleManager;
import me.lucko.luckperms.common.locale.command.CommandSpec; import me.lucko.luckperms.common.locale.command.CommandSpec;
import me.lucko.luckperms.common.locale.message.Message;
import me.lucko.luckperms.common.model.PermissionHolder; import me.lucko.luckperms.common.model.PermissionHolder;
import me.lucko.luckperms.common.node.factory.NodeFactory; import me.lucko.luckperms.common.node.factory.NodeFactory;
import me.lucko.luckperms.common.plugin.LuckPermsPlugin; import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
@ -57,7 +58,7 @@ public class MigrationBungeePerms extends SubCommand<Object> {
@Override @Override
public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) { public CommandResult execute(LuckPermsPlugin plugin, Sender sender, Object o, List<String> args, String label) {
ProgressLogger log = new ProgressLogger("BungeePerms"); ProgressLogger log = new ProgressLogger(Message.MIGRATION_LOG, Message.MIGRATION_LOG_PROGRESS, "BungeePerms");
log.addListener(plugin.getConsoleSender()); log.addListener(plugin.getConsoleSender());
log.addListener(sender); log.addListener(sender);
@ -118,7 +119,7 @@ public class MigrationBungeePerms extends SubCommand<Object> {
plugin.getStorage().saveUser(user); plugin.getStorage().saveUser(user);
plugin.getUserManager().cleanup(user); plugin.getUserManager().cleanup(user);
log.logProgress("Migrated {} users so far.", userCount.incrementAndGet()); log.logProgress("Migrated {} users so far.", userCount.incrementAndGet(), ProgressLogger.DEFAULT_NOTIFY_FREQUENCY);
}); });
log.log("Migrated " + userCount.get() + " users."); log.log("Migrated " + userCount.get() + " users.");

View File

@ -88,7 +88,7 @@ public class Exporter implements Runnable {
this.filePath = filePath; this.filePath = filePath;
this.includeUsers = includeUsers; this.includeUsers = includeUsers;
this.log = new ProgressLogger(null, Message.EXPORT_LOG, Message.EXPORT_LOG_PROGRESS); this.log = new ProgressLogger(Message.EXPORT_LOG, Message.EXPORT_LOG_PROGRESS, null);
this.log.addListener(plugin.getConsoleSender()); this.log.addListener(plugin.getConsoleSender());
this.log.addListener(executor); this.log.addListener(executor);
} }

View File

@ -32,59 +32,58 @@ import java.util.HashSet;
import java.util.Set; import java.util.Set;
public class ProgressLogger { public class ProgressLogger {
private static final int NOTIFY_FREQUENCY = 500; public static final int DEFAULT_NOTIFY_FREQUENCY = 500;
private final String pluginName;
private final Message logMessage; private final Message logMessage;
private final Message logProgressMessage; private final Message logProgressMessage;
private final String logPrefixParam;
private final Set<Sender> listeners = new HashSet<>(); private final Set<Sender> listeners = new HashSet<>();
public ProgressLogger(String pluginName) { public ProgressLogger(Message logMessage, Message logProgressMessage, String logPrefixParam) {
this(pluginName, Message.MIGRATION_LOG, Message.MIGRATION_LOG_PROGRESS);
}
public ProgressLogger(String pluginName, Message logMessage, Message logProgressMessage) {
this.pluginName = pluginName;
this.logMessage = logMessage; this.logMessage = logMessage;
this.logProgressMessage = logProgressMessage; this.logProgressMessage = logProgressMessage;
this.logPrefixParam = logPrefixParam;
} }
public void addListener(Sender sender) { public void addListener(Sender sender) {
this.listeners.add(sender); this.listeners.add(sender);
} }
public void log(String msg) { public Set<Sender> getListeners() {
if (this.pluginName == null) { return this.listeners;
this.listeners.forEach(s -> this.logMessage.send(s, msg));
} else {
this.listeners.forEach(s -> this.logMessage.send(s, this.pluginName, msg));
} }
public void log(String msg) {
dispatchMessage(this.logMessage, msg);
} }
public void logError(String msg) { public void logError(String msg) {
if (this.pluginName == null) { dispatchMessage(this.logMessage, "Error -> " + msg);
this.listeners.forEach(s -> this.logMessage.send(s, "Error -> " + msg));
} else {
this.listeners.forEach(s -> this.logMessage.send(s, this.pluginName, "Error -> " + msg));
}
} }
public void logAllProgress(String msg, int amount) { public void logAllProgress(String msg, int amount) {
if (this.pluginName == null) { dispatchMessage(this.logProgressMessage, msg.replace("{}", Integer.toString(amount)));
this.listeners.forEach(s -> this.logProgressMessage.send(s, msg.replace("{}", Integer.toString(amount))));
} else {
this.listeners.forEach(s -> this.logProgressMessage.send(s, this.pluginName, msg.replace("{}", Integer.toString(amount))));
}
} }
public void logProgress(String msg, int amount) { public void logProgress(String msg, int amount, int notifyFrequency) {
if (amount % NOTIFY_FREQUENCY == 0) { if (amount % notifyFrequency == 0) {
logAllProgress(msg, amount); logAllProgress(msg, amount);
} }
} }
public Set<Sender> getListeners() { private Object[] formParams(String content) {
return this.listeners; if (this.logPrefixParam != null) {
return new Object[]{this.logPrefixParam, content};
} else {
return new Object[]{content};
}
}
private void dispatchMessage(Message messageType, String content) {
Object[] params = formParams(content);
for (Sender s : this.listeners) {
messageType.send(s, params);
}
} }
} }