/** Constructs ESA Tables, one esa header corresponds to one esa table */ private void yieldEsaTables() { // algorithm is: // 1. acquire the eiaHeader of the current file; // 2. construct the ESA table one channel after another; // 3. update the status. int numberOfOpenedFiles = sourceFiles.size(); ArrayList<ESATable> esaTables = new ArrayList<ESATable>(numberOfOpenedFiles); ESAHeader esaHeader; ESATable esaTable; for (int i = 0; i < numberOfOpenedFiles; i++) { // Get ESAHeader from each EDF file header esaHeader = MainWindow.srcEdfFileHeaders.get(i).getEsaHeader(); // 1. // Create ESATable using ESAHeader esaTable = new ESATable(esaHeader, true); esaTables.add(i, esaTable); // 2. // configure the status Boolean savedOnce = false; // start of 3. Boolean updateSinceLastSave = true; File workingFile = MainWindow.getWkEdfFiles().get(i); int cat = EDFTable.MasterHeaderCategory.ESA_WORKSET; esaTable.setStatesAllInOne( savedOnce, updateSinceLastSave, workingFile, cat, i); // end of 4. esaTable.setSourceMasterFile(sourceFiles.get(i)); // set source file // by wei wang // if(readingFileCount < numberOfOpenedFiles) { // increaseReadingFileCount(); // } } MainWindow.setIniEsaTables(esaTables); MainWindow.setDupEsaTables(esaTables); }