mirror of
https://github.com/UltimMC/Launcher.git
synced 2025-10-03 16:51:30 +00:00
NOISSUE disambiguate Json parsing calls
This commit is contained in:
@@ -22,7 +22,7 @@ static void readString(const QJsonObject &root, const QString &key, QString &var
|
||||
{
|
||||
if (root.contains(key))
|
||||
{
|
||||
variable = requireString(root.value(key));
|
||||
variable = requireValueString(root.value(key));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ QJsonObject downloadInfoToJson(MojangDownloadInfo::Ptr info)
|
||||
MojangLibraryDownloadInfo::Ptr libDownloadInfoFromJson(const QJsonObject &libObj)
|
||||
{
|
||||
auto out = std::make_shared<MojangLibraryDownloadInfo>();
|
||||
auto dlObj = requireObject(libObj.value("downloads"));
|
||||
auto dlObj = requireValueObject(libObj.value("downloads"));
|
||||
if(dlObj.contains("artifact"))
|
||||
{
|
||||
out->artifact = downloadInfoFromJson(requireObject(dlObj, "artifact"));
|
||||
@@ -86,7 +86,7 @@ MojangLibraryDownloadInfo::Ptr libDownloadInfoFromJson(const QJsonObject &libObj
|
||||
for(auto iter = classifiersObj.begin(); iter != classifiersObj.end(); iter++)
|
||||
{
|
||||
auto classifier = iter.key();
|
||||
auto classifierObj = requireObject(iter.value());
|
||||
auto classifierObj = requireValueObject(iter.value());
|
||||
out->classifiers[classifier] = downloadInfoFromJson(classifierObj);
|
||||
}
|
||||
}
|
||||
@@ -171,7 +171,7 @@ void MojangVersionFormat::readVersionProperties(const QJsonObject &in, VersionFi
|
||||
|
||||
if (in.contains("minimumLauncherVersion"))
|
||||
{
|
||||
out->minimumLauncherVersion = requireInteger(in.value("minimumLauncherVersion"));
|
||||
out->minimumLauncherVersion = requireValueInteger(in.value("minimumLauncherVersion"));
|
||||
if (out->minimumLauncherVersion > CURRENT_MINIMUM_LAUNCHER_VERSION)
|
||||
{
|
||||
out->addProblem(
|
||||
@@ -189,7 +189,7 @@ void MojangVersionFormat::readVersionProperties(const QJsonObject &in, VersionFi
|
||||
for(auto iter = downloadsObj.begin(); iter != downloadsObj.end(); iter++)
|
||||
{
|
||||
auto classifier = iter.key();
|
||||
auto classifierObj = requireObject(iter.value());
|
||||
auto classifierObj = requireValueObject(iter.value());
|
||||
out->mojangDownloads[classifier] = downloadInfoFromJson(classifierObj);
|
||||
}
|
||||
}
|
||||
@@ -219,9 +219,9 @@ VersionFilePtr MojangVersionFormat::versionFileFromJson(const QJsonDocument &doc
|
||||
|
||||
if (root.contains("libraries"))
|
||||
{
|
||||
for (auto libVal : requireArray(root.value("libraries")))
|
||||
for (auto libVal : requireValueArray(root.value("libraries")))
|
||||
{
|
||||
auto libObj = requireObject(libVal);
|
||||
auto libObj = requireValueObject(libVal);
|
||||
|
||||
auto lib = MojangVersionFormat::libraryFromJson(*out, libObj, filename);
|
||||
out->libraries.append(lib);
|
||||
@@ -303,15 +303,15 @@ LibraryPtr MojangVersionFormat::libraryFromJson(ProblemContainer & problems, con
|
||||
if (libObj.contains("extract"))
|
||||
{
|
||||
out->m_hasExcludes = true;
|
||||
auto extractObj = requireObject(libObj.value("extract"));
|
||||
for (auto excludeVal : requireArray(extractObj.value("exclude")))
|
||||
auto extractObj = requireValueObject(libObj.value("extract"));
|
||||
for (auto excludeVal : requireValueArray(extractObj.value("exclude")))
|
||||
{
|
||||
out->m_extractExcludes.append(requireString(excludeVal));
|
||||
out->m_extractExcludes.append(requireValueString(excludeVal));
|
||||
}
|
||||
}
|
||||
if (libObj.contains("natives"))
|
||||
{
|
||||
QJsonObject nativesObj = requireObject(libObj.value("natives"));
|
||||
QJsonObject nativesObj = requireValueObject(libObj.value("natives"));
|
||||
for (auto it = nativesObj.begin(); it != nativesObj.end(); ++it)
|
||||
{
|
||||
if (!it.value().isString())
|
||||
|
@@ -9,7 +9,7 @@ static void readString(const QJsonObject &root, const QString &key, QString &var
|
||||
{
|
||||
if (root.contains(key))
|
||||
{
|
||||
variable = requireString(root.value(key));
|
||||
variable = requireValueString(root.value(key));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ VersionFilePtr OneSixVersionFormat::versionFileFromJson(const QJsonDocument &doc
|
||||
{
|
||||
if (root.contains("order"))
|
||||
{
|
||||
out->order = requireInteger(root.value("order"));
|
||||
out->order = requireValueInteger(root.value("order"));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -94,26 +94,26 @@ VersionFilePtr OneSixVersionFormat::versionFileFromJson(const QJsonDocument &doc
|
||||
|
||||
if (root.contains("+tweakers"))
|
||||
{
|
||||
for (auto tweakerVal : requireArray(root.value("+tweakers")))
|
||||
for (auto tweakerVal : requireValueArray(root.value("+tweakers")))
|
||||
{
|
||||
out->addTweakers.append(requireString(tweakerVal));
|
||||
out->addTweakers.append(requireValueString(tweakerVal));
|
||||
}
|
||||
}
|
||||
|
||||
if (root.contains("+traits"))
|
||||
{
|
||||
for (auto tweakerVal : requireArray(root.value("+traits")))
|
||||
for (auto tweakerVal : requireValueArray(root.value("+traits")))
|
||||
{
|
||||
out->traits.insert(requireString(tweakerVal));
|
||||
out->traits.insert(requireValueString(tweakerVal));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (root.contains("jarMods"))
|
||||
{
|
||||
for (auto libVal : requireArray(root.value("jarMods")))
|
||||
for (auto libVal : requireValueArray(root.value("jarMods")))
|
||||
{
|
||||
QJsonObject libObj = requireObject(libVal);
|
||||
QJsonObject libObj = requireValueObject(libVal);
|
||||
// parse the jarmod
|
||||
auto lib = OneSixVersionFormat::jarModFromJson(*out, libObj, filename);
|
||||
// and add to jar mods
|
||||
@@ -122,9 +122,9 @@ VersionFilePtr OneSixVersionFormat::versionFileFromJson(const QJsonDocument &doc
|
||||
}
|
||||
else if (root.contains("+jarMods")) // DEPRECATED: old style '+jarMods' are only here for backwards compatibility
|
||||
{
|
||||
for (auto libVal : requireArray(root.value("+jarMods")))
|
||||
for (auto libVal : requireValueArray(root.value("+jarMods")))
|
||||
{
|
||||
QJsonObject libObj = requireObject(libVal);
|
||||
QJsonObject libObj = requireValueObject(libVal);
|
||||
// parse the jarmod
|
||||
auto lib = OneSixVersionFormat::plusJarModFromJson(*out, libObj, filename, out->name);
|
||||
// and add to jar mods
|
||||
@@ -134,9 +134,9 @@ VersionFilePtr OneSixVersionFormat::versionFileFromJson(const QJsonDocument &doc
|
||||
|
||||
if (root.contains("mods"))
|
||||
{
|
||||
for (auto libVal : requireArray(root.value("mods")))
|
||||
for (auto libVal : requireValueArray(root.value("mods")))
|
||||
{
|
||||
QJsonObject libObj = requireObject(libVal);
|
||||
QJsonObject libObj = requireValueObject(libVal);
|
||||
// parse the jarmod
|
||||
auto lib = OneSixVersionFormat::modFromJson(*out, libObj, filename);
|
||||
// and add to jar mods
|
||||
@@ -146,9 +146,9 @@ VersionFilePtr OneSixVersionFormat::versionFileFromJson(const QJsonDocument &doc
|
||||
|
||||
auto readLibs = [&](const char * which, QList<LibraryPtr> & outList)
|
||||
{
|
||||
for (auto libVal : requireArray(root.value(which)))
|
||||
for (auto libVal : requireValueArray(root.value(which)))
|
||||
{
|
||||
QJsonObject libObj = requireObject(libVal);
|
||||
QJsonObject libObj = requireValueObject(libVal);
|
||||
// parse the library
|
||||
auto lib = libraryFromJson(*out, libObj, filename);
|
||||
outList.append(lib);
|
||||
|
@@ -101,21 +101,21 @@ static QJsonObject componentToJsonV1(ComponentPtr component)
|
||||
static ComponentPtr componentFromJsonV1(PackProfile * parent, const QString & componentJsonPattern, const QJsonObject &obj)
|
||||
{
|
||||
// critical
|
||||
auto uid = Json::requireString(obj.value("uid"));
|
||||
auto uid = Json::requireValueString(obj.value("uid"));
|
||||
auto filePath = componentJsonPattern.arg(uid);
|
||||
auto component = new Component(parent, uid);
|
||||
component->m_version = Json::ensureString(obj.value("version"));
|
||||
component->m_dependencyOnly = Json::ensureBoolean(obj.value("dependencyOnly"), false);
|
||||
component->m_important = Json::ensureBoolean(obj.value("important"), false);
|
||||
component->m_version = Json::ensureValueString(obj.value("version"));
|
||||
component->m_dependencyOnly = Json::ensureValueBoolean(obj.value("dependencyOnly"), false);
|
||||
component->m_important = Json::ensureValueBoolean(obj.value("important"), false);
|
||||
|
||||
// cached
|
||||
// TODO @RESILIENCE: ignore invalid values/structure here?
|
||||
component->m_cachedVersion = Json::ensureString(obj.value("cachedVersion"));
|
||||
component->m_cachedName = Json::ensureString(obj.value("cachedName"));
|
||||
component->m_cachedVersion = Json::ensureValueString(obj.value("cachedVersion"));
|
||||
component->m_cachedName = Json::ensureValueString(obj.value("cachedName"));
|
||||
Meta::parseRequires(obj, &component->m_cachedRequires, "cachedRequires");
|
||||
Meta::parseRequires(obj, &component->m_cachedConflicts, "cachedConflicts");
|
||||
component->m_cachedVolatile = Json::ensureBoolean(obj.value("volatile"), false);
|
||||
bool disabled = Json::ensureBoolean(obj.value("disabled"), false);
|
||||
component->m_cachedVolatile = Json::ensureValueBoolean(obj.value("volatile"), false);
|
||||
bool disabled = Json::ensureValueBoolean(obj.value("disabled"), false);
|
||||
component->setEnabled(!disabled);
|
||||
return component;
|
||||
}
|
||||
@@ -185,16 +185,16 @@ static bool loadPackProfile(PackProfile * parent, const QString & filename, cons
|
||||
{
|
||||
auto obj = Json::requireObject(doc);
|
||||
// check order file version.
|
||||
auto version = Json::requireInteger(obj.value("formatVersion"));
|
||||
auto version = Json::requireValueInteger(obj.value("formatVersion"));
|
||||
if (version != currentComponentsFileVersion)
|
||||
{
|
||||
throw JSONValidationError(QObject::tr("Invalid component file version, expected %1")
|
||||
.arg(currentComponentsFileVersion));
|
||||
}
|
||||
auto orderArray = Json::requireArray(obj.value("components"));
|
||||
auto orderArray = Json::requireValueArray(obj.value("components"));
|
||||
for(auto item: orderArray)
|
||||
{
|
||||
auto obj = Json::requireObject(item, "Component must be an object.");
|
||||
auto obj = Json::requireValueObject(item, "Component must be an object.");
|
||||
container.append(componentFromJsonV1(parent, componentJsonPattern, obj));
|
||||
}
|
||||
}
|
||||
|
@@ -45,16 +45,16 @@ bool readOverrideOrders(QString path, PatchOrder &order)
|
||||
{
|
||||
auto obj = Json::requireObject(doc);
|
||||
// check order file version.
|
||||
auto version = Json::requireInteger(obj.value("version"));
|
||||
auto version = Json::requireValueInteger(obj.value("version"));
|
||||
if (version != currentOrderFileVersion)
|
||||
{
|
||||
throw JSONValidationError(QObject::tr("Invalid order file version, expected %1")
|
||||
.arg(currentOrderFileVersion));
|
||||
}
|
||||
auto orderArray = Json::requireArray(obj.value("order"));
|
||||
auto orderArray = Json::requireValueArray(obj.value("order"));
|
||||
for(auto item: orderArray)
|
||||
{
|
||||
order.append(Json::requireString(item));
|
||||
order.append(Json::requireValueString(item));
|
||||
}
|
||||
}
|
||||
catch (const JSONValidationError &err)
|
||||
|
Reference in New Issue
Block a user