From a60f91ad002d25a9bdbc75743fdc1f8677d7c904 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sat, 2 Sep 2023 11:53:12 -0500 Subject: [PATCH] refactor FileScanUtil --- .../fullDatafile/FullDataFileHandler.java | 2 +- .../renderfile/RenderSourceFileHandler.java | 2 +- .../core/util/FileScanUtil.java | 60 +++++++++---------- 3 files changed, 30 insertions(+), 34 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/FullDataFileHandler.java b/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/FullDataFileHandler.java index 62c34ddb4..6793f9e0e 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/FullDataFileHandler.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/FullDataFileHandler.java @@ -83,7 +83,7 @@ public class FullDataFileHandler implements IFullDataSourceProvider { LOGGER.warn("Unable to create full data folder, file saving may fail."); } - FileScanUtil.scanFiles(saveStructure, level.getLevelWrapper(), this, null); + FileScanUtil.scanFullDataFiles(saveStructure, level.getLevelWrapper(), this); } // constructor helpers // diff --git a/core/src/main/java/com/seibel/distanthorizons/core/file/renderfile/RenderSourceFileHandler.java b/core/src/main/java/com/seibel/distanthorizons/core/file/renderfile/RenderSourceFileHandler.java index 0941c6283..3e135be3c 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/file/renderfile/RenderSourceFileHandler.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/file/renderfile/RenderSourceFileHandler.java @@ -101,7 +101,7 @@ public class RenderSourceFileHandler implements ILodRenderSourceProvider this.threadPoolMsg = new F3Screen.NestedMessage(this::f3Log); - FileScanUtil.scanFiles(saveStructure, level.getLevelWrapper(), null, this); + FileScanUtil.scanRenderFiles(saveStructure, level.getLevelWrapper(), this); } /** Returns what should be displayed in Minecraft's F3 debug menu */ diff --git a/core/src/main/java/com/seibel/distanthorizons/core/util/FileScanUtil.java b/core/src/main/java/com/seibel/distanthorizons/core/util/FileScanUtil.java index 0f62ac1ba..430897d5f 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/util/FileScanUtil.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/util/FileScanUtil.java @@ -35,7 +35,7 @@ import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; -// Static util class?? +/** Used to pull in the initial files used by both {@link IFullDataSourceProvider} and {@link ILodRenderSourceProvider}s. */ public class FileScanUtil { private static final Logger LOGGER = DhLoggerBuilder.getLogger(); @@ -43,41 +43,37 @@ public class FileScanUtil public static final String LOD_FILE_POSTFIX = ".lod"; public static final String RENDER_FILE_POSTFIX = ".rlod"; - public static void scanFiles( - AbstractSaveStructure saveStructure, ILevelWrapper levelWrapper, - @Nullable IFullDataSourceProvider dataSourceProvider, - @Nullable ILodRenderSourceProvider renderSourceProvider) + + + public static void scanFullDataFiles(AbstractSaveStructure saveStructure, ILevelWrapper levelWrapper, IFullDataSourceProvider dataSourceProvider) { - if (dataSourceProvider != null) + try (Stream pathStream = Files.walk(saveStructure.getFullDataFolder(levelWrapper).toPath(), MAX_SCAN_DEPTH)) { - try (Stream pathStream = Files.walk(saveStructure.getFullDataFolder(levelWrapper).toPath(), MAX_SCAN_DEPTH)) - { - List files = pathStream.filter( - path -> path.toFile().getName().endsWith(LOD_FILE_POSTFIX) && path.toFile().isFile() - ).map(Path::toFile).collect(Collectors.toList()); - LOGGER.info("Found " + files.size() + " full data files for " + levelWrapper + " in " + saveStructure); - dataSourceProvider.addScannedFile(files); - } - catch (Exception e) - { - LOGGER.error("Failed to scan and collect full data files for " + levelWrapper + " in " + saveStructure, e); - } + List files = pathStream.filter( + path -> path.toFile().getName().endsWith(LOD_FILE_POSTFIX) && path.toFile().isFile() + ).map(Path::toFile).collect(Collectors.toList()); + LOGGER.info("Found " + files.size() + " full data files for " + levelWrapper + " in " + saveStructure); + dataSourceProvider.addScannedFile(files); } - - if (renderSourceProvider != null) + catch (Exception e) { - try (Stream pathStream = Files.walk(saveStructure.getRenderCacheFolder(levelWrapper).toPath(), MAX_SCAN_DEPTH)) - { - List files = pathStream.filter( - path -> path.toFile().getName().endsWith(RENDER_FILE_POSTFIX) && path.toFile().isFile() - ).map(Path::toFile).collect(Collectors.toList()); - LOGGER.info("Found " + files.size() + " render cache files for " + levelWrapper + " in " + saveStructure); - renderSourceProvider.addScannedFile(files); - } - catch (Exception e) - { - LOGGER.error("Failed to scan and collect cache files for " + levelWrapper + " in " + saveStructure, e); - } + LOGGER.error("Failed to scan and collect full data files for " + levelWrapper + " in " + saveStructure, e); + } + } + + public static void scanRenderFiles(AbstractSaveStructure saveStructure, ILevelWrapper levelWrapper, ILodRenderSourceProvider renderSourceProvider) + { + try (Stream pathStream = Files.walk(saveStructure.getRenderCacheFolder(levelWrapper).toPath(), MAX_SCAN_DEPTH)) + { + List files = pathStream.filter( + path -> path.toFile().getName().endsWith(RENDER_FILE_POSTFIX) && path.toFile().isFile() + ).map(Path::toFile).collect(Collectors.toList()); + LOGGER.info("Found " + files.size() + " render cache files for " + levelWrapper + " in " + saveStructure); + renderSourceProvider.addScannedFile(files); + } + catch (Exception e) + { + LOGGER.error("Failed to scan and collect cache files for " + levelWrapper + " in " + saveStructure, e); } }