package konogonka.Workers; import javafx.concurrent.Task; import konogonka.ModelControllers.EMsgType; import konogonka.ModelControllers.LogPrinter; import libKonogonka.Tools.RomFs.FileSystemEntry; import libKonogonka.Tools.RomFs.RomFsProvider; import java.util.List; public class DumbRomFsExtractor extends Task { private final RomFsProvider provider; private FileSystemEntry entry; private List entries; private final LogPrinter logPrinter; private final String filesDestPath; public DumbRomFsExtractor(RomFsProvider provider, List entries, String filesDestPath){ this.provider = provider; this.entries = entries; this.filesDestPath = filesDestPath; this.logPrinter = new LogPrinter(); } public DumbRomFsExtractor(RomFsProvider provider, FileSystemEntry entry, String filesDestPath){ this.provider = provider; this.entry = entry; this.filesDestPath = filesDestPath; this.logPrinter = new LogPrinter(); } @Override protected Void call() { try { if (this.entries == null){ logPrinter.print("\tStart dummy extracting from 'RomFs' image: \n"+filesDestPath+entry.getName(), EMsgType.INFO); provider.exportContent(filesDestPath, entry); } else { logPrinter.print("\tStart dummy extracting from 'RomFs' image: \n"+filesDestPath+"...", EMsgType.INFO); for (FileSystemEntry e : entries) provider.exportContent(filesDestPath, e); } } catch (Exception ioe) { logPrinter.print("\tDummy extracting from 'RomFs' image issue\n\t" + ioe.getMessage(), EMsgType.INFO); return null; } finally { logPrinter.print("\tEnd dummy extracting from 'RomFs' image extracting", EMsgType.INFO); logPrinter.close(); } return null; } }