Cleanup verbose & treeview packages. Return known permissions from the PermissionVault as Sponge PermissionDescriptions

This commit is contained in:
Luck
2017-08-13 12:07:05 +02:00
Unverified
parent 1d5e3205ac
commit d98b464ce9
19 changed files with 500 additions and 197 deletions
@@ -45,6 +45,7 @@ import me.lucko.luckperms.common.config.LuckPermsConfiguration;
import me.lucko.luckperms.common.constants.CommandPermission;
import me.lucko.luckperms.common.contexts.ContextManager;
import me.lucko.luckperms.common.contexts.LuckPermsCalculator;
import me.lucko.luckperms.common.data.ImporterSender;
import me.lucko.luckperms.common.dependencies.DependencyManager;
import me.lucko.luckperms.common.locale.LocaleManager;
import me.lucko.luckperms.common.locale.NoopLocaleManager;
@@ -66,7 +67,6 @@ import me.lucko.luckperms.common.tasks.CacheHousekeepingTask;
import me.lucko.luckperms.common.tasks.ExpireTemporaryTask;
import me.lucko.luckperms.common.tasks.UpdateTask;
import me.lucko.luckperms.common.treeview.PermissionVault;
import me.lucko.luckperms.common.utils.FakeSender;
import me.lucko.luckperms.common.utils.UuidCache;
import me.lucko.luckperms.common.verbose.VerboseHandler;
import me.lucko.luckperms.sponge.calculators.SpongeCalculatorFactory;
@@ -497,7 +497,7 @@ public class LPSpongePlugin implements LuckPermsPlugin {
@Override
public Sender getConsoleSender() {
if (!game.isServerAvailable()) {
return new FakeSender(this, s -> logger.info(s));
return new ImporterSender(this, s -> logger.info(s));
}
return getSenderFactory().wrap(game.getServer().getConsole());
}
@@ -45,7 +45,7 @@ import java.util.Optional;
import java.util.concurrent.CompletableFuture;
@RequiredArgsConstructor
@EqualsAndHashCode(of = {"id", "description", "owner"})
@EqualsAndHashCode(of = "id")
@ToString(of = {"id", "description", "owner"})
public final class LuckPermsPermissionDescription implements LPPermissionDescription {
@@ -73,6 +73,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
@@ -202,7 +203,19 @@ public class LuckPermsService implements LPPermissionService {
@Override
public ImmutableSet<LPPermissionDescription> getDescriptions() {
return ImmutableSet.copyOf(descriptionSet);
Set<LPPermissionDescription> descriptions = new HashSet<>(descriptionSet);
// collect known values from the permission vault
for (String knownPermission : plugin.getPermissionVault().getKnownPermissions()) {
LPPermissionDescription desc = new LuckPermsPermissionDescription(this, knownPermission, null, null);
// don't override plugin defined values
if (!descriptions.contains(desc)) {
descriptions.add(desc);
}
}
return ImmutableSet.copyOf(descriptions);
}
@Override
@@ -247,7 +247,7 @@ public class PersistedSubject implements LPSubject {
public Tristate getPermissionValue(@NonNull ImmutableContextSet contexts, @NonNull String node) {
try (Timing ignored = service.getPlugin().getTimings().time(LPTiming.INTERNAL_SUBJECT_GET_PERMISSION_VALUE)) {
Tristate t = permissionLookupCache.get(PermissionLookup.of(node, contexts));
service.getPlugin().getVerboseHandler().offer("local:" + getParentCollection().getIdentifier() + "/" + identifier, node, t);
service.getPlugin().getVerboseHandler().offerCheckData("local:" + getParentCollection().getIdentifier() + "/" + identifier, node, t);
return t;
}
}