From e1f4801c4363752a80976c2ad9d2af64a99716eb 2017-07-13 08:18:09 From: Alexandre Leroux Date: 2017-07-13 08:18:09 Subject: [PATCH] Amda provider update (1) Moves keys used in the Amda parser in a separate file --- diff --git a/plugins/amda/include/AmdaDefs.h b/plugins/amda/include/AmdaDefs.h new file mode 100644 index 0000000..4189ea9 --- /dev/null +++ b/plugins/amda/include/AmdaDefs.h @@ -0,0 +1,16 @@ +#ifndef SCIQLOP_AMDADEFS_H +#define SCIQLOP_AMDADEFS_H + +#include + +// ////////////// // +// AMDA constants // +// ////////////// // + +// Relevant keys in JSON file +extern const QString AMDA_COMPONENT_KEY; +extern const QString AMDA_PRODUCT_KEY; +extern const QString AMDA_ROOT_KEY; +extern const QString AMDA_XML_ID_KEY; + +#endif // SCIQLOP_AMDADEFS_H diff --git a/plugins/amda/src/AmdaDefs.cpp b/plugins/amda/src/AmdaDefs.cpp new file mode 100644 index 0000000..f90f076 --- /dev/null +++ b/plugins/amda/src/AmdaDefs.cpp @@ -0,0 +1,6 @@ +#include "AmdaDefs.h" + +const QString AMDA_COMPONENT_KEY = QStringLiteral("component"); +const QString AMDA_PRODUCT_KEY = QStringLiteral("parameter"); +const QString AMDA_ROOT_KEY = QStringLiteral("dataCenter"); +const QString AMDA_XML_ID_KEY = QStringLiteral("xml:id"); diff --git a/plugins/amda/src/AmdaParser.cpp b/plugins/amda/src/AmdaParser.cpp index f13f3ca..21a8cc4 100644 --- a/plugins/amda/src/AmdaParser.cpp +++ b/plugins/amda/src/AmdaParser.cpp @@ -1,4 +1,5 @@ #include "AmdaParser.h" +#include "AmdaDefs.h" #include @@ -11,18 +12,13 @@ Q_LOGGING_CATEGORY(LOG_AmdaParser, "AmdaParser") namespace { -// Significant keys of an AMDA's JSON file -const auto COMPONENT_KEY = QStringLiteral("component"); -const auto PRODUCT_KEY = QStringLiteral("parameter"); -const auto ROOT_KEY = QStringLiteral("dataCenter"); - /// Returns the correct item type according to the key passed in parameter DataSourceItemType itemType(const QString &key) noexcept { - if (key == PRODUCT_KEY) { + if (key == AMDA_PRODUCT_KEY) { return DataSourceItemType::PRODUCT; } - else if (key == COMPONENT_KEY) { + else if (key == AMDA_COMPONENT_KEY) { return DataSourceItemType::COMPONENT; } else { @@ -98,16 +94,16 @@ std::unique_ptr AmdaParser::readJson(const QString &filePath) no } auto jsonDocumentObject = jsonDocument.object(); - if (!jsonDocumentObject.contains(ROOT_KEY)) { + if (!jsonDocumentObject.contains(AMDA_ROOT_KEY)) { qCCritical(LOG_AmdaParser()) << QObject::tr( "Can't retrieve data source tree from file %1: the file is malformed (the key " "for the root element was not found (%2))") - .arg(filePath, ROOT_KEY); + .arg(filePath, AMDA_ROOT_KEY); return nullptr; } - auto rootValue = jsonDocumentObject.value(ROOT_KEY); + auto rootValue = jsonDocumentObject.value(AMDA_ROOT_KEY); if (!rootValue.isObject()) { qCCritical(LOG_AmdaParser()) << QObject::tr(