Refactor ProgressLogger slightly
This commit is contained in:
parent
6d8077ffd0
commit
e3a6db5f97
@ -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.locale.LocaleManager;
|
||||
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.PermissionHolder;
|
||||
import me.lucko.luckperms.common.model.User;
|
||||
@ -77,7 +78,7 @@ public class MigrationBPermissions extends SubCommand<Object> {
|
||||
|
||||
@Override
|
||||
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(sender);
|
||||
|
||||
@ -117,7 +118,7 @@ public class MigrationBPermissions extends SubCommand<Object> {
|
||||
AtomicInteger userLoadCount = new AtomicInteger(0);
|
||||
for (String user : users) {
|
||||
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.");
|
||||
@ -168,7 +169,7 @@ public class MigrationBPermissions extends SubCommand<Object> {
|
||||
plugin.getStorage().saveUser(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() + ".");
|
||||
|
@ -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.locale.LocaleManager;
|
||||
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.User;
|
||||
import me.lucko.luckperms.common.model.UserIdentifier;
|
||||
@ -70,7 +71,7 @@ public class MigrationGroupManager extends SubCommand<Object> {
|
||||
|
||||
@Override
|
||||
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(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);
|
||||
});
|
||||
@ -250,7 +251,7 @@ public class MigrationGroupManager extends SubCommand<Object> {
|
||||
|
||||
plugin.getStorage().saveUser(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.");
|
||||
|
@ -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.locale.LocaleManager;
|
||||
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.PermissionHolder;
|
||||
import me.lucko.luckperms.common.model.User;
|
||||
@ -59,7 +60,7 @@ public class MigrationPermissionsBukkit extends SubCommand<Object> {
|
||||
|
||||
@Override
|
||||
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(sender);
|
||||
|
||||
@ -114,7 +115,7 @@ public class MigrationPermissionsBukkit extends SubCommand<Object> {
|
||||
|
||||
plugin.getUserManager().cleanup(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.");
|
||||
|
@ -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.locale.LocaleManager;
|
||||
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.PermissionHolder;
|
||||
import me.lucko.luckperms.common.model.Track;
|
||||
@ -93,7 +94,7 @@ public class MigrationPermissionsEx extends SubCommand<Object> {
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
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(sender);
|
||||
|
||||
@ -176,7 +177,7 @@ public class MigrationPermissionsEx extends SubCommand<Object> {
|
||||
|
||||
plugin.getUserManager().cleanup(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.");
|
||||
|
@ -42,6 +42,7 @@ import me.lucko.luckperms.common.commands.migration.MigrationUtils;
|
||||
import me.lucko.luckperms.common.config.ConfigKeys;
|
||||
import me.lucko.luckperms.common.locale.LocaleManager;
|
||||
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.User;
|
||||
import me.lucko.luckperms.common.node.factory.NodeFactory;
|
||||
@ -77,7 +78,7 @@ public class MigrationPowerfulPerms extends SubCommand<Object> {
|
||||
|
||||
@Override
|
||||
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(sender);
|
||||
|
||||
@ -264,7 +265,7 @@ public class MigrationPowerfulPerms extends SubCommand<Object> {
|
||||
|
||||
plugin.getUserManager().cleanup(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.");
|
||||
|
@ -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.locale.LocaleManager;
|
||||
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.PermissionHolder;
|
||||
import me.lucko.luckperms.common.model.Track;
|
||||
@ -70,7 +71,7 @@ public class MigrationZPermissions extends SubCommand<Object> {
|
||||
|
||||
@Override
|
||||
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(sender);
|
||||
|
||||
@ -182,7 +183,7 @@ public class MigrationZPermissions extends SubCommand<Object> {
|
||||
|
||||
plugin.getUserManager().cleanup(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.");
|
||||
|
@ -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.locale.LocaleManager;
|
||||
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.node.factory.NodeFactory;
|
||||
import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
|
||||
@ -57,7 +58,7 @@ public class MigrationBungeePerms extends SubCommand<Object> {
|
||||
|
||||
@Override
|
||||
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(sender);
|
||||
|
||||
@ -118,7 +119,7 @@ public class MigrationBungeePerms extends SubCommand<Object> {
|
||||
plugin.getStorage().saveUser(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.");
|
||||
|
@ -88,7 +88,7 @@ public class Exporter implements Runnable {
|
||||
this.filePath = filePath;
|
||||
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(executor);
|
||||
}
|
||||
|
@ -32,59 +32,58 @@ import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
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 logProgressMessage;
|
||||
private final String logPrefixParam;
|
||||
|
||||
private final Set<Sender> listeners = new HashSet<>();
|
||||
|
||||
public ProgressLogger(String pluginName) {
|
||||
this(pluginName, Message.MIGRATION_LOG, Message.MIGRATION_LOG_PROGRESS);
|
||||
}
|
||||
|
||||
public ProgressLogger(String pluginName, Message logMessage, Message logProgressMessage) {
|
||||
this.pluginName = pluginName;
|
||||
public ProgressLogger(Message logMessage, Message logProgressMessage, String logPrefixParam) {
|
||||
this.logMessage = logMessage;
|
||||
this.logProgressMessage = logProgressMessage;
|
||||
this.logPrefixParam = logPrefixParam;
|
||||
}
|
||||
|
||||
public void addListener(Sender sender) {
|
||||
this.listeners.add(sender);
|
||||
}
|
||||
|
||||
public Set<Sender> getListeners() {
|
||||
return this.listeners;
|
||||
}
|
||||
|
||||
public void log(String msg) {
|
||||
if (this.pluginName == null) {
|
||||
this.listeners.forEach(s -> this.logMessage.send(s, msg));
|
||||
} else {
|
||||
this.listeners.forEach(s -> this.logMessage.send(s, this.pluginName, msg));
|
||||
}
|
||||
dispatchMessage(this.logMessage, msg);
|
||||
}
|
||||
|
||||
public void logError(String msg) {
|
||||
if (this.pluginName == null) {
|
||||
this.listeners.forEach(s -> this.logMessage.send(s, "Error -> " + msg));
|
||||
} else {
|
||||
this.listeners.forEach(s -> this.logMessage.send(s, this.pluginName, "Error -> " + msg));
|
||||
}
|
||||
dispatchMessage(this.logMessage, "Error -> " + msg);
|
||||
}
|
||||
|
||||
public void logAllProgress(String msg, int amount) {
|
||||
if (this.pluginName == null) {
|
||||
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))));
|
||||
}
|
||||
dispatchMessage(this.logProgressMessage, msg.replace("{}", Integer.toString(amount)));
|
||||
}
|
||||
|
||||
public void logProgress(String msg, int amount) {
|
||||
if (amount % NOTIFY_FREQUENCY == 0) {
|
||||
public void logProgress(String msg, int amount, int notifyFrequency) {
|
||||
if (amount % notifyFrequency == 0) {
|
||||
logAllProgress(msg, amount);
|
||||
}
|
||||
}
|
||||
|
||||
public Set<Sender> getListeners() {
|
||||
return this.listeners;
|
||||
private Object[] formParams(String content) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user