From b9b70fc98e97b580b768411610ec3fdea4bbb5d2 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 13 Feb 2026 13:11:27 +0100 Subject: [PATCH] #13615 Read cloud config files, do not store in preferences Adds config file path to cloud service prefs. This change makes the configuration file used to set the preferences accessible within the application. The fields are now set to read-only and IO disabled by default. --- .../Application/RiaApplication.cpp | 4 --- .../RiaPreferencesOpenTelemetry.cpp | 35 ++++++++++--------- .../Application/RiaPreferencesOpenTelemetry.h | 11 +++--- .../Application/RiaPreferencesOsdu.cpp | 20 +++++++---- .../Application/RiaPreferencesOsdu.h | 7 ++-- .../Application/RiaPreferencesSumo.cpp | 19 ++++++---- .../Application/RiaPreferencesSumo.h | 7 ++-- .../Tools/Cloud/RiaConnectorTools.cpp | 9 ++--- 8 files changed, 64 insertions(+), 48 deletions(-) diff --git a/ApplicationLibCode/Application/RiaApplication.cpp b/ApplicationLibCode/Application/RiaApplication.cpp index 41a7f4c6934..aa3a75e7b91 100644 --- a/ApplicationLibCode/Application/RiaApplication.cpp +++ b/ApplicationLibCode/Application/RiaApplication.cpp @@ -31,7 +31,6 @@ #include "RiaImportEclipseCaseTools.h" #include "RiaLogging.h" #include "RiaOpenMPTools.h" -#include "RiaOpenTelemetryManager.h" #include "RiaPlotWindowRedrawScheduler.h" #include "RiaPreferences.h" #include "RiaPreferencesOsdu.h" @@ -1454,9 +1453,6 @@ void RiaApplication::applyPreferences() caf::ProgressInfoStatic::setEnabled( RiaPreferencesSystem::current()->showProgressBar() ); - // Reinitialize OpenTelemetry based on current preferences - RiaOpenTelemetryManager::instance().reinitialize(); - if ( m_preferencesFileName.isEmpty() ) { m_preferences->writePreferencesToApplicationStore(); diff --git a/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.cpp b/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.cpp index 41f18b01db0..e5f813d860b 100644 --- a/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.cpp +++ b/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.cpp @@ -32,7 +32,6 @@ void RiaPreferencesOpenTelemetry::LoggingStateType::setUp() { addItem( RiaPreferencesOpenTelemetry::LoggingState::DISABLED, "DISABLED", "Disabled" ); addItem( RiaPreferencesOpenTelemetry::LoggingState::DEFAULT, "DEFAULT", "Default" ); - addItem( RiaPreferencesOpenTelemetry::LoggingState::ALL, "ALL", "All" ); setDefault( RiaPreferencesOpenTelemetry::LoggingState::DEFAULT ); } } // namespace caf @@ -46,7 +45,8 @@ RiaPreferencesOpenTelemetry::RiaPreferencesOpenTelemetry() { CAF_PDM_InitObject( "OpenTelemetry Configuration", "", "", "Configuration for OpenTelemetry crash reporting and telemetry" ); - CAF_PDM_InitField( &m_loggingState, "loggingState", LoggingStateType( LoggingState::DISABLED ), "Logging State" ); + CAF_PDM_InitField( &m_configFile, "configFile", QString( "No config file detected" ), "Config File" ); + CAF_PDM_InitField( &m_loggingState, "loggingState_v1", LoggingStateType( LoggingState::DEFAULT ), "Logging State" ); CAF_PDM_InitField( &m_connectionString, "connectionString", QString(), "Azure Connection String" ); m_connectionString.uiCapability()->setUiEditorTypeName( caf::PdmUiTextEditor::uiEditorTypeName() ); @@ -56,13 +56,8 @@ RiaPreferencesOpenTelemetry::RiaPreferencesOpenTelemetry() CAF_PDM_InitField( &m_memoryThresholdMb, "memoryThresholdMb", 50, "Memory Threshold (MB)" ); CAF_PDM_InitField( &m_samplingRate, "samplingRate", 1.0, "Sampling Rate" ); CAF_PDM_InitField( &m_connectionTimeoutMs, "connectionTimeoutMs", 10000, "Connection Timeout (ms)" ); -} -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RiaPreferencesOpenTelemetry::~RiaPreferencesOpenTelemetry() -{ + setFieldStates(); } //-------------------------------------------------------------------------------------------------- @@ -76,8 +71,10 @@ RiaPreferencesOpenTelemetry* RiaPreferencesOpenTelemetry::current() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesOpenTelemetry::setData( const std::map& keyValuePairs ) +void RiaPreferencesOpenTelemetry::setData( const std::map& keyValuePairs, const QString& configFile ) { + m_configFile = configFile; + for ( const auto& [key, value] : keyValuePairs ) { if ( key == "connection_string" ) @@ -118,7 +115,7 @@ void RiaPreferencesOpenTelemetry::setData( const std::map& key //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesOpenTelemetry::setFieldsReadOnly() +void RiaPreferencesOpenTelemetry::setFieldStates() { std::vector fields = this->fields(); for ( auto field : fields ) @@ -127,6 +124,7 @@ void RiaPreferencesOpenTelemetry::setFieldsReadOnly() if ( field != &m_loggingState ) { field->uiCapability()->setUiReadOnly( true ); + field->xmlCapability()->disableIO(); } } } @@ -141,13 +139,18 @@ void RiaPreferencesOpenTelemetry::defineUiOrdering( QString uiConfigName, caf::P // Only show configuration fields if not disabled if ( m_loggingState() != LoggingState::DISABLED ) { + uiOrdering.add( &m_configFile ); uiOrdering.add( &m_connectionString ); - uiOrdering.add( &m_batchTimeoutMs ); - uiOrdering.add( &m_maxBatchSize ); - uiOrdering.add( &m_maxQueueSize ); - uiOrdering.add( &m_memoryThresholdMb ); - uiOrdering.add( &m_samplingRate ); - uiOrdering.add( &m_connectionTimeoutMs ); + + auto group = uiOrdering.addNewGroup( "Configuration" ); + group->setCollapsedByDefault(); + + group->add( &m_batchTimeoutMs ); + group->add( &m_maxBatchSize ); + group->add( &m_maxQueueSize ); + group->add( &m_memoryThresholdMb ); + group->add( &m_samplingRate ); + group->add( &m_connectionTimeoutMs ); } uiOrdering.skipRemainingFields(); } diff --git a/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.h b/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.h index 7d579ba46f9..cdc90b8a8d7 100644 --- a/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.h +++ b/ApplicationLibCode/Application/RiaPreferencesOpenTelemetry.h @@ -41,18 +41,15 @@ class RiaPreferencesOpenTelemetry : public caf::PdmObject enum class LoggingState { DISABLED, - DEFAULT, - ALL + DEFAULT }; using LoggingStateType = caf::AppEnum; RiaPreferencesOpenTelemetry(); - ~RiaPreferencesOpenTelemetry() override; static RiaPreferencesOpenTelemetry* current(); - void setData( const std::map& keyValuePairs ); - void setFieldsReadOnly(); + void setData( const std::map& keyValuePairs, const QString& configFile ); // Service name and version are hardcoded, not configurable QString serviceName() const; @@ -72,6 +69,10 @@ class RiaPreferencesOpenTelemetry : public caf::PdmObject void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override; private: + void setFieldStates(); + +private: + caf::PdmField m_configFile; caf::PdmField m_loggingState; caf::PdmField m_connectionString; caf::PdmField m_batchTimeoutMs; diff --git a/ApplicationLibCode/Application/RiaPreferencesOsdu.cpp b/ApplicationLibCode/Application/RiaPreferencesOsdu.cpp index 372b74fcbdf..ece7b76d8ac 100644 --- a/ApplicationLibCode/Application/RiaPreferencesOsdu.cpp +++ b/ApplicationLibCode/Application/RiaPreferencesOsdu.cpp @@ -28,11 +28,14 @@ CAF_PDM_SOURCE_INIT( RiaPreferencesOsdu, "RiaPreferencesOsdu" ); //-------------------------------------------------------------------------------------------------- RiaPreferencesOsdu::RiaPreferencesOsdu() { + CAF_PDM_InitField( &m_configFile, "configFile", QString( "No config file detected" ), "Config File" ); CAF_PDM_InitFieldNoDefault( &m_server, "server", "Server" ); CAF_PDM_InitFieldNoDefault( &m_dataPartitionId, "dataPartitionId", "Data Partition Id" ); CAF_PDM_InitFieldNoDefault( &m_authority, "authority", "Authority" ); CAF_PDM_InitFieldNoDefault( &m_scopes, "scopes", "Scopes" ); CAF_PDM_InitFieldNoDefault( &m_clientId, "clientId", "Client Id" ); + + setFieldStates(); } //-------------------------------------------------------------------------------------------------- @@ -46,8 +49,10 @@ RiaPreferencesOsdu* RiaPreferencesOsdu::current() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesOsdu::setData( const std::map& keyValuePairs ) +void RiaPreferencesOsdu::setData( const std::map& keyValuePairs, const QString& configFile ) { + m_configFile = configFile; + for ( const auto& [key, value] : keyValuePairs ) { if ( key == "server" ) @@ -76,13 +81,14 @@ void RiaPreferencesOsdu::setData( const std::map& keyValuePair //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesOsdu::setFieldsReadOnly() +void RiaPreferencesOsdu::setFieldStates() { - m_server.uiCapability()->setUiReadOnly( true ); - m_dataPartitionId.uiCapability()->setUiReadOnly( true ); - m_authority.uiCapability()->setUiReadOnly( true ); - m_scopes.uiCapability()->setUiReadOnly( true ); - m_clientId.uiCapability()->setUiReadOnly( true ); + std::vector fields = this->fields(); + for ( auto field : fields ) + { + field->uiCapability()->setUiReadOnly( true ); + field->xmlCapability()->disableIO(); + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/Application/RiaPreferencesOsdu.h b/ApplicationLibCode/Application/RiaPreferencesOsdu.h index 019d7849dc3..8e0d7cd5189 100644 --- a/ApplicationLibCode/Application/RiaPreferencesOsdu.h +++ b/ApplicationLibCode/Application/RiaPreferencesOsdu.h @@ -33,8 +33,7 @@ class RiaPreferencesOsdu : public caf::PdmObject static RiaPreferencesOsdu* current(); - void setData( const std::map& keyValuePairs ); - void setFieldsReadOnly(); + void setData( const std::map& keyValuePairs, const QString& configFile ); QString server() const; QString dataPartitionId() const; @@ -43,6 +42,10 @@ class RiaPreferencesOsdu : public caf::PdmObject QString clientId() const; private: + void setFieldStates(); + +private: + caf::PdmField m_configFile; caf::PdmField m_server; caf::PdmField m_dataPartitionId; caf::PdmField m_authority; diff --git a/ApplicationLibCode/Application/RiaPreferencesSumo.cpp b/ApplicationLibCode/Application/RiaPreferencesSumo.cpp index 71c339c0a73..28421e77aa7 100644 --- a/ApplicationLibCode/Application/RiaPreferencesSumo.cpp +++ b/ApplicationLibCode/Application/RiaPreferencesSumo.cpp @@ -28,10 +28,13 @@ CAF_PDM_SOURCE_INIT( RiaPreferencesSumo, "RiaPreferencesSumo" ); //-------------------------------------------------------------------------------------------------- RiaPreferencesSumo::RiaPreferencesSumo() { + CAF_PDM_InitField( &m_configFile, "configFile", QString( "No config file detected" ), "Config File" ); CAF_PDM_InitFieldNoDefault( &m_server, "server", "Server" ); CAF_PDM_InitFieldNoDefault( &m_authority, "authority", "Authority" ); CAF_PDM_InitFieldNoDefault( &m_scopes, "scopes", "Scopes" ); CAF_PDM_InitFieldNoDefault( &m_clientId, "clientId", "Client Id" ); + + setFieldStates(); } //-------------------------------------------------------------------------------------------------- @@ -45,8 +48,10 @@ RiaPreferencesSumo* RiaPreferencesSumo::current() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesSumo::setData( const std::map& keyValuePairs ) +void RiaPreferencesSumo::setData( const std::map& keyValuePairs, const QString& configFile ) { + m_configFile = configFile; + for ( const auto& [key, value] : keyValuePairs ) { if ( key == "server" ) @@ -71,12 +76,14 @@ void RiaPreferencesSumo::setData( const std::map& keyValuePair //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaPreferencesSumo::setFieldsReadOnly() +void RiaPreferencesSumo::setFieldStates() { - m_server.uiCapability()->setUiReadOnly( true ); - m_authority.uiCapability()->setUiReadOnly( true ); - m_scopes.uiCapability()->setUiReadOnly( true ); - m_clientId.uiCapability()->setUiReadOnly( true ); + std::vector fields = this->fields(); + for ( auto field : fields ) + { + field->uiCapability()->setUiReadOnly( true ); + field->xmlCapability()->disableIO(); + } } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/Application/RiaPreferencesSumo.h b/ApplicationLibCode/Application/RiaPreferencesSumo.h index f63755c3b3f..e7e32aca47c 100644 --- a/ApplicationLibCode/Application/RiaPreferencesSumo.h +++ b/ApplicationLibCode/Application/RiaPreferencesSumo.h @@ -33,8 +33,7 @@ class RiaPreferencesSumo : public caf::PdmObject static RiaPreferencesSumo* current(); - void setData( const std::map& keyValuePairs ); - void setFieldsReadOnly(); + void setData( const std::map& keyValuePairs, const QString& configFile ); QString server() const; QString authority() const; @@ -42,6 +41,10 @@ class RiaPreferencesSumo : public caf::PdmObject QString clientId() const; private: + void setFieldStates(); + +private: + caf::PdmField m_configFile; caf::PdmField m_server; caf::PdmField m_authority; caf::PdmField m_scopes; diff --git a/ApplicationLibCode/Application/Tools/Cloud/RiaConnectorTools.cpp b/ApplicationLibCode/Application/Tools/Cloud/RiaConnectorTools.cpp index 6b2919e2aed..00fab17817a 100644 --- a/ApplicationLibCode/Application/Tools/Cloud/RiaConnectorTools.cpp +++ b/ApplicationLibCode/Application/Tools/Cloud/RiaConnectorTools.cpp @@ -180,8 +180,7 @@ void RiaConnectorTools::readCloudConfigFiles( RiaPreferences* preferences ) if ( !keyValuePairs.empty() ) { RiaLogging::debug( QString( "Imported OSDU configuration from : '%1'" ).arg( filePath ) ); - preferences->osduPreferences()->setData( keyValuePairs ); - preferences->osduPreferences()->setFieldsReadOnly(); + preferences->osduPreferences()->setData( keyValuePairs, filePath ); break; } } @@ -193,8 +192,7 @@ void RiaConnectorTools::readCloudConfigFiles( RiaPreferences* preferences ) if ( !keyValuePairs.empty() ) { RiaLogging::debug( QString( "Imported SUMO configuration from : '%1'" ).arg( filePath ) ); - preferences->sumoPreferences()->setData( keyValuePairs ); - preferences->sumoPreferences()->setFieldsReadOnly(); + preferences->sumoPreferences()->setData( keyValuePairs, filePath ); break; } } @@ -206,8 +204,7 @@ void RiaConnectorTools::readCloudConfigFiles( RiaPreferences* preferences ) if ( !keyValuePairs.empty() ) { RiaLogging::debug( QString( "Imported OpenTelemetry configuration from : '%1'" ).arg( filePath ) ); - RiaPreferencesOpenTelemetry::current()->setData( keyValuePairs ); - RiaPreferencesOpenTelemetry::current()->setFieldsReadOnly(); + RiaPreferencesOpenTelemetry::current()->setData( keyValuePairs, filePath ); break; } }