/* * Copyright (c) 2012 Chris Ellison, Mike Deats, Liron Yahdav, Ryan Neal, * Brandon Sutherlin, Scott Griffin * * This software is released under the MIT license * (http://www.opensource.org/licenses/mit-license.php) * * Created on Apr 3, 2012 */ package edu.cmu.sv.arinc838.reader; import java.io.File; import java.util.List; import edu.cmu.sv.arinc838.binary.BdfFile; import edu.cmu.sv.arinc838.dao.SoftwareDefinitionFileDao; import edu.cmu.sv.arinc838.validation.DataValidator; import edu.cmu.sv.arinc838.validation.SoftwareDefinitionFileValidator; public class BdfReader implements SdfReader { private SoftwareDefinitionFileValidator validator; public BdfReader() { validator = new SoftwareDefinitionFileValidator(new DataValidator()); } @Override public SoftwareDefinitionFileDao read(String filename, List<Exception> errorList) { BdfFile bdf = null; SoftwareDefinitionFileDao sdfDao = null; try { File file = new File(filename); bdf = new BdfFile(file); sdfDao = new SoftwareDefinitionFileDao(bdf, file.getParentFile() .getAbsolutePath()); if (errorList != null) { errorList.addAll(validator.validateSdfFile(sdfDao, file.getName(), bdf)); } } catch (Exception e) { if (errorList != null) { errorList.add(e); } } return sdfDao; } }