mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-11-03 01:10:17 +01:00
Fixed a bug introduced with StringUtils#split
- ConfigReader relied on empty Strings when splitting lines, StringUtils removed empty strings from the split array.
This commit is contained in:
parent
4547272783
commit
6ff04d3bdf
@ -79,7 +79,7 @@ public class ConfigNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String[] splitPathInTwo(String path) {
|
private String[] splitPathInTwo(String path) {
|
||||||
String[] split = StringUtils.split(path, "\\.", 2);
|
String[] split = StringUtils.split(path, ".", 2);
|
||||||
if (split.length <= 1) {
|
if (split.length <= 1) {
|
||||||
return new String[]{split[0], ""};
|
return new String[]{split[0], ""};
|
||||||
}
|
}
|
||||||
|
@ -17,13 +17,13 @@
|
|||||||
package com.djrapitops.plan.system.settings.config;
|
package com.djrapitops.plan.system.settings.config;
|
||||||
|
|
||||||
import com.djrapitops.plugin.utilities.Verify;
|
import com.djrapitops.plugin.utilities.Verify;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
@ -145,7 +145,9 @@ public class ConfigReader implements Closeable {
|
|||||||
|
|
||||||
private ConfigNode parseNode(String line) {
|
private ConfigNode parseNode(String line) {
|
||||||
// Parse a node "Key: value"
|
// Parse a node "Key: value"
|
||||||
String[] keyAndValue = StringUtils.split(line, ":", 2);
|
// Can not use StringUtils.split(line, ":", 2) - Relies on 2nd empty String for parent node parsing
|
||||||
|
String[] keyAndValue = line.split(":", 2);
|
||||||
|
System.out.println(Arrays.toString(keyAndValue));
|
||||||
if (keyAndValue.length <= 1) {
|
if (keyAndValue.length <= 1) {
|
||||||
return handleMultiline(line);
|
return handleMultiline(line);
|
||||||
}
|
}
|
||||||
|
@ -162,7 +162,7 @@ public interface ConfigValueParser<T> {
|
|||||||
@Override
|
@Override
|
||||||
public List<String> compose(String fromValue) {
|
public List<String> compose(String fromValue) {
|
||||||
List<String> values = new ArrayList<>();
|
List<String> values = new ArrayList<>();
|
||||||
for (String line : StringUtils.split(fromValue, "\\n")) {
|
for (String line : StringUtils.split(fromValue, "\n")) {
|
||||||
if (line.trim().isEmpty()) {
|
if (line.trim().isEmpty()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -114,7 +114,7 @@ public class ConfigWriter {
|
|||||||
} else if (StringUtils.contains(value, "\n")) {
|
} else if (StringUtils.contains(value, "\n")) {
|
||||||
// List values include newline characters,
|
// List values include newline characters,
|
||||||
// see ConfigValueParser.StringListParser
|
// see ConfigValueParser.StringListParser
|
||||||
addListValue(key, StringUtils.split(value, "\\n"), lines);
|
addListValue(key, StringUtils.split(value, "\n"), lines);
|
||||||
} else {
|
} else {
|
||||||
addNormalValue(key, value, lines);
|
addNormalValue(key, value, lines);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user