loadXMLtoDOM, saveDOMtoXML перенес в Tools

This commit is contained in:
2025-11-11 15:11:24 +03:00
parent 9b87bcc490
commit 404fb0bf49
6 changed files with 51 additions and 47 deletions

View File

@@ -87,38 +87,6 @@ QByteArray DataParser::xmlAnswer(QList<SXmlAnswerTag> listTag, QString elemUp1,
} }
bool DataParser::loadXMLtoDOM(QString nameFile, QDomDocument *commonDOM)
{
QFile blankFile(nameFile);
if (! blankFile.open(QFile::ReadOnly | QFile::Text)) {
qDebug() << "loadBlankXML: Couldn't read the file: " + nameFile;
return false;
}
commonDOM->setContent(blankFile.readAll());
blankFile.close();
return true;
}
bool DataParser::saveDOMtoXML(QString nameFile, QDomDocument *commonDOM)
{
QFile xmlOutFile(nameFile);
if (!xmlOutFile.open(QFile::WriteOnly | QFile::Text))
{
qDebug() << "saveDOMtoXML: Failed to write a file: " + nameFile;
return false;
}
else
{
QTextStream outFile(&xmlOutFile);
commonDOM->save(outFile, 4);
xmlOutFile.close();
}
return true;
}
QByteArray DataParser::readTempFile() QByteArray DataParser::readTempFile()
{ {
QByteArray array; QByteArray array;

View File

@@ -36,8 +36,6 @@ public:
QByteArray xmlAnswer(QList<SXmlAnswerTag> listTag,QString elemUp1 = "", QString elemUp2 = ""); QByteArray xmlAnswer(QList<SXmlAnswerTag> listTag,QString elemUp1 = "", QString elemUp2 = "");
static bool loadXMLtoDOM(QString nameFile, QDomDocument* commonDOM);
static bool saveDOMtoXML(QString nameFile, QDomDocument* commonDOM);
~DataParser(); ~DataParser();
ClientAnswerParser *ClientAnswer() const; ClientAnswerParser *ClientAnswer() const;

View File

@@ -15,7 +15,7 @@ void DBAnswerParser::initialize(DataParser *dataParser)
QByteArray DBAnswerParser::listInstructors(bool result, QList<Instructor> *listInstructors) QByteArray DBAnswerParser::listInstructors(bool result, QList<Instructor> *listInstructors)
{ {
QDomDocument commonDOM; QDomDocument commonDOM;
if(! dataParser->loadXMLtoDOM(":/resources/blankXML/ListInstructors.xml", &commonDOM)) if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListInstructors.xml", &commonDOM))
return QByteArray(); return QByteArray();
QDomNode listNode = commonDOM.namedItem("ListInstructors"); QDomNode listNode = commonDOM.namedItem("ListInstructors");
@@ -34,7 +34,7 @@ QByteArray DBAnswerParser::listInstructors(bool result, QList<Instructor> *listI
instructorNode.toElement().setAttribute("logged_in", instructor.getLoggedIn()); instructorNode.toElement().setAttribute("logged_in", instructor.getLoggedIn());
} }
dataParser->saveDOMtoXML("ListInstructors.xml", &commonDOM); Tools::saveDOMtoXML("ListInstructors.xml", &commonDOM);
return commonDOM.toByteArray(); return commonDOM.toByteArray();
} }
@@ -42,7 +42,7 @@ QByteArray DBAnswerParser::listInstructors(bool result, QList<Instructor> *listI
QByteArray DBAnswerParser::listGroups(bool result, QList<Group> *listGroups) QByteArray DBAnswerParser::listGroups(bool result, QList<Group> *listGroups)
{ {
QDomDocument commonDOM; QDomDocument commonDOM;
if(! dataParser->loadXMLtoDOM(":/resources/blankXML/ListGroups.xml", &commonDOM)) if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListGroups.xml", &commonDOM))
return QByteArray(); return QByteArray();
QDomNode listNode = commonDOM.namedItem("ListGroups"); QDomNode listNode = commonDOM.namedItem("ListGroups");
@@ -56,7 +56,7 @@ QByteArray DBAnswerParser::listGroups(bool result, QList<Group> *listGroups)
groupNode.toElement().setAttribute("name", group.getName()); groupNode.toElement().setAttribute("name", group.getName());
} }
dataParser->saveDOMtoXML("ListGroups.xml", &commonDOM); Tools::saveDOMtoXML("ListGroups.xml", &commonDOM);
return commonDOM.toByteArray(); return commonDOM.toByteArray();
} }
@@ -64,7 +64,7 @@ QByteArray DBAnswerParser::listGroups(bool result, QList<Group> *listGroups)
QByteArray DBAnswerParser::listTrainees(bool result, QList<Trainee> *listTrainees) QByteArray DBAnswerParser::listTrainees(bool result, QList<Trainee> *listTrainees)
{ {
QDomDocument commonDOM; QDomDocument commonDOM;
if(! dataParser->loadXMLtoDOM(":/resources/blankXML/ListTrainees.xml", &commonDOM)) if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListTrainees.xml", &commonDOM))
return QByteArray(); return QByteArray();
QDomNode listNode = commonDOM.namedItem("ListTrainees"); QDomNode listNode = commonDOM.namedItem("ListTrainees");
@@ -95,7 +95,7 @@ QByteArray DBAnswerParser::listTrainees(bool result, QList<Trainee> *listTrainee
timingNode.toElement().setAttribute("operatingTime", timing.getOperatingTimeS()); timingNode.toElement().setAttribute("operatingTime", timing.getOperatingTimeS());
} }
dataParser->saveDOMtoXML("ListTrainees.xml", &commonDOM); Tools::saveDOMtoXML("ListTrainees.xml", &commonDOM);
return commonDOM.toByteArray(); return commonDOM.toByteArray();
} }
@@ -142,7 +142,7 @@ QByteArray DBAnswerParser::listContacts(bool result, QList<ContactModel> *listCo
QByteArray DBAnswerParser::listTasksAMMofTrainee(bool result, QList<TaskAmmFim> *listTasks, int trainee_id, bool full_list) QByteArray DBAnswerParser::listTasksAMMofTrainee(bool result, QList<TaskAmmFim> *listTasks, int trainee_id, bool full_list)
{ {
QDomDocument commonDOM; QDomDocument commonDOM;
if(! dataParser->loadXMLtoDOM(":/resources/blankXML/ListTasksAMM.xml", &commonDOM)) if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListTasksAMM.xml", &commonDOM))
return QByteArray(); return QByteArray();
QDomNode listNode = commonDOM.namedItem("ListTasksAMM"); QDomNode listNode = commonDOM.namedItem("ListTasksAMM");
@@ -163,7 +163,7 @@ QByteArray DBAnswerParser::listTasksAMMofTrainee(bool result, QList<TaskAmmFim>
taskNode.toElement().setAttribute("status", task.status); taskNode.toElement().setAttribute("status", task.status);
} }
dataParser->saveDOMtoXML("ListTasksAMM.xml", &commonDOM); Tools::saveDOMtoXML("ListTasksAMM.xml", &commonDOM);
return commonDOM.toByteArray(); return commonDOM.toByteArray();
} }
@@ -171,7 +171,7 @@ QByteArray DBAnswerParser::listTasksAMMofTrainee(bool result, QList<TaskAmmFim>
QByteArray DBAnswerParser::listTasksFIMofTrainee(bool result, QList<TaskAmmFim> *listTasks, int trainee_id, bool full_list) QByteArray DBAnswerParser::listTasksFIMofTrainee(bool result, QList<TaskAmmFim> *listTasks, int trainee_id, bool full_list)
{ {
QDomDocument commonDOM; QDomDocument commonDOM;
if(! dataParser->loadXMLtoDOM(":/resources/blankXML/ListTasksFIM.xml", &commonDOM)) if(! Tools::loadXMLtoDOM(":/resources/blankXML/ListTasksFIM.xml", &commonDOM))
return QByteArray(); return QByteArray();
QDomNode listNode = commonDOM.namedItem("ListTasksFIM"); QDomNode listNode = commonDOM.namedItem("ListTasksFIM");
@@ -233,7 +233,7 @@ QByteArray DBAnswerParser::listTasksFIMofTrainee(bool result, QList<TaskAmmFim>
} }
} }
dataParser->saveDOMtoXML("ListTasksFIM.xml", &commonDOM); Tools::saveDOMtoXML("ListTasksFIM.xml", &commonDOM);
return commonDOM.toByteArray(); return commonDOM.toByteArray();
} }

View File

@@ -16,7 +16,7 @@ bool DocsUpdater::update()
QString pathDocsFile = updateController->getPathAdditionalFile(nameDocsFile); QString pathDocsFile = updateController->getPathAdditionalFile(nameDocsFile);
QDomDocument docTasksDOM; QDomDocument docTasksDOM;
if(! DataParser::loadXMLtoDOM(pathDocsFile, &docTasksDOM)) if(! Tools::loadXMLtoDOM(pathDocsFile, &docTasksDOM))
return false; return false;
QDomElement manifestElement = docTasksDOM.firstChildElement("manifest"); QDomElement manifestElement = docTasksDOM.firstChildElement("manifest");
@@ -28,7 +28,7 @@ bool DocsUpdater::update()
domElementParserAMM(manifestElement, nullptr); domElementParserAMM(manifestElement, nullptr);
if(! DataParser::saveDOMtoXML(pathDocsFile, &docTasksDOM)) if(! Tools::saveDOMtoXML(pathDocsFile, &docTasksDOM))
return false; return false;
return true; return true;
@@ -229,7 +229,7 @@ QString DocsUpdater::defineCanplayByScenXML(QString dmCode)
QString pathScenXMLFile = updateController->getPathScensFile(nameScenXMLFile); QString pathScenXMLFile = updateController->getPathScensFile(nameScenXMLFile);
QDomDocument docScenDOM; QDomDocument docScenDOM;
if(! DataParser::loadXMLtoDOM(pathScenXMLFile, &docScenDOM)) if(! Tools::loadXMLtoDOM(pathScenXMLFile, &docScenDOM))
return canplay; return canplay;
QDomElement scenarioElement = docScenDOM.firstChildElement("scenario"); QDomElement scenarioElement = docScenDOM.firstChildElement("scenario");

View File

@@ -104,3 +104,37 @@ bool Tools::checkNonStaticData(QString path)
return false; return false;
} }
bool Tools::loadXMLtoDOM(QString nameFile, QDomDocument *commonDOM)
{
QFile xmlInFile(nameFile);
if (! xmlInFile.open(QFile::ReadOnly | QFile::Text)) {
qDebug() << "loadXMLtoDOM: Couldn't read the file: " + nameFile;
return false;
}
commonDOM->setContent(xmlInFile.readAll());
xmlInFile.close();
return true;
}
bool Tools::saveDOMtoXML(QString nameFile, QDomDocument *commonDOM)
{
QFile xmlOutFile(nameFile);
if (!xmlOutFile.open(QFile::WriteOnly | QFile::Text))
{
qDebug() << "saveDOMtoXML: Failed to write a file: " + nameFile;
return false;
}
else
{
QTextStream outFile(&xmlOutFile);
commonDOM->save(outFile, 4);
xmlOutFile.close();
}
return true;
}

View File

@@ -7,6 +7,7 @@
#include <QDebug> #include <QDebug>
#include <QTime> #include <QTime>
#include <QDir> #include <QDir>
#include <QDomDocument>
#include <Data/StreamingVersionData.h> #include <Data/StreamingVersionData.h>
@@ -73,6 +74,9 @@ public:
static QString createVersionHashFilepath(QString fileName); static QString createVersionHashFilepath(QString fileName);
static QString createFullPath(QString path); static QString createFullPath(QString path);
static bool checkNonStaticData(QString path); static bool checkNonStaticData(QString path);
static bool loadXMLtoDOM(QString nameFile, QDomDocument* commonDOM);
static bool saveDOMtoXML(QString nameFile, QDomDocument* commonDOM);
}; };