Include meta lookup events in verbose output

This commit is contained in:
Luck
2018-10-28 12:31:47 +00:00
Unverified
parent 9d4ccd33e1
commit 5e0b8ebdf6
38 changed files with 552 additions and 276 deletions
@@ -28,9 +28,9 @@ package me.lucko.luckperms.sponge.calculators;
import com.google.common.collect.ImmutableList;
import me.lucko.luckperms.api.Contexts;
import me.lucko.luckperms.common.caching.CacheMetadata;
import me.lucko.luckperms.common.calculators.CalculatorFactory;
import me.lucko.luckperms.common.calculators.PermissionCalculator;
import me.lucko.luckperms.common.calculators.PermissionCalculatorMetadata;
import me.lucko.luckperms.common.config.ConfigKeys;
import me.lucko.luckperms.common.processors.MapProcessor;
import me.lucko.luckperms.common.processors.PermissionProcessor;
@@ -49,7 +49,7 @@ public class SpongeCalculatorFactory implements CalculatorFactory {
}
@Override
public PermissionCalculator build(Contexts contexts, PermissionCalculatorMetadata metadata) {
public PermissionCalculator build(Contexts contexts, CacheMetadata metadata) {
ImmutableList.Builder<PermissionProcessor> processors = ImmutableList.builder();
processors.add(new MapProcessor());
@@ -33,7 +33,8 @@ import me.lucko.luckperms.api.context.ContextSet;
import me.lucko.luckperms.api.context.ImmutableContextSet;
import me.lucko.luckperms.common.caching.type.MetaAccumulator;
import me.lucko.luckperms.common.graph.TraversalAlgorithm;
import me.lucko.luckperms.common.verbose.CheckOrigin;
import me.lucko.luckperms.common.verbose.event.MetaCheckEvent;
import me.lucko.luckperms.common.verbose.event.PermissionCheckEvent;
import me.lucko.luckperms.sponge.LPSpongePlugin;
import me.lucko.luckperms.sponge.service.inheritance.SubjectInheritanceGraph;
import me.lucko.luckperms.sponge.service.inheritance.SubjectInheritanceGraphs;
@@ -294,7 +295,7 @@ public abstract class CalculatedSubject implements LPSubject {
@Override
public Tristate getPermissionValue(ImmutableContextSet contexts, String permission) {
Contexts lookupContexts = Contexts.of(contexts, Contexts.global().getSettings());
return this.cachedData.getPermissionData(lookupContexts).getPermissionValue(permission, CheckOrigin.INTERNAL);
return this.cachedData.getPermissionData(lookupContexts).getPermissionValue(permission, PermissionCheckEvent.Origin.INTERNAL);
}
@Override
@@ -310,8 +311,7 @@ public abstract class CalculatedSubject implements LPSubject {
@Override
public Optional<String> getOption(ImmutableContextSet contexts, String key) {
Contexts lookupContexts = Contexts.of(contexts, Contexts.global().getSettings());
Map<String, String> meta = this.cachedData.getMetaData(lookupContexts).getMeta();
return Optional.ofNullable(meta.get(key));
return Optional.ofNullable(this.cachedData.getMetaData(lookupContexts).getMetaValue(key, MetaCheckEvent.Origin.PLATFORM_API));
}
@Override
@@ -31,10 +31,10 @@ import me.lucko.luckperms.api.Contexts;
import me.lucko.luckperms.api.caching.MetaContexts;
import me.lucko.luckperms.api.metastacking.MetaStackDefinition;
import me.lucko.luckperms.common.caching.AbstractCachedData;
import me.lucko.luckperms.common.caching.CacheMetadata;
import me.lucko.luckperms.common.caching.type.MetaAccumulator;
import me.lucko.luckperms.common.calculators.CalculatorFactory;
import me.lucko.luckperms.common.calculators.PermissionCalculator;
import me.lucko.luckperms.common.calculators.PermissionCalculatorMetadata;
import me.lucko.luckperms.common.metastacking.SimpleMetaStackDefinition;
import me.lucko.luckperms.common.metastacking.StandardStackElements;
import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
@@ -60,8 +60,8 @@ public class SubjectCachedData extends AbstractCachedData implements CalculatorF
}
@Override
protected PermissionCalculatorMetadata getMetadataForContexts(Contexts contexts) {
return PermissionCalculatorMetadata.of(null, this.subject.getParentCollection().getIdentifier() + "/" + this.subject.getIdentifier(), contexts.getContexts());
protected CacheMetadata getMetadataForContexts(Contexts contexts) {
return new CacheMetadata(this, null, this.subject.getParentCollection().getIdentifier() + "/" + this.subject.getIdentifier(), contexts.getContexts());
}
@Override
@@ -95,7 +95,7 @@ public class SubjectCachedData extends AbstractCachedData implements CalculatorF
}
@Override
public PermissionCalculator build(Contexts contexts, PermissionCalculatorMetadata metadata) {
public PermissionCalculator build(Contexts contexts, CacheMetadata metadata) {
ImmutableList.Builder<PermissionProcessor> processors = ImmutableList.builder();
processors.add(new MapProcessor());
processors.add(new SpongeWildcardProcessor());
@@ -105,6 +105,6 @@ public class SubjectCachedData extends AbstractCachedData implements CalculatorF
processors.add(new FixedDefaultsProcessor(this.subject.getService(), contexts.getContexts().makeImmutable(), this.subject.getDefaults()));
}
return new PermissionCalculator(this.plugin, metadata, processors.build());
return new PermissionCalculator(getPlugin(), metadata, processors.build());
}
}
@@ -29,8 +29,8 @@ import com.google.common.collect.ImmutableList;
import me.lucko.luckperms.api.Contexts;
import me.lucko.luckperms.api.Tristate;
import me.lucko.luckperms.api.caching.MetaData;
import me.lucko.luckperms.api.context.ImmutableContextSet;
import me.lucko.luckperms.common.caching.type.MetaCache;
import me.lucko.luckperms.common.graph.TraversalAlgorithm;
import me.lucko.luckperms.common.inheritance.InheritanceGraph;
import me.lucko.luckperms.common.model.Group;
@@ -38,7 +38,8 @@ import me.lucko.luckperms.common.model.NodeMapType;
import me.lucko.luckperms.common.model.PermissionHolder;
import me.lucko.luckperms.common.node.factory.NodeFactory;
import me.lucko.luckperms.common.node.model.NodeTypes;
import me.lucko.luckperms.common.verbose.CheckOrigin;
import me.lucko.luckperms.common.verbose.event.MetaCheckEvent;
import me.lucko.luckperms.common.verbose.event.PermissionCheckEvent;
import me.lucko.luckperms.sponge.LPSpongePlugin;
import me.lucko.luckperms.sponge.model.SpongeGroup;
import me.lucko.luckperms.sponge.service.LuckPermsService;
@@ -110,7 +111,7 @@ public abstract class HolderSubject<T extends PermissionHolder> implements LPSub
@Override
public Tristate getPermissionValue(ImmutableContextSet contexts, String permission) {
Contexts lookupContexts = this.plugin.getContextManager().formContexts(contexts);
return this.parent.getCachedData().getPermissionData(lookupContexts).getPermissionValue(permission, CheckOrigin.PLATFORM_LOOKUP_CHECK);
return this.parent.getCachedData().getPermissionData(lookupContexts).getPermissionValue(permission, PermissionCheckEvent.Origin.PLATFORM_LOOKUP_CHECK);
}
@Override
@@ -137,20 +138,22 @@ public abstract class HolderSubject<T extends PermissionHolder> implements LPSub
@Override
public Optional<String> getOption(ImmutableContextSet contexts, String s) {
MetaData data = this.parent.getCachedData().getMetaData(this.plugin.getContextManager().formContexts(contexts));
MetaCache data = this.parent.getCachedData().getMetaData(this.plugin.getContextManager().formContexts(contexts));
if (s.equalsIgnoreCase(NodeTypes.PREFIX_KEY)) {
if (data.getPrefix() != null) {
return Optional.of(data.getPrefix());
String prefix = data.getPrefix(MetaCheckEvent.Origin.PLATFORM_API);
if (prefix != null) {
return Optional.of(prefix);
}
}
if (s.equalsIgnoreCase(NodeTypes.SUFFIX_KEY)) {
if (data.getSuffix() != null) {
return Optional.of(data.getSuffix());
String suffix = data.getSuffix(MetaCheckEvent.Origin.PLATFORM_API);
if (suffix != null) {
return Optional.of(suffix);
}
}
String val = data.getMeta().get(s);
String val = data.getMetaValue(s, MetaCheckEvent.Origin.PLATFORM_API);
if (val != null) {
return Optional.of(val);
}