mirror of
https://github.com/LuckPerms/LuckPerms.git
synced 2024-11-06 19:09:31 +01:00
Maybe fix issue with corrupted permission migration
This commit is contained in:
parent
e296b1df60
commit
db9d84ed76
@ -26,11 +26,13 @@ import com.google.common.base.Splitter;
|
|||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
import com.google.common.cache.CacheLoader;
|
import com.google.common.cache.CacheLoader;
|
||||||
import com.google.common.cache.LoadingCache;
|
import com.google.common.cache.LoadingCache;
|
||||||
|
import com.google.common.util.concurrent.UncheckedExecutionException;
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
import me.lucko.luckperms.api.MetaUtils;
|
import me.lucko.luckperms.api.MetaUtils;
|
||||||
import me.lucko.luckperms.api.Node;
|
import me.lucko.luckperms.api.Node;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class to make Node(Builder) instances from serialised strings or existing Nodes
|
* Utility class to make Node(Builder) instances from serialised strings or existing Nodes
|
||||||
@ -40,7 +42,7 @@ public class NodeFactory {
|
|||||||
private static final LoadingCache<String, Node> CACHE = CacheBuilder.newBuilder()
|
private static final LoadingCache<String, Node> CACHE = CacheBuilder.newBuilder()
|
||||||
.build(new CacheLoader<String, Node>() {
|
.build(new CacheLoader<String, Node>() {
|
||||||
@Override
|
@Override
|
||||||
public Node load(String s) {
|
public Node load(String s) throws Exception {
|
||||||
return builderFromSerialisedNode(s, true).build();
|
return builderFromSerialisedNode(s, true).build();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -48,13 +50,17 @@ public class NodeFactory {
|
|||||||
private static final LoadingCache<String, Node> CACHE_NEGATED = CacheBuilder.newBuilder()
|
private static final LoadingCache<String, Node> CACHE_NEGATED = CacheBuilder.newBuilder()
|
||||||
.build(new CacheLoader<String, Node>() {
|
.build(new CacheLoader<String, Node>() {
|
||||||
@Override
|
@Override
|
||||||
public Node load(String s) {
|
public Node load(String s) throws Exception {
|
||||||
return builderFromSerialisedNode(s, false).build();
|
return builderFromSerialisedNode(s, false).build();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
public static Node fromSerialisedNode(String s, Boolean b) {
|
public static Node fromSerialisedNode(String s, Boolean b) {
|
||||||
return b ? CACHE.getUnchecked(s) : CACHE_NEGATED.getUnchecked(s);
|
try {
|
||||||
|
return b ? CACHE.get(s) : CACHE_NEGATED.get(s);
|
||||||
|
} catch (UncheckedExecutionException | ExecutionException e) {
|
||||||
|
throw new IllegalArgumentException(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Node.Builder newBuilder(String s) {
|
public static Node.Builder newBuilder(String s) {
|
||||||
|
Loading…
Reference in New Issue
Block a user