package edu.cmu.sv.arinc838.ui.item; import java.util.ArrayList; import edu.cmu.sv.arinc838.dao.SoftwareDefinitionFileDao; import edu.cmu.sv.arinc838.reader.SdfReader; import edu.cmu.sv.arinc838.ui.ErrorPrinter; public class SdfReadItem extends AbstractMenuItem { private SdfReader reader; private String lastFilename = ""; public SdfReadItem(String prompt, SdfReader reader) { super(prompt); this.reader = reader; } public String getFilename () { return lastFilename; } @Override public MenuItem[] execute(SoftwareDefinitionFileDao sdfDao) throws Exception { String filename = promptForResponse("Which file?"); this.lastFilename = filename; ArrayList<Exception> errorList = new ArrayList<Exception>(); SoftwareDefinitionFileDao read = reader.read(filename, errorList); if (errorList.isEmpty()) { sdfDao.initialize(read); System.out.println("Successfully read in " + filename); } else { ErrorPrinter.printErrors(filename, errorList); } return this.getEmptyItems(); } }