Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions ApplicationLibCode/Application/CMakeLists_files.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ set(SOURCE_GROUP_HEADER_FILES
${CMAKE_CURRENT_LIST_DIR}/RiaPreferencesOsdu.h
${CMAKE_CURRENT_LIST_DIR}/RiaPreferencesOpm.h
${CMAKE_CURRENT_LIST_DIR}/RiaPreferencesSumo.h
${CMAKE_CURRENT_LIST_DIR}/RiaPreferencesSumoExplorer.h
${CMAKE_CURRENT_LIST_DIR}/RiaPorosityModel.h
${CMAKE_CURRENT_LIST_DIR}/RiaCurveSetDefinition.h
${CMAKE_CURRENT_LIST_DIR}/RiaRftPltCurveDefinition.h
Expand Down Expand Up @@ -58,6 +59,7 @@ set(SOURCE_GROUP_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/RiaPreferencesOsdu.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaPreferencesOpm.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaPreferencesSumo.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaPreferencesSumoExplorer.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaPorosityModel.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaCurveSetDefinition.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaRftPltCurveDefinition.cpp
Expand Down
23 changes: 23 additions & 0 deletions ApplicationLibCode/Application/RiaApplication.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include "Cloud/RiaOsduConnector.h"
#include "Cloud/RiaSumoConnector.h"
#include "Cloud/RiaSumoDefines.h"
#include "Cloud/RiaSumoExplorerConnector.h"
#include "KeyValueStore/RiaKeyValueStore.h"
#include "RiaDefines.h"
#include "RiaOsduDefines.h"
Expand All @@ -36,6 +37,7 @@
#include "RiaPreferences.h"
#include "RiaPreferencesOsdu.h"
#include "RiaPreferencesSumo.h"
#include "RiaPreferencesSumoExplorer.h"
#include "RiaPreferencesSystem.h"
#include "RiaProjectModifier.h"
#include "RiaRegressionTestRunner.h"
Expand Down Expand Up @@ -1889,6 +1891,27 @@ RiaSumoConnector* RiaApplication::makeSumoConnector()
return m_sumoConnector;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiaSumoExplorerConnector* RiaApplication::makeSumoExplorerConnector()
{
if ( RiaRegressionTestRunner::instance()->isRunningRegressionTests() )
{
return nullptr;
}

if ( !m_sumoExplorerConnector )
{
auto prefs = preferences()->sumoExplorerPreferences();
m_sumoExplorerConnector = new RiaSumoExplorerConnector( RiuMainWindow::instance(), prefs->pythonPath(), prefs->serverPort() );

// Note: Auto-start is handled in RiaConnectorTools::configureCloudServices()
}

return m_sumoExplorerConnector;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
Expand Down
13 changes: 8 additions & 5 deletions ApplicationLibCode/Application/RiaApplication.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ class RiuRecentFileActionProvider;
class RiaArgumentParser;
class RiaOsduConnector;
class RiaSumoConnector;
class RiaSumoExplorerConnector;

namespace caf
{
Expand Down Expand Up @@ -200,8 +201,9 @@ class RiaApplication
virtual void addToRecentFiles( const QString& fileName ) {}
virtual void showFormattedTextInMessageBoxOrConsole( const QString& errMsg ) = 0;

RiaOsduConnector* makeOsduConnector();
RiaSumoConnector* makeSumoConnector();
RiaOsduConnector* makeOsduConnector();
RiaSumoConnector* makeSumoConnector();
RiaSumoExplorerConnector* makeSumoExplorerConnector();

RiaKeyValueStore<char>* keyValueStore() const;

Expand Down Expand Up @@ -268,7 +270,8 @@ class RiaApplication
std::optional<int> m_logLevelFromCommandLine;

private:
static RiaApplication* s_riaApplication;
QPointer<RiaOsduConnector> m_osduConnector;
QPointer<RiaSumoConnector> m_sumoConnector;
static RiaApplication* s_riaApplication;
QPointer<RiaOsduConnector> m_osduConnector;
QPointer<RiaSumoConnector> m_sumoConnector;
QPointer<RiaSumoExplorerConnector> m_sumoExplorerConnector;
};
16 changes: 16 additions & 0 deletions ApplicationLibCode/Application/RiaPreferences.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include "RiaPreferencesOsdu.h"
#include "RiaPreferencesSummary.h"
#include "RiaPreferencesSumo.h"
#include "RiaPreferencesSumoExplorer.h"
#include "RiaPreferencesSystem.h"
#include "RiaQDateTimeTools.h"
#include "RiaValidRegExpValidator.h"
Expand Down Expand Up @@ -285,6 +286,9 @@ RiaPreferences::RiaPreferences()
caf::PdmUiPushButtonEditor::configureEditorLabelHidden( &m_deleteSumoToken );
m_deleteSumoToken.xmlCapability()->disableIO();

CAF_PDM_InitFieldNoDefault( &m_sumoExplorerPreferences, "sumoExplorerPreferences", "sumoExplorerPreferences" );
m_sumoExplorerPreferences = new RiaPreferencesSumoExplorer;

CAF_PDM_InitFieldNoDefault( &m_openTelemetryPreferences, "openTelemetryPreferences", "openTelemetryPreferences" );
m_openTelemetryPreferences = new RiaPreferencesOpenTelemetry;

Expand Down Expand Up @@ -527,6 +531,10 @@ void RiaPreferences::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering&
m_sumoPreferences()->uiOrdering( uiConfigName, *sumoGroup );
sumoGroup->add( &m_deleteSumoToken );

caf::PdmUiGroup* sumoExplorerGroup = uiOrdering.addNewGroup( "SUMO Explorer" );
sumoExplorerGroup->setCollapsedByDefault();
m_sumoExplorerPreferences()->uiOrdering( uiConfigName, *sumoExplorerGroup );

caf::PdmUiGroup* openTelemetryGroup = uiOrdering.addNewGroup( "OpenTelemetry" );
openTelemetryGroup->setCollapsedByDefault();
m_openTelemetryPreferences()->uiOrdering( uiConfigName, *openTelemetryGroup );
Expand Down Expand Up @@ -1086,6 +1094,14 @@ RiaPreferencesSumo* RiaPreferences::sumoPreferences() const
return m_sumoPreferences();
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiaPreferencesSumoExplorer* RiaPreferences::sumoExplorerPreferences() const
{
return m_sumoExplorerPreferences();
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
Expand Down
5 changes: 5 additions & 0 deletions ApplicationLibCode/Application/RiaPreferences.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class RiaPreferencesSystem;
class RiaPreferencesOsdu;
class RiaPreferencesGrid;
class RiaPreferencesSumo;
class RiaPreferencesSumoExplorer;
class RiaPreferencesOpm;
class RiaPreferencesOpenTelemetry;

Expand Down Expand Up @@ -128,6 +129,7 @@ class RiaPreferences : public caf::PdmObject
RiaPreferencesSystem* systemPreferences() const;
RiaPreferencesOsdu* osduPreferences() const;
RiaPreferencesSumo* sumoPreferences() const;
RiaPreferencesSumoExplorer* sumoExplorerPreferences() const;
RiaPreferencesGrid* gridPreferences() const;
RiaPreferencesOpm* opmPreferences() const;
RiaPreferencesOpenTelemetry* openTelemetryPreferences() const;
Expand Down Expand Up @@ -243,6 +245,9 @@ class RiaPreferences : public caf::PdmObject
caf::PdmChildField<RiaPreferencesSumo*> m_sumoPreferences;
caf::PdmField<bool> m_deleteSumoToken;

// sumo explorer settings
caf::PdmChildField<RiaPreferencesSumoExplorer*> m_sumoExplorerPreferences;

// OpenTelemetry settings
caf::PdmChildField<RiaPreferencesOpenTelemetry*> m_openTelemetryPreferences;

Expand Down
94 changes: 94 additions & 0 deletions ApplicationLibCode/Application/RiaPreferencesSumoExplorer.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2025- Equinor ASA
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////

#include "RiaPreferencesSumoExplorer.h"

#include "Cloud/RiaSumoExplorerDefines.h"
#include "RiaApplication.h"
#include "RiaPreferences.h"

#include "cafPdmUiOrdering.h"

CAF_PDM_SOURCE_INIT( RiaPreferencesSumoExplorer, "RiaPreferencesSumoExplorer" );

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiaPreferencesSumoExplorer::RiaPreferencesSumoExplorer()
{
CAF_PDM_InitField( &m_serverPort, "serverPort", RiaSumoExplorerDefines::defaultPort(), "Server Port" );

CAF_PDM_InitFieldNoDefault( &m_pythonPath, "pythonPath", "Python Executable Path" );

CAF_PDM_InitField( &m_autoStartServer, "autoStartServer", true, "Auto-Start Server" );

CAF_PDM_InitField( &m_sumoEnvironment, "sumoEnvironment", QString( "prod" ), "Sumo Environment" );
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiaPreferencesSumoExplorer* RiaPreferencesSumoExplorer::current()
{
return RiaApplication::instance()->preferences()->sumoExplorerPreferences();
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
unsigned int RiaPreferencesSumoExplorer::serverPort() const
{
return m_serverPort;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaPreferencesSumoExplorer::pythonPath() const
{
return m_pythonPath;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RiaPreferencesSumoExplorer::autoStartServer() const
{
return m_autoStartServer;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaPreferencesSumoExplorer::sumoEnvironment() const
{
return m_sumoEnvironment;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiaPreferencesSumoExplorer::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
uiOrdering.add( &m_autoStartServer );
uiOrdering.add( &m_serverPort );
uiOrdering.add( &m_pythonPath );
uiOrdering.add( &m_sumoEnvironment );

uiOrdering.skipRemainingFields( true );
}
49 changes: 49 additions & 0 deletions ApplicationLibCode/Application/RiaPreferencesSumoExplorer.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2025- Equinor ASA
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////

#pragma once

#include "cafPdmField.h"
#include "cafPdmObject.h"

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
class RiaPreferencesSumoExplorer : public caf::PdmObject
{
CAF_PDM_HEADER_INIT;

public:
RiaPreferencesSumoExplorer();

static RiaPreferencesSumoExplorer* current();

unsigned int serverPort() const;
QString pythonPath() const;
bool autoStartServer() const;
QString sumoEnvironment() const;

protected:
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;

private:
caf::PdmField<unsigned int> m_serverPort;
caf::PdmField<QString> m_pythonPath;
caf::PdmField<bool> m_autoStartServer;
caf::PdmField<QString> m_sumoEnvironment;
};
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ set(SOURCE_GROUP_HEADER_FILES
${CMAKE_CURRENT_LIST_DIR}/RiaCloudConnector.h
${CMAKE_CURRENT_LIST_DIR}/RiaSumoConnector.h
${CMAKE_CURRENT_LIST_DIR}/RiaSumoDefines.h
${CMAKE_CURRENT_LIST_DIR}/RiaSumoExplorerConnector.h
${CMAKE_CURRENT_LIST_DIR}/RiaSumoExplorerDefines.h
${CMAKE_CURRENT_LIST_DIR}/RiaConnectorTools.h
${CMAKE_CURRENT_LIST_DIR}/RiaOsduConnector.h
${CMAKE_CURRENT_LIST_DIR}/RiaOAuthHttpServerReplyHandler.h
Expand All @@ -11,6 +13,8 @@ set(SOURCE_GROUP_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/RiaCloudConnector.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaSumoConnector.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaSumoDefines.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaSumoExplorerConnector.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaSumoExplorerDefines.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaConnectorTools.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaOsduConnector.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaOAuthHttpServerReplyHandler.cpp
Expand Down
20 changes: 20 additions & 0 deletions ApplicationLibCode/Application/Tools/Cloud/RiaConnectorTools.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
#include "RiaPreferencesOpenTelemetry.h"
#include "RiaPreferencesOsdu.h"
#include "RiaPreferencesSumo.h"
#include "RiaPreferencesSumoExplorer.h"
#include "RiaSumoExplorerConnector.h"

#include <QDir>
#include <QFile>
Expand Down Expand Up @@ -241,5 +243,23 @@ void RiaConnectorTools::configureCloudServices()
RiaLogging::debug( "OpenTelemetry initialization failed or not configured" );
}
}

// Start Sumo Explorer server if auto-start is enabled
if ( preferences->sumoExplorerPreferences()->autoStartServer() )
{
RiaLogging::info( "Auto-starting Sumo Explorer server..." );
auto* connector = RiaApplication::instance()->makeSumoExplorerConnector();
if ( connector && !connector->isServerRunning() )
{
if ( connector->startServer() )
{
RiaLogging::info( "Sumo Explorer server started successfully" );
}
else
{
RiaLogging::warning( QString( "Failed to auto-start Sumo Explorer server: %1" ).arg( connector->lastError() ) );
}
}
}
}
}
Loading