diff options
Diffstat (limited to 'jvmfwk')
-rw-r--r-- | jvmfwk/inc/fwkbase.hxx | 3 | ||||
-rw-r--r-- | jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx | 46 | ||||
-rw-r--r-- | jvmfwk/source/fwkbase.cxx | 4 |
3 files changed, 23 insertions, 30 deletions
diff --git a/jvmfwk/inc/fwkbase.hxx b/jvmfwk/inc/fwkbase.hxx index 5f989cc08cee..61c3fa500138 100644 --- a/jvmfwk/inc/fwkbase.hxx +++ b/jvmfwk/inc/fwkbase.hxx @@ -21,7 +21,6 @@ #include <sal/config.h> -#include <optional> #include <string_view> #include <vector> @@ -40,7 +39,7 @@ class VendorSettings public: VendorSettings(); - std::optional<VersionInfo> getVersionInformation(std::u16string_view sVendor) const; + VersionInfo getVersionInformation(std::u16string_view sVendor) const; }; /* The class offers functions to retrieve verified bootstrap parameters. diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx index d3b9b92a5b5e..70d6e7888097 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx @@ -348,16 +348,14 @@ javaPluginError jfw_plugin_getAllJavaInfos( for (auto const& vecInfo : vecInfos) { - if (auto const versionInfo = vendorSettings.getVersionInformation(vecInfo->getVendor())) - { - javaPluginError err = checkJavaVersionRequirements( - vecInfo, versionInfo->sMinVersion, versionInfo->sMaxVersion, versionInfo->vecExcludeVersions); + auto const versionInfo = vendorSettings.getVersionInformation(vecInfo->getVendor()); + javaPluginError err = checkJavaVersionRequirements( + vecInfo, versionInfo.sMinVersion, versionInfo.sMaxVersion, versionInfo.vecExcludeVersions); - if (err == javaPluginError::FailedVersion || err == javaPluginError::WrongArch) - continue; - else if (err == javaPluginError::WrongVersionFormat) - return err; - } + if (err == javaPluginError::FailedVersion || err == javaPluginError::WrongArch) + continue; + else if (err == javaPluginError::WrongVersionFormat) + return err; vecVerifiedInfos.push_back(vecInfo); } @@ -388,11 +386,9 @@ javaPluginError jfw_plugin_getJavaInfoByPath( //Check if the detected JRE matches the version requirements javaPluginError errorcode = javaPluginError::NONE; - if (auto const versionInfo = vendorSettings.getVersionInformation(aVendorInfo->getVendor())) - { - errorcode = checkJavaVersionRequirements( - aVendorInfo, versionInfo->sMinVersion, versionInfo->sMaxVersion, versionInfo->vecExcludeVersions); - } + auto const versionInfo = vendorSettings.getVersionInformation(aVendorInfo->getVendor()); + errorcode = checkJavaVersionRequirements( + aVendorInfo, versionInfo.sMinVersion, versionInfo.sMaxVersion, versionInfo.vecExcludeVersions); if (errorcode == javaPluginError::NONE) *ppInfo = createJavaInfo(aVendorInfo); @@ -416,13 +412,12 @@ javaPluginError jfw_plugin_getJavaInfoFromJavaHome( //Check if the detected JRE matches the version requirements auto const versionInfo = vendorSettings.getVersionInformation(infoJavaHome[0]->getVendor()); - if (!versionInfo - || (checkJavaVersionRequirements( + if (checkJavaVersionRequirements( infoJavaHome[0], - versionInfo->sMinVersion, - versionInfo->sMaxVersion, - versionInfo->vecExcludeVersions) - == javaPluginError::NONE)) + versionInfo.sMinVersion, + versionInfo.sMaxVersion, + versionInfo.vecExcludeVersions) + == javaPluginError::NONE) { *ppInfo = createJavaInfo(infoJavaHome[0]); return javaPluginError::NONE; @@ -446,13 +441,12 @@ javaPluginError jfw_plugin_getJavaInfosFromPath( for (auto const& infosFromPath : vecInfosFromPath) { auto const versionInfo = vendorSettings.getVersionInformation(infosFromPath->getVendor()); - if (!versionInfo - || (checkJavaVersionRequirements( + if (checkJavaVersionRequirements( infosFromPath, - versionInfo->sMinVersion, - versionInfo->sMaxVersion, - versionInfo->vecExcludeVersions) - == javaPluginError::NONE)) + versionInfo.sMinVersion, + versionInfo.sMaxVersion, + versionInfo.vecExcludeVersions) + == javaPluginError::NONE) { vecVerifiedInfos.push_back(createJavaInfo(infosFromPath)); } diff --git a/jvmfwk/source/fwkbase.cxx b/jvmfwk/source/fwkbase.cxx index dc7a8a153a5c..8de3f0c4d00c 100644 --- a/jvmfwk/source/fwkbase.cxx +++ b/jvmfwk/source/fwkbase.cxx @@ -119,7 +119,7 @@ VendorSettings::VendorSettings() "[Java framework] Error in constructor VendorSettings::VendorSettings() (fwkbase.cxx)"); } -std::optional<VersionInfo> VendorSettings::getVersionInformation(std::u16string_view sVendor) const +VersionInfo VendorSettings::getVersionInformation(std::u16string_view sVendor) const { OSL_ASSERT(!sVendor.empty()); OString osVendor = OUStringToOString(sVendor, RTL_TEXTENCODING_UTF8); @@ -131,7 +131,7 @@ std::optional<VersionInfo> VendorSettings::getVersionInformation(std::u16string_ m_xmlPathContextVendorSettings); if (xmlXPathNodeSetIsEmpty(pathObject->nodesetval)) { - return {}; + return {{}, "1.8.0", ""}; } VersionInfo aVersionInfo; |