mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-03-10 13:49:17 +01:00
APF 2.0.3
Fixes #234 #233 #237 Fixes Files.lines streams not being closed
This commit is contained in:
parent
298286180c
commit
9e78f62267
@ -28,7 +28,7 @@
|
||||
<dependency>
|
||||
<groupId>com.djrapitops</groupId>
|
||||
<artifactId>abstract-plugin-framework</artifactId>
|
||||
<version>2.0.2</version>
|
||||
<version>2.0.3</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<!-- SoftDepended Plugins-->
|
||||
|
@ -285,7 +285,7 @@ public class Locale implements Closeable {
|
||||
}
|
||||
|
||||
private void loadFromFile(File localeFile) throws IOException {
|
||||
loadFromContents(Files.lines(localeFile.toPath(), StandardCharsets.UTF_8).collect(Collectors.toList()), "Custom File");
|
||||
loadFromContents(FileUtil.lines(localeFile), "Custom File");
|
||||
}
|
||||
|
||||
private void loadFromResource(String fileName) {
|
||||
|
@ -96,7 +96,7 @@ public enum Html {
|
||||
String[] split = localeRow.split(" <> ");
|
||||
Html.valueOf(split[0]).setHtml(split[1]);
|
||||
} catch (IllegalArgumentException e) {
|
||||
Log.error("There is a miswritten line in locale on line " + localeRows.indexOf(localeRow));
|
||||
Log.error("There is a miswritten lines in locale on lines " + localeRows.indexOf(localeRow));
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
|
@ -1,5 +1,6 @@
|
||||
package main.java.com.djrapitops.plan.utilities.file;
|
||||
|
||||
import com.djrapitops.plugin.utilities.Verify;
|
||||
import main.java.com.djrapitops.plan.Plan;
|
||||
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
@ -8,9 +9,14 @@ import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Scanner;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public class FileUtil {
|
||||
|
||||
@ -55,4 +61,18 @@ public class FileUtil {
|
||||
return lines;
|
||||
}
|
||||
|
||||
public static List<String> lines(File file) throws IOException {
|
||||
return lines(file, StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
public static List<String> lines(File file, Charset charset) throws IOException {
|
||||
List<String> lines = new ArrayList<>();
|
||||
if (Verify.exists(file)) {
|
||||
try (Stream<String> linesStream = Files.lines(file.toPath(), charset)) {
|
||||
lines = linesStream.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
return lines;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,19 +1,19 @@
|
||||
package main.java.com.djrapitops.plan.utilities.file.dump;
|
||||
|
||||
import com.djrapitops.plugin.utilities.Verify;
|
||||
import main.java.com.djrapitops.plan.Log;
|
||||
import main.java.com.djrapitops.plan.Plan;
|
||||
import main.java.com.djrapitops.plan.Settings;
|
||||
import main.java.com.djrapitops.plan.utilities.file.FileUtil;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.lang.management.RuntimeMXBean;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.MalformedInputException;
|
||||
import java.nio.file.FileSystems;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
@ -247,9 +247,9 @@ public class DumpUtils {
|
||||
* @throws IOException when an error while reading occurred
|
||||
*/
|
||||
private static void addErrorLog(DumpLog log, Plan plan) throws IOException {
|
||||
Path errorFile = FileSystems.getDefault().getPath(plan.getDataFolder().getAbsolutePath(), Log.getErrorsFilename());
|
||||
File errorFile = new File(plan.getDataFolder(), plan.getPluginLogger().getErrorsFilename());
|
||||
|
||||
if (Files.notExists(errorFile)) {
|
||||
if (!Verify.exists(errorFile)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -267,12 +267,11 @@ public class DumpUtils {
|
||||
* @throws IOException when an error while reading occurred
|
||||
*/
|
||||
private static void addDebugLog(DumpLog log, Plan plan) throws IOException {
|
||||
Path debugFile = FileSystems.getDefault().getPath(plan.getDataFolder().getAbsolutePath(), "DebugLog.txt");
|
||||
File debugFile = new File(plan.getDataFolder(), plan.getPluginLogger().getDebugFilename());
|
||||
|
||||
if (Files.notExists(debugFile)) {
|
||||
if (!Verify.exists(debugFile)) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<String> lines = readLines(debugFile);
|
||||
|
||||
log.addHeader("Debug Log");
|
||||
@ -286,7 +285,7 @@ public class DumpUtils {
|
||||
* @return The lines
|
||||
* @throws IOException when an error while reading occurred
|
||||
*/
|
||||
private static List<String> readLines(Path file) throws IOException {
|
||||
private static List<String> readLines(File file) throws IOException {
|
||||
for (Charset charset : Charset.availableCharsets().values()) {
|
||||
try {
|
||||
return readLines(file, charset);
|
||||
@ -306,7 +305,7 @@ public class DumpUtils {
|
||||
* @return The lines
|
||||
* @throws IOException when an error while reading occurred
|
||||
*/
|
||||
private static List<String> readLines(Path file, Charset charset) throws IOException {
|
||||
return Files.lines(file, charset).collect(Collectors.toList());
|
||||
private static List<String> readLines(File file, Charset charset) throws IOException {
|
||||
return FileUtil.lines(file, charset);
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ import main.java.com.djrapitops.plan.data.cache.queue.DataCacheGetQueue;
|
||||
import main.java.com.djrapitops.plan.database.Database;
|
||||
import main.java.com.djrapitops.plan.database.databases.SQLiteDB;
|
||||
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
||||
import main.java.com.djrapitops.plan.utilities.file.FileUtil;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.junit.After;
|
||||
@ -26,11 +27,9 @@ import test.java.utils.TestInit;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.file.Files;
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
@ -82,10 +81,7 @@ public class DataCacheGetQueueTest {
|
||||
}
|
||||
};
|
||||
File f = new File(plan.getDataFolder(), "Errors.txt");
|
||||
rows = 0;
|
||||
if (f.exists()) {
|
||||
rows = Files.lines(f.toPath(), Charset.defaultCharset()).collect(Collectors.toList()).size();
|
||||
}
|
||||
rows = FileUtil.lines(f).size();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -96,9 +92,12 @@ public class DataCacheGetQueueTest {
|
||||
public void tearDown() throws IOException, SQLException {
|
||||
db.close();
|
||||
File f = new File(plan.getDataFolder(), "Errors.txt");
|
||||
int rowsAgain = 0;
|
||||
if (f.exists()) {
|
||||
rowsAgain = Files.lines(f.toPath(), Charset.defaultCharset()).collect(Collectors.toList()).size();
|
||||
List<String> lines = FileUtil.lines(f);
|
||||
int rowsAgain = lines.size();
|
||||
if (rowsAgain > 0) {
|
||||
for (String line : lines) {
|
||||
System.out.println(line);
|
||||
}
|
||||
}
|
||||
assertTrue("Errors were caught.", rows == rowsAgain);
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ import main.java.com.djrapitops.plan.database.Database;
|
||||
import main.java.com.djrapitops.plan.database.databases.SQLiteDB;
|
||||
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
||||
import main.java.com.djrapitops.plan.utilities.PassEncryptUtil;
|
||||
import main.java.com.djrapitops.plan.utilities.file.FileUtil;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
@ -21,8 +22,6 @@ import test.java.utils.TestInit;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.file.Files;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
@ -58,10 +57,7 @@ public class DatabaseCommitTest {
|
||||
}
|
||||
};
|
||||
File f = new File(plan.getDataFolder(), "Errors.txt");
|
||||
rows = 0;
|
||||
if (f.exists()) {
|
||||
rows = Files.lines(f.toPath(), Charset.defaultCharset()).collect(Collectors.toList()).size();
|
||||
}
|
||||
rows = FileUtil.lines(f).size();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -72,10 +68,9 @@ public class DatabaseCommitTest {
|
||||
public void tearDown() throws IOException, SQLException {
|
||||
db.close();
|
||||
File f = new File(plan.getDataFolder(), "Errors.txt");
|
||||
int rowsAgain = 0;
|
||||
if (f.exists()) {
|
||||
List<String> lines = Files.lines(f.toPath(), Charset.defaultCharset()).collect(Collectors.toList());
|
||||
rowsAgain = lines.size();
|
||||
List<String> lines = FileUtil.lines(f);
|
||||
int rowsAgain = lines.size();
|
||||
if (rowsAgain > 0) {
|
||||
for (String line : lines) {
|
||||
System.out.println(line);
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ import main.java.com.djrapitops.plan.database.tables.TPSTable;
|
||||
import main.java.com.djrapitops.plan.utilities.ManageUtils;
|
||||
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
||||
import main.java.com.djrapitops.plan.utilities.analysis.MathUtils;
|
||||
import main.java.com.djrapitops.plan.utilities.file.FileUtil;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
@ -37,11 +38,8 @@ import java.lang.management.ManagementFactory;
|
||||
import java.lang.management.OperatingSystemMXBean;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.file.Files;
|
||||
import java.sql.SQLException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
@ -84,10 +82,7 @@ public class DatabaseTest {
|
||||
}
|
||||
};
|
||||
File f = new File(plan.getDataFolder(), "Errors.txt");
|
||||
rows = 0;
|
||||
if (f.exists()) {
|
||||
rows = Files.lines(f.toPath(), Charset.defaultCharset()).collect(Collectors.toList()).size();
|
||||
}
|
||||
rows = FileUtil.lines(f).size();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -101,10 +96,10 @@ public class DatabaseTest {
|
||||
backup.close();
|
||||
}
|
||||
File f = new File(plan.getDataFolder(), "Errors.txt");
|
||||
int rowsAgain = 0;
|
||||
if (f.exists()) {
|
||||
List<String> lines = Files.lines(f.toPath(), Charset.defaultCharset()).collect(Collectors.toList());
|
||||
rowsAgain = lines.size();
|
||||
|
||||
List<String> lines = FileUtil.lines(f);
|
||||
int rowsAgain = lines.size();
|
||||
if (rowsAgain > 0) {
|
||||
for (String line : lines) {
|
||||
System.out.println(line);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user