From 8d79ec6b0718c44c6f3adf742085de1d2d0904bd Mon Sep 17 00:00:00 2001 From: Luck Date: Tue, 4 Sep 2018 21:11:03 +0100 Subject: [PATCH] Rename "update task" --> "sync task" --- .../common/api/LuckPermsApiProvider.java | 2 +- .../luckperms/common/backup/Importer.java | 2 +- .../common/buffers/UpdateTaskBuffer.java | 46 ------------------- .../common/commands/group/DeleteGroup.java | 2 +- .../commands/misc/BulkUpdateCommand.java | 2 +- .../commands/misc/NetworkSyncCommand.java | 2 +- .../common/commands/misc/SyncCommand.java | 2 +- .../messaging/LuckPermsMessagingService.java | 2 +- .../plugin/AbstractLuckPermsPlugin.java | 16 +++---- .../common/plugin/LuckPermsPlugin.java | 10 ++-- .../dao/file/CombinedConfigurateDao.java | 4 +- .../dao/file/SeparatedConfigurateDao.java | 2 +- .../tasks/{UpdateTask.java => SyncTask.java} | 25 ++++++++-- .../luckperms/sponge/LPSpongePlugin.java | 2 +- 14 files changed, 44 insertions(+), 75 deletions(-) delete mode 100644 common/src/main/java/me/lucko/luckperms/common/buffers/UpdateTaskBuffer.java rename common/src/main/java/me/lucko/luckperms/common/tasks/{UpdateTask.java => SyncTask.java} (79%) diff --git a/common/src/main/java/me/lucko/luckperms/common/api/LuckPermsApiProvider.java b/common/src/main/java/me/lucko/luckperms/common/api/LuckPermsApiProvider.java index 1519b3e4a..1d694092f 100644 --- a/common/src/main/java/me/lucko/luckperms/common/api/LuckPermsApiProvider.java +++ b/common/src/main/java/me/lucko/luckperms/common/api/LuckPermsApiProvider.java @@ -113,7 +113,7 @@ public class LuckPermsApiProvider implements LuckPermsApi { @Nonnull @Override public CompletableFuture runUpdateTask() { - return this.plugin.getUpdateTaskBuffer().request(); + return this.plugin.getSyncTaskBuffer().request(); } @Nonnull diff --git a/common/src/main/java/me/lucko/luckperms/common/backup/Importer.java b/common/src/main/java/me/lucko/luckperms/common/backup/Importer.java index 1cac977bd..00dc46868 100644 --- a/common/src/main/java/me/lucko/luckperms/common/backup/Importer.java +++ b/common/src/main/java/me/lucko/luckperms/common/backup/Importer.java @@ -87,7 +87,7 @@ public class Importer implements Runnable { this.notify.forEach(s -> Message.IMPORT_START.send(s)); // start an update task in the background - we'll #join this later - CompletableFuture updateTask = CompletableFuture.runAsync(() -> this.commandManager.getPlugin().getUpdateTaskBuffer().requestDirectly()); + CompletableFuture updateTask = CompletableFuture.runAsync(() -> this.commandManager.getPlugin().getSyncTaskBuffer().requestDirectly()); this.notify.forEach(s -> Message.IMPORT_INFO.send(s, "Processing commands...")); diff --git a/common/src/main/java/me/lucko/luckperms/common/buffers/UpdateTaskBuffer.java b/common/src/main/java/me/lucko/luckperms/common/buffers/UpdateTaskBuffer.java deleted file mode 100644 index 213519138..000000000 --- a/common/src/main/java/me/lucko/luckperms/common/buffers/UpdateTaskBuffer.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is part of LuckPerms, licensed under the MIT License. - * - * Copyright (c) lucko (Luck) - * Copyright (c) contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package me.lucko.luckperms.common.buffers; - -import me.lucko.luckperms.common.plugin.LuckPermsPlugin; -import me.lucko.luckperms.common.tasks.UpdateTask; - -import java.util.concurrent.TimeUnit; - -public class UpdateTaskBuffer extends BufferedRequest { - private final LuckPermsPlugin plugin; - - public UpdateTaskBuffer(LuckPermsPlugin plugin) { - super(500L, TimeUnit.MILLISECONDS, plugin.getBootstrap().getScheduler()); - this.plugin = plugin; - } - - @Override - protected Void perform() { - new UpdateTask(this.plugin, false).run(); - return null; - } -} diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/group/DeleteGroup.java b/common/src/main/java/me/lucko/luckperms/common/commands/group/DeleteGroup.java index 6d59cdc52..bd12c8655 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/group/DeleteGroup.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/group/DeleteGroup.java @@ -83,7 +83,7 @@ public class DeleteGroup extends SingleCommand { .action("delete") .build().submit(plugin, sender); - plugin.getUpdateTaskBuffer().request(); + plugin.getSyncTaskBuffer().request(); return CommandResult.SUCCESS; } diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/misc/BulkUpdateCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/misc/BulkUpdateCommand.java index 68df2ad53..e6c97cdd5 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/misc/BulkUpdateCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/misc/BulkUpdateCommand.java @@ -81,7 +81,7 @@ public class BulkUpdateCommand extends SingleCommand { Message.BULK_UPDATE_STARTING.send(sender); plugin.getStorage().applyBulkUpdate(operation).whenCompleteAsync((v, ex) -> { if (ex == null) { - plugin.getUpdateTaskBuffer().requestDirectly(); + plugin.getSyncTaskBuffer().requestDirectly(); Message.BULK_UPDATE_SUCCESS.send(sender); } else { ex.printStackTrace(); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/misc/NetworkSyncCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/misc/NetworkSyncCommand.java index c593c57b4..d809c2b97 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/misc/NetworkSyncCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/misc/NetworkSyncCommand.java @@ -47,7 +47,7 @@ public class NetworkSyncCommand extends SingleCommand { @Override public CommandResult execute(LuckPermsPlugin plugin, Sender sender, List args, String label) { Message.UPDATE_TASK_REQUEST.send(sender); - plugin.getUpdateTaskBuffer().request().join(); + plugin.getSyncTaskBuffer().request().join(); Message.UPDATE_TASK_COMPLETE_NETWORK.send(sender); Optional messagingService = plugin.getMessagingService(); diff --git a/common/src/main/java/me/lucko/luckperms/common/commands/misc/SyncCommand.java b/common/src/main/java/me/lucko/luckperms/common/commands/misc/SyncCommand.java index 6d7de07f5..b04cd539e 100644 --- a/common/src/main/java/me/lucko/luckperms/common/commands/misc/SyncCommand.java +++ b/common/src/main/java/me/lucko/luckperms/common/commands/misc/SyncCommand.java @@ -45,7 +45,7 @@ public class SyncCommand extends SingleCommand { @Override public CommandResult execute(LuckPermsPlugin plugin, Sender sender, List args, String label) { Message.UPDATE_TASK_REQUEST.send(sender); - plugin.getUpdateTaskBuffer().request().join(); + plugin.getSyncTaskBuffer().request().join(); Message.UPDATE_TASK_COMPLETE.send(sender); return CommandResult.SUCCESS; } diff --git a/common/src/main/java/me/lucko/luckperms/common/messaging/LuckPermsMessagingService.java b/common/src/main/java/me/lucko/luckperms/common/messaging/LuckPermsMessagingService.java index a785dfe07..226a55e83 100644 --- a/common/src/main/java/me/lucko/luckperms/common/messaging/LuckPermsMessagingService.java +++ b/common/src/main/java/me/lucko/luckperms/common/messaging/LuckPermsMessagingService.java @@ -239,7 +239,7 @@ public class LuckPermsMessagingService implements InternalMessagingService, Inco return; } - this.plugin.getUpdateTaskBuffer().request(); + this.plugin.getSyncTaskBuffer().request(); } else if (message instanceof UserUpdateMessage) { UserUpdateMessage msg = (UserUpdateMessage) message; diff --git a/common/src/main/java/me/lucko/luckperms/common/plugin/AbstractLuckPermsPlugin.java b/common/src/main/java/me/lucko/luckperms/common/plugin/AbstractLuckPermsPlugin.java index 5d6d0cc44..1e9ef27e3 100644 --- a/common/src/main/java/me/lucko/luckperms/common/plugin/AbstractLuckPermsPlugin.java +++ b/common/src/main/java/me/lucko/luckperms/common/plugin/AbstractLuckPermsPlugin.java @@ -29,8 +29,6 @@ import me.lucko.luckperms.api.LuckPermsApi; import me.lucko.luckperms.common.actionlog.LogDispatcher; import me.lucko.luckperms.common.api.ApiRegistrationUtil; import me.lucko.luckperms.common.api.LuckPermsApiProvider; -import me.lucko.luckperms.common.buffers.BufferedRequest; -import me.lucko.luckperms.common.buffers.UpdateTaskBuffer; import me.lucko.luckperms.common.calculators.CalculatorFactory; import me.lucko.luckperms.common.config.AbstractConfiguration; import me.lucko.luckperms.common.config.ConfigKeys; @@ -52,7 +50,7 @@ import me.lucko.luckperms.common.storage.Storage; import me.lucko.luckperms.common.storage.StorageFactory; import me.lucko.luckperms.common.storage.StorageType; import me.lucko.luckperms.common.storage.dao.file.FileWatcher; -import me.lucko.luckperms.common.tasks.UpdateTask; +import me.lucko.luckperms.common.tasks.SyncTask; import me.lucko.luckperms.common.treeview.PermissionRegistry; import me.lucko.luckperms.common.verbose.VerboseHandler; @@ -75,7 +73,7 @@ public abstract class AbstractLuckPermsPlugin implements LuckPermsPlugin { private FileWatcher fileWatcher = null; private Storage storage; private InternalMessagingService messagingService = null; - private BufferedRequest updateTaskBuffer; + private SyncTask.Buffer syncTaskBuffer; private InheritanceHandler inheritanceHandler; private CalculatorFactory calculatorFactory; private LuckPermsApiProvider apiProvider; @@ -133,7 +131,7 @@ public abstract class AbstractLuckPermsPlugin implements LuckPermsPlugin { this.messagingService = provideMessagingFactory().getInstance(); // setup the update task buffer - this.updateTaskBuffer = new UpdateTaskBuffer(this); + this.syncTaskBuffer = new SyncTask.Buffer(this); // register commands registerCommands(); @@ -164,13 +162,13 @@ public abstract class AbstractLuckPermsPlugin implements LuckPermsPlugin { // schedule update tasks int mins = getConfiguration().get(ConfigKeys.SYNC_TIME); if (mins > 0) { - getBootstrap().getScheduler().asyncRepeating(() -> this.updateTaskBuffer.request(), mins, TimeUnit.MINUTES); + getBootstrap().getScheduler().asyncRepeating(() -> this.syncTaskBuffer.request(), mins, TimeUnit.MINUTES); } // run an update instantly. getLogger().info("Performing initial data load..."); try { - new UpdateTask(this, true).run(); + new SyncTask(this, true).run(); } catch (Exception e) { e.printStackTrace(); } @@ -292,8 +290,8 @@ public abstract class AbstractLuckPermsPlugin implements LuckPermsPlugin { } @Override - public BufferedRequest getUpdateTaskBuffer() { - return this.updateTaskBuffer; + public SyncTask.Buffer getSyncTaskBuffer() { + return this.syncTaskBuffer; } @Override diff --git a/common/src/main/java/me/lucko/luckperms/common/plugin/LuckPermsPlugin.java b/common/src/main/java/me/lucko/luckperms/common/plugin/LuckPermsPlugin.java index a35c9ce6e..96a82c7db 100644 --- a/common/src/main/java/me/lucko/luckperms/common/plugin/LuckPermsPlugin.java +++ b/common/src/main/java/me/lucko/luckperms/common/plugin/LuckPermsPlugin.java @@ -28,7 +28,6 @@ package me.lucko.luckperms.common.plugin; import me.lucko.luckperms.api.Contexts; import me.lucko.luckperms.common.actionlog.LogDispatcher; import me.lucko.luckperms.common.api.LuckPermsApiProvider; -import me.lucko.luckperms.common.buffers.BufferedRequest; import me.lucko.luckperms.common.calculators.CalculatorFactory; import me.lucko.luckperms.common.command.CommandManager; import me.lucko.luckperms.common.command.abstraction.Command; @@ -51,6 +50,7 @@ import me.lucko.luckperms.common.plugin.util.AbstractConnectionListener; import me.lucko.luckperms.common.sender.Sender; import me.lucko.luckperms.common.storage.Storage; import me.lucko.luckperms.common.storage.dao.file.FileWatcher; +import me.lucko.luckperms.common.tasks.SyncTask; import me.lucko.luckperms.common.treeview.PermissionRegistry; import me.lucko.luckperms.common.verbose.VerboseHandler; @@ -249,16 +249,16 @@ public interface LuckPermsPlugin { } /** - * Gets the update task buffer of the platform, used for scheduling and running update tasks. + * Gets the sync task buffer of the platform, used for scheduling and running sync tasks. * - * @return the update task buffer instance + * @return the sync task buffer instance */ - BufferedRequest getUpdateTaskBuffer(); + SyncTask.Buffer getSyncTaskBuffer(); /** * Called at the end of the sync task. */ - default void onPostUpdate() { + default void performPlatformDataSync() { } diff --git a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/CombinedConfigurateDao.java b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/CombinedConfigurateDao.java index b8101b27e..9547788ce 100644 --- a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/CombinedConfigurateDao.java +++ b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/CombinedConfigurateDao.java @@ -201,11 +201,11 @@ public class CombinedConfigurateDao extends AbstractConfigurateDao { if (path.getFileName().equals(this.usersFile.getFileName())) { this.plugin.getLogger().info("[FileWatcher] Detected change in users file - reloading..."); this.usersLoader.reload(); - this.plugin.getUpdateTaskBuffer().request(); + this.plugin.getSyncTaskBuffer().request(); } else if (path.getFileName().equals(this.groupsFile.getFileName())) { this.plugin.getLogger().info("[FileWatcher] Detected change in groups file - reloading..."); this.groupsLoader.reload(); - this.plugin.getUpdateTaskBuffer().request(); + this.plugin.getSyncTaskBuffer().request(); } else if (path.getFileName().equals(this.tracksFile.getFileName())) { this.plugin.getLogger().info("[FileWatcher] Detected change in tracks file - reloading..."); this.tracksLoader.reload(); diff --git a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/SeparatedConfigurateDao.java b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/SeparatedConfigurateDao.java index aa1c0a20e..43674deee 100644 --- a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/SeparatedConfigurateDao.java +++ b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/SeparatedConfigurateDao.java @@ -187,7 +187,7 @@ public class SeparatedConfigurateDao extends AbstractConfigurateDao { String groupName = s.substring(0, s.length() - this.fileExtension.length()); this.plugin.getLogger().info("[FileWatcher] Detected change in group file for " + groupName + " - reloading..."); - this.plugin.getUpdateTaskBuffer().request(); + this.plugin.getSyncTaskBuffer().request(); }); this.trackWatcher = watcher.getWatcher(this.tracksDirectory); diff --git a/common/src/main/java/me/lucko/luckperms/common/tasks/UpdateTask.java b/common/src/main/java/me/lucko/luckperms/common/tasks/SyncTask.java similarity index 79% rename from common/src/main/java/me/lucko/luckperms/common/tasks/UpdateTask.java rename to common/src/main/java/me/lucko/luckperms/common/tasks/SyncTask.java index f3a4c623c..3c6b8db64 100644 --- a/common/src/main/java/me/lucko/luckperms/common/tasks/UpdateTask.java +++ b/common/src/main/java/me/lucko/luckperms/common/tasks/SyncTask.java @@ -26,17 +26,19 @@ package me.lucko.luckperms.common.tasks; import me.lucko.luckperms.api.event.cause.CreationCause; +import me.lucko.luckperms.common.buffers.BufferedRequest; import me.lucko.luckperms.common.node.factory.NodeFactory; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; /** - * System wide update task for LuckPerms. + * System wide sync task for LuckPerms. * *

Ensures that all local data is consistent with the storage.

*/ -public class UpdateTask implements Runnable { +public class SyncTask implements Runnable { private final LuckPermsPlugin plugin; /** @@ -44,7 +46,7 @@ public class UpdateTask implements Runnable { */ private final boolean initialUpdate; - public UpdateTask(LuckPermsPlugin plugin, boolean initialUpdate) { + public SyncTask(LuckPermsPlugin plugin, boolean initialUpdate) { this.plugin = plugin; this.initialUpdate = initialUpdate; } @@ -76,8 +78,23 @@ public class UpdateTask implements Runnable { userUpdateFut.join(); } - this.plugin.onPostUpdate(); + this.plugin.performPlatformDataSync(); this.plugin.getEventFactory().handlePostSync(); } + + public static class Buffer extends BufferedRequest { + private final LuckPermsPlugin plugin; + + public Buffer(LuckPermsPlugin plugin) { + super(500L, TimeUnit.MILLISECONDS, plugin.getBootstrap().getScheduler()); + this.plugin = plugin; + } + + @Override + protected Void perform() { + new SyncTask(this.plugin, false).run(); + return null; + } + } } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java index 91cb82778..305c93fa0 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java @@ -212,7 +212,7 @@ public class LPSpongePlugin extends AbstractLuckPermsPlugin { } @Override - public void onPostUpdate() { + public void performPlatformDataSync() { for (LPSubjectCollection collection : this.service.getLoadedCollections().values()) { if (collection instanceof PersistedCollection) { ((PersistedCollection) collection).loadAll();