refactor FileScanUtil
This commit is contained in:
+1
-1
@@ -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 //
|
||||
|
||||
+1
-1
@@ -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 */
|
||||
|
||||
@@ -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<Path> pathStream = Files.walk(saveStructure.getFullDataFolder(levelWrapper).toPath(), MAX_SCAN_DEPTH))
|
||||
{
|
||||
try (Stream<Path> pathStream = Files.walk(saveStructure.getFullDataFolder(levelWrapper).toPath(), MAX_SCAN_DEPTH))
|
||||
{
|
||||
List<File> 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<File> 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<Path> pathStream = Files.walk(saveStructure.getRenderCacheFolder(levelWrapper).toPath(), MAX_SCAN_DEPTH))
|
||||
{
|
||||
List<File> 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<Path> pathStream = Files.walk(saveStructure.getRenderCacheFolder(levelWrapper).toPath(), MAX_SCAN_DEPTH))
|
||||
{
|
||||
List<File> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user