Properly sort storage files - closes #227
This commit is contained in:
@@ -152,12 +152,22 @@ public class ArgumentUtils {
|
||||
continue;
|
||||
}
|
||||
|
||||
List<String> keyValue = CONTEXT_SPLITTER.splitToList(pair);
|
||||
if (keyValue.size() != 2) {
|
||||
int index = pair.indexOf('=');
|
||||
if (index == -1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
set.add(keyValue.get(0), keyValue.get(1));
|
||||
String key = pair.substring(0, index);
|
||||
if (key.equals("")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
String value = pair.substring(index + 1);
|
||||
if (value.equals("")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
set.add(key, value);
|
||||
}
|
||||
|
||||
return set;
|
||||
|
||||
@@ -53,6 +53,7 @@ import java.nio.file.Files;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -171,7 +172,7 @@ public class JSONBacking extends FlatfileBacking {
|
||||
data.addProperty("name", user.getName());
|
||||
data.addProperty("primaryGroup", user.getPrimaryGroup().getStoredValue());
|
||||
|
||||
Set<NodeDataHolder> nodes = user.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toSet());
|
||||
Set<NodeDataHolder> nodes = user.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
data.add("permissions", serializePermissions(nodes));
|
||||
|
||||
return writeElementToFile(userFile, data);
|
||||
@@ -270,7 +271,7 @@ public class JSONBacking extends FlatfileBacking {
|
||||
JsonObject data = new JsonObject();
|
||||
data.addProperty("name", group.getName());
|
||||
|
||||
Set<NodeDataHolder> nodes = group.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toSet());
|
||||
Set<NodeDataHolder> nodes = group.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
data.add("permissions", serializePermissions(nodes));
|
||||
|
||||
return writeElementToFile(groupFile, data);
|
||||
@@ -321,7 +322,7 @@ public class JSONBacking extends FlatfileBacking {
|
||||
|
||||
JsonObject data = new JsonObject();
|
||||
data.addProperty("name", group.getName());
|
||||
Set<NodeDataHolder> nodes = group.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toSet());
|
||||
Set<NodeDataHolder> nodes = group.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
data.add("permissions", serializePermissions(nodes));
|
||||
return writeElementToFile(groupFile, data);
|
||||
}, false);
|
||||
|
||||
@@ -28,7 +28,6 @@ import com.google.common.collect.Iterables;
|
||||
|
||||
import me.lucko.luckperms.api.HeldPermission;
|
||||
import me.lucko.luckperms.api.Node;
|
||||
import me.lucko.luckperms.common.core.PriorityComparator;
|
||||
import me.lucko.luckperms.common.core.UserIdentifier;
|
||||
import me.lucko.luckperms.common.core.model.Group;
|
||||
import me.lucko.luckperms.common.core.model.Track;
|
||||
@@ -52,6 +51,7 @@ import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -171,7 +171,7 @@ public class YAMLBacking extends FlatfileBacking {
|
||||
values.put("name", user.getName());
|
||||
values.put("primary-group", user.getPrimaryGroup().getStoredValue());
|
||||
|
||||
Set<NodeDataHolder> data = user.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toSet());
|
||||
Set<NodeDataHolder> data = user.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
values.put("permissions", serializePermissions(data));
|
||||
|
||||
return writeMapToFile(userFile, values);
|
||||
@@ -268,7 +268,7 @@ public class YAMLBacking extends FlatfileBacking {
|
||||
|
||||
Map<String, Object> values = new LinkedHashMap<>();
|
||||
values.put("name", group.getName());
|
||||
Set<NodeDataHolder> data = group.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toSet());
|
||||
Set<NodeDataHolder> data = group.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
values.put("permissions", serializePermissions(data));
|
||||
return writeMapToFile(groupFile, values);
|
||||
}
|
||||
@@ -318,7 +318,7 @@ public class YAMLBacking extends FlatfileBacking {
|
||||
|
||||
Map<String, Object> values = new LinkedHashMap<>();
|
||||
values.put("name", group.getName());
|
||||
Set<NodeDataHolder> data = group.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toSet());
|
||||
Set<NodeDataHolder> data = group.getNodes().values().stream().map(NodeDataHolder::fromNode).collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
values.put("permissions", serializePermissions(data));
|
||||
return writeMapToFile(groupFile, values);
|
||||
}, false);
|
||||
@@ -547,11 +547,6 @@ public class YAMLBacking extends FlatfileBacking {
|
||||
data.add(perm);
|
||||
}
|
||||
|
||||
data.sort((o1, o2) -> PriorityComparator.get().compareStrings(
|
||||
Iterables.getFirst(o1.keySet(), ""),
|
||||
Iterables.getFirst(o2.keySet(), ""))
|
||||
);
|
||||
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-2
@@ -35,6 +35,7 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
@@ -81,7 +82,7 @@ public class LegacyJSONSchemaMigration implements Runnable {
|
||||
Set<NodeDataHolder> nodes = perms.entrySet().stream()
|
||||
.map(e -> NodeFactory.fromSerialisedNode(e.getKey(), e.getValue()))
|
||||
.map(NodeDataHolder::fromNode)
|
||||
.collect(Collectors.toSet());
|
||||
.collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
|
||||
if (!replacementFile.exists()) {
|
||||
try {
|
||||
@@ -135,7 +136,7 @@ public class LegacyJSONSchemaMigration implements Runnable {
|
||||
Set<NodeDataHolder> nodes = perms.entrySet().stream()
|
||||
.map(e -> NodeFactory.fromSerialisedNode(e.getKey(), e.getValue()))
|
||||
.map(NodeDataHolder::fromNode)
|
||||
.collect(Collectors.toSet());
|
||||
.collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
|
||||
if (!replacementFile.exists()) {
|
||||
try {
|
||||
|
||||
+3
-2
@@ -33,6 +33,7 @@ import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
@@ -76,7 +77,7 @@ public class LegacyYAMLSchemaMigration implements Runnable {
|
||||
Set<NodeDataHolder> nodes = perms.entrySet().stream()
|
||||
.map(e -> NodeFactory.fromSerialisedNode(e.getKey(), e.getValue()))
|
||||
.map(NodeDataHolder::fromNode)
|
||||
.collect(Collectors.toSet());
|
||||
.collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
|
||||
if (!replacementFile.exists()) {
|
||||
try {
|
||||
@@ -127,7 +128,7 @@ public class LegacyYAMLSchemaMigration implements Runnable {
|
||||
Set<NodeDataHolder> nodes = perms.entrySet().stream()
|
||||
.map(e -> NodeFactory.fromSerialisedNode(e.getKey(), e.getValue()))
|
||||
.map(NodeDataHolder::fromNode)
|
||||
.collect(Collectors.toSet());
|
||||
.collect(Collectors.toCollection(LinkedHashSet::new));
|
||||
|
||||
if (!replacementFile.exists()) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user