From 05bde21e60ea42816959603e7905dd8aba2187bc Mon Sep 17 00:00:00 2001 From: Stanislav Usenkov Date: Wed, 4 Mar 2015 13:50:06 +0600 Subject: [PATCH] Minor changes --- .../Bukkit/BukkitPermissionManager.java | 16 +++++++--------- .../rscPermissions/Engine/InternalCache.java | 7 ++++++- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java index 8a914c1..dc122b6 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java @@ -103,24 +103,22 @@ public class BukkitPermissionManager extends RestartableThread // Remove old if(attachments.containsKey(player)) attachments.remove(player).remove(); - // Create new - final Map pp = persistentPermissions.get(player); - final Map tp = transientPermissions.get(player); - if(pp == null && tp == null) - return; + // Create new and fill with permissions final PermissionAttachment attachment = player.addAttachment(rscp); attachments.put(player, attachment); - if(pp != null) + final Map pp = persistentPermissions.get(player); + if(pp != null && !pp.isEmpty()) for(Map.Entry row : pp.entrySet()) attachment.setPermission(row.getKey(), row.getValue()); - if(tp != null) + final Map tp = transientPermissions.get(player); + if(tp != null && !tp.isEmpty()) for(Map.Entry row : tp.entrySet()) attachment.setPermission(row.getKey(), row.getValue()); - // Server operator + // Give/Reset Server Operator status final Boolean asterisk = attachment.getPermissions().get("*"); if(rscp.settings.isAsteriskOP()) player.setOp((asterisk != null) ? asterisk : false); - // Debugging information + // Show debugging information if(isDebugging(player)) player.sendMessage(GenericChatCodes.processStringStatic(Settings.chatPrefix + "[DEBUG] {_DS}Inheritances list: {_LS}" + result.groups.toString() diff --git a/src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java b/src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java index eb95786..6454317 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java +++ b/src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java @@ -7,6 +7,7 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Map.Entry; +import java.util.Set; import ru.simsonic.rscPermissions.API.EntityType; import ru.simsonic.rscPermissions.API.PlayerType; import ru.simsonic.rscPermissions.API.RowEntity; @@ -283,7 +284,7 @@ public class InternalCache ? row.destination.isRegionApplicable(params.destRegions, params.instantiator) : false; } - public RowEntity getGroup(String group) + public synchronized RowEntity getGroup(String group) { if(group != null && !"".equals(group)) { @@ -293,6 +294,10 @@ public class InternalCache } return new RowEntity(); } + public synchronized Set getGroups() + { + return entities_g.keySet(); + } public synchronized void clear() { entities_g.clear();