/******************************************************************************* * Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>. * * This file is part of XTPcpp. * * XTPcpp is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * XTPcpp is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with XTPcpp. If not, see <http://www.gnu.org/licenses/>. * * Contributors: * Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and implementation ******************************************************************************/ #include "project.h" #include "../input/xpipsaxhandler.h" #include "peptidematch.h" Project::Project() { } Project::~Project() { auto it = _identification_goup_list.begin(); while (it != _identification_goup_list.end()) { delete (*it); it++; } } ProjectSp Project::makeProjectSp() const { return std::make_shared<Project>(*this); } IdentificationGroup* Project::newIdentificationGroup() { _p_current_identification_group = new IdentificationGroup(this); _identification_goup_list.push_back(_p_current_identification_group); return _p_current_identification_group; } void Project::readXpipFile(QFileInfo xpip_fileinfo) { XpipSaxHandler * parser = new XpipSaxHandler(this); QXmlSimpleReader simplereader; simplereader.setContentHandler(parser); simplereader.setErrorHandler(parser); qDebug() << "Read XPIP XML result file '" << xpip_fileinfo.absoluteFilePath() << "'"; QFile qfile(xpip_fileinfo.absoluteFilePath()); QXmlInputSource xmlInputSource(&qfile); if (simplereader.parse(xmlInputSource)) { qfile.close(); } else { qDebug() << parser->errorString(); // throw PappsoException( // QObject::tr("error reading tandem XML result file :\n").append( // parser->errorString())); qfile.close(); throw pappso::PappsoException(QObject::tr("Error reading %1 XPIP file :\n %2").arg(xpip_fileinfo.absoluteFilePath()).arg(parser->errorString())); } } IdentificationGroup* Project::getCurrentIdentificationGroupP() const { return _p_current_identification_group; } bool Project::isValid(PeptideMatch* p_peptide_match) const { return true; }