From cff1b8a411e8ff14be80ba0e896aff872dbdeba9 Mon Sep 17 00:00:00 2001 From: Luck Date: Mon, 19 Sep 2016 20:45:37 +0100 Subject: [PATCH] Separate PermissionProcessor into own class --- .../lucko/luckperms/inject/LPPermissible.java | 7 +++-- .../me/lucko/luckperms/BungeePlayerCache.java | 3 +- .../luckperms/utils/PermissionCalculator.java | 5 --- .../luckperms/utils/PermissionProcessor.java | 31 +++++++++++++++++++ .../api/sponge/LuckPermsUserSubject.java | 9 +++--- 5 files changed, 41 insertions(+), 14 deletions(-) create mode 100644 common/src/main/java/me/lucko/luckperms/utils/PermissionProcessor.java diff --git a/bukkit/src/main/java/me/lucko/luckperms/inject/LPPermissible.java b/bukkit/src/main/java/me/lucko/luckperms/inject/LPPermissible.java index e543c5032..3c7a87e88 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/inject/LPPermissible.java +++ b/bukkit/src/main/java/me/lucko/luckperms/inject/LPPermissible.java @@ -28,6 +28,7 @@ import lombok.NonNull; import me.lucko.luckperms.LuckPermsPlugin; import me.lucko.luckperms.api.Tristate; import me.lucko.luckperms.utils.PermissionCalculator; +import me.lucko.luckperms.utils.PermissionProcessor; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.permissions.*; @@ -58,7 +59,7 @@ public class LPPermissible extends PermissibleBase { super(sender); this.parent = sender; - List processors = new ArrayList<>(4); + List processors = new ArrayList<>(4); processors.add(new PermissionCalculator.MapProcessor(luckPermsPermissions)); processors.add(new AttachmentProcessor(attachmentPermissions)); processors.add(new PermissionCalculator.WildcardProcessor(luckPermsPermissions)); @@ -264,7 +265,7 @@ public class LPPermissible extends PermissibleBase { } @AllArgsConstructor - private static class AttachmentProcessor implements PermissionCalculator.PermissionProcessor { + private static class AttachmentProcessor implements PermissionProcessor { @Getter private final Map map; @@ -281,7 +282,7 @@ public class LPPermissible extends PermissibleBase { } @AllArgsConstructor - private static class BukkitDefaultsProcessor implements PermissionCalculator.PermissionProcessor { + private static class BukkitDefaultsProcessor implements PermissionProcessor { private final Supplier isOp; @Override diff --git a/bungee/src/main/java/me/lucko/luckperms/BungeePlayerCache.java b/bungee/src/main/java/me/lucko/luckperms/BungeePlayerCache.java index a32f1fb53..c0681d7cb 100644 --- a/bungee/src/main/java/me/lucko/luckperms/BungeePlayerCache.java +++ b/bungee/src/main/java/me/lucko/luckperms/BungeePlayerCache.java @@ -24,6 +24,7 @@ package me.lucko.luckperms; import lombok.Getter; import me.lucko.luckperms.utils.PermissionCalculator; +import me.lucko.luckperms.utils.PermissionProcessor; import java.util.ArrayList; import java.util.List; @@ -38,7 +39,7 @@ public class BungeePlayerCache { private final Map permissions = new ConcurrentHashMap<>(); public BungeePlayerCache(LuckPermsPlugin plugin, String name) { - List processors = new ArrayList<>(2); + List processors = new ArrayList<>(2); processors.add(new PermissionCalculator.MapProcessor(permissions)); processors.add(new PermissionCalculator.WildcardProcessor(permissions)); diff --git a/common/src/main/java/me/lucko/luckperms/utils/PermissionCalculator.java b/common/src/main/java/me/lucko/luckperms/utils/PermissionCalculator.java index 710a03e54..646518271 100644 --- a/common/src/main/java/me/lucko/luckperms/utils/PermissionCalculator.java +++ b/common/src/main/java/me/lucko/luckperms/utils/PermissionCalculator.java @@ -135,9 +135,4 @@ public class PermissionCalculator { return true; } } - - public interface PermissionProcessor { - Tristate hasPermission(String permission); - } - } diff --git a/common/src/main/java/me/lucko/luckperms/utils/PermissionProcessor.java b/common/src/main/java/me/lucko/luckperms/utils/PermissionProcessor.java new file mode 100644 index 000000000..3616ad6b9 --- /dev/null +++ b/common/src/main/java/me/lucko/luckperms/utils/PermissionProcessor.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2016 Lucko (Luck) + * + * 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.utils; + +import me.lucko.luckperms.api.Tristate; + +public interface PermissionProcessor { + + Tristate hasPermission(String permission); + +} diff --git a/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsUserSubject.java b/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsUserSubject.java index 86ac4aaf6..9ad0088fd 100644 --- a/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsUserSubject.java +++ b/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsUserSubject.java @@ -22,12 +22,12 @@ package me.lucko.luckperms.api.sponge; -import com.google.common.base.Splitter; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NonNull; import me.lucko.luckperms.users.User; import me.lucko.luckperms.utils.PermissionCalculator; +import me.lucko.luckperms.utils.PermissionProcessor; import org.spongepowered.api.Sponge; import org.spongepowered.api.command.CommandSource; import org.spongepowered.api.entity.living.player.Player; @@ -54,7 +54,7 @@ public class LuckPermsUserSubject extends LuckPermsSubject { super(user, service); this.user = user; - List processors = new ArrayList<>(4); + List processors = new ArrayList<>(4); processors.add(new PermissionCalculator.MapProcessor(permissionCache)); processors.add(new SpongeWildcardProcessor(permissionCache)); processors.add(new PermissionCalculator.WildcardProcessor(permissionCache)); @@ -95,9 +95,8 @@ public class LuckPermsUserSubject extends LuckPermsSubject { return Optional.empty(); } - // TODO proper implementation. @AllArgsConstructor - public static class SpongeWildcardProcessor implements PermissionCalculator.PermissionProcessor { + private static class SpongeWildcardProcessor implements PermissionProcessor { @Getter private final Map map; @@ -148,7 +147,7 @@ public class LuckPermsUserSubject extends LuckPermsSubject { } @AllArgsConstructor - private static class SpongeDefaultsProcessor implements PermissionCalculator.PermissionProcessor { + private static class SpongeDefaultsProcessor implements PermissionProcessor { private final LuckPermsService service; @Override