libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::XmlStreamReaderInterface Class Referenceabstract

convenient xml reader helper More...

#include <xmlstreamreaderinterface.h>

Inheritance diagram for pappso::XmlStreamReaderInterface:
pappso::WrapTandemInput pappso::WrapTandemResults pappso::XtandemPresetReader pappso::cbor::mzcbor::MzmlConvert pappso::cbor::psm::MzIdentMlReader

Public Member Functions

 XmlStreamReaderInterface ()
virtual ~XmlStreamReaderInterface ()
virtual bool readFile (const QString &fileName)
bool read (QIODevice *device)
bool read (const QString &xml_content)
QString errorString () const

Protected Member Functions

virtual void readStream ()=0
void cloneStartElement (QXmlStreamWriter &output) const
void cloneElement (QXmlStreamWriter &output)
void cloneNode (QXmlStreamWriter &output)

Protected Attributes

QXmlStreamReader m_qxmlStreamReader

Detailed Description

convenient xml reader helper

Definition at line 40 of file xmlstreamreaderinterface.h.

Constructor & Destructor Documentation

◆ XmlStreamReaderInterface()

XmlStreamReaderInterface::XmlStreamReaderInterface ( )

Default constructor

Definition at line 37 of file xmlstreamreaderinterface.cpp.

38{
39}

◆ ~XmlStreamReaderInterface()

XmlStreamReaderInterface::~XmlStreamReaderInterface ( )
virtual

Destructor

Definition at line 41 of file xmlstreamreaderinterface.cpp.

42{
43}

Member Function Documentation

◆ cloneElement()

void pappso::XmlStreamReaderInterface::cloneElement ( QXmlStreamWriter & output)
protected

Definition at line 120 of file xmlstreamreaderinterface.cpp.

121{
122 qDebug() << " name=" << m_qxmlStreamReader.name();
123 output.writeStartElement(m_qxmlStreamReader.namespaceUri().toString(),
124 m_qxmlStreamReader.name().toString());
125 output.writeAttributes(m_qxmlStreamReader.attributes());
126
127 qDebug() << m_qxmlStreamReader.name();
128 while(m_qxmlStreamReader.readNext() && !m_qxmlStreamReader.isEndElement())
129 {
130 cloneNode(output);
131 if(output.hasError())
132 {
133 qDebug();
134 m_qxmlStreamReader.raiseError(QObject::tr("Error in output stream"));
135 }
136 }
137 qDebug();
138 output.writeEndElement();
139}
void cloneNode(QXmlStreamWriter &output)

References cloneNode(), and m_qxmlStreamReader.

Referenced by cloneNode(), pappso::WrapTandemResults::process_group_note(), pappso::WrapTandemResults::readStream(), and readStream().

◆ cloneNode()

void pappso::XmlStreamReaderInterface::cloneNode ( QXmlStreamWriter & output)
protected

Definition at line 142 of file xmlstreamreaderinterface.cpp.

143{
144 qDebug();
145 if(m_qxmlStreamReader.isCharacters())
146 {
147 qDebug() << "isCharacters " << m_qxmlStreamReader.text();
148 if((m_qxmlStreamReader.text().toString() == "\n") ||
149 (m_qxmlStreamReader.text().toString() == "\n\t"))
150 {
151 // xml cleaner
152 }
153 else
154 {
155 output.writeCharacters(m_qxmlStreamReader.text().toString().trimmed());
156 }
157 }
158 else if(m_qxmlStreamReader.isEndElement())
159 {
160 qDebug() << "isEndElement";
161 output.writeEndElement();
162 }
163 else if(m_qxmlStreamReader.isStartElement())
164 {
165 qDebug() << "isStartElement";
166 cloneElement(output);
167 }
168 else
169 {
170 }
171 qDebug();
172}
void cloneElement(QXmlStreamWriter &output)

References cloneElement(), and m_qxmlStreamReader.

Referenced by cloneElement(), and readStream().

◆ cloneStartElement()

void pappso::XmlStreamReaderInterface::cloneStartElement ( QXmlStreamWriter & output) const
protected

Definition at line 108 of file xmlstreamreaderinterface.cpp.

109{
110 output.writeStartElement(m_qxmlStreamReader.name().toString());
111
112 for(auto declaration : m_qxmlStreamReader.namespaceDeclarations())
113 {
114 output.writeNamespace(declaration.namespaceUri().toString(), declaration.prefix().toString());
115 }
116 output.writeAttributes(m_qxmlStreamReader.attributes());
117}

References m_qxmlStreamReader.

Referenced by pappso::WrapTandemResults::process_group_note(), pappso::WrapTandemInput::readStream(), pappso::WrapTandemResults::readStream(), and readStream().

◆ errorString()

QString pappso::XmlStreamReaderInterface::errorString ( ) const

Definition at line 46 of file xmlstreamreaderinterface.cpp.

47{
48 if(m_qxmlStreamReader.errorString().isEmpty())
49 return "";
50 else
51 {
52 QString error = QObject::tr("ERROR at line %1 column %2\n%3")
53 .arg(m_qxmlStreamReader.lineNumber())
54 .arg(m_qxmlStreamReader.columnNumber())
55 .arg(m_qxmlStreamReader.errorString());
56 return error;
57 }
58}

References m_qxmlStreamReader.

Referenced by pappso::cbor::psm::MzIdentMlReader::MzIdentMlReader(), pappso::TandemWrapperRun::readTandemPresetFile(), pappso::TandemWrapperRun::wrapTandemInputFile(), and pappso::TandemWrapperRun::writeFinalTandemOutput().

◆ read() [1/2]

bool pappso::XmlStreamReaderInterface::read ( const QString & xml_content)

Definition at line 98 of file xmlstreamreaderinterface.cpp.

99{
100 m_qxmlStreamReader.clear();
101 m_qxmlStreamReader.addData(xml_content);
102 m_qxmlStreamReader.setNamespaceProcessing(true);
103 readStream();
104
105 return !m_qxmlStreamReader.error();
106}

References m_qxmlStreamReader, and readStream().

◆ read() [2/2]

bool pappso::XmlStreamReaderInterface::read ( QIODevice * device)

Definition at line 87 of file xmlstreamreaderinterface.cpp.

88{
89
90 m_qxmlStreamReader.setDevice(device);
91 m_qxmlStreamReader.setNamespaceProcessing(true);
92 readStream();
93
94 return !m_qxmlStreamReader.error();
95}

References m_qxmlStreamReader, and readStream().

Referenced by readFile().

◆ readFile()

bool pappso::XmlStreamReaderInterface::readFile ( const QString & fileName)
virtual

Definition at line 61 of file xmlstreamreaderinterface.cpp.

62{
63 QFile file(fileName);
64 if(!file.open(QFile::ReadOnly | QFile::Text))
65 {
66 m_qxmlStreamReader.raiseError(QObject::tr("Cannot read file %1 : %2")
67 .arg(QFileInfo(fileName).absoluteFilePath())
68 .arg(m_qxmlStreamReader.errorString()));
69 return false;
70 }
71
72 if(read(&file))
73 {
74 file.close();
75 return true;
76 }
77 else
78 {
79 file.close();
80 m_qxmlStreamReader.raiseError(QObject::tr("Error reading file %1 : %2")
81 .arg(QFileInfo(fileName).absoluteFilePath())
82 .arg(m_qxmlStreamReader.errorString()));
83 return false;
84 }
85}

References m_qxmlStreamReader, and read().

Referenced by pappso::cbor::psm::MzIdentMlReader::MzIdentMlReader(), pappso::TandemWrapperRun::readTandemPresetFile(), pappso::TandemWrapperRun::wrapTandemInputFile(), and pappso::TandemWrapperRun::writeFinalTandemOutput().

◆ readStream()

virtual void pappso::XmlStreamReaderInterface::readStream ( )
protectedpure virtual

Member Data Documentation

◆ m_qxmlStreamReader

QXmlStreamReader pappso::XmlStreamReaderInterface::m_qxmlStreamReader
protected

Definition at line 71 of file xmlstreamreaderinterface.h.

Referenced by cloneElement(), cloneNode(), cloneStartElement(), errorString(), pappso::cbor::mzcbor::MzmlConvert::getCurrentSpectrumSize(), pappso::cbor::mzcbor::MzmlConvert::insideElement(), pappso::WrapTandemResults::process_group_note(), read(), read(), pappso::XtandemPresetReader::read_note(), pappso::cbor::psm::MzIdentMlReader::readAnalysisCollectionItem(), pappso::cbor::psm::MzIdentMlReader::readAnalysisData(), pappso::cbor::psm::MzIdentMlReader::readAnalysisProtocolCollection(), pappso::cbor::psm::MzIdentMlReader::readAnalysisSoftware(), pappso::cbor::mzcbor::MzmlConvert::readBinaryDataArrayList(), pappso::cbor::psm::MzIdentMlReader::readCvParam(), pappso::cbor::psm::MzIdentMlReader::readDataCollectionItem(), pappso::cbor::psm::MzIdentMlReader::readDBSequence(), readFile(), pappso::cbor::psm::MzIdentMlReader::readInputs(), pappso::cbor::psm::MzIdentMlReader::readPeptide(), pappso::cbor::psm::MzIdentMlReader::readPeptideEvidence(), pappso::cbor::psm::MzIdentMlReader::readSearchDatabase(), pappso::cbor::psm::MzIdentMlReader::readSequenceCollectionItem(), pappso::cbor::psm::MzIdentMlReader::readSpectraData(), pappso::cbor::psm::MzIdentMlReader::readSpectrumIdentification(), pappso::cbor::psm::MzIdentMlReader::readSpectrumIdentificationItem(), pappso::cbor::psm::MzIdentMlReader::readSpectrumIdentificationResult(), pappso::cbor::mzcbor::MzmlConvert::readStream(), pappso::cbor::psm::MzIdentMlReader::readStream(), pappso::WrapTandemInput::readStream(), pappso::WrapTandemResults::readStream(), pappso::XtandemPresetReader::readStream(), and pappso::cbor::psm::MzIdentMlReader::readUserParam().


The documentation for this class was generated from the following files: