Improve error handling when trying to access OSDU data

Show more details when support for SSL is missing.

Move connection of signal/slot away from constructor. This makes it possible to use ResInsight even if SSL is not available.
This commit is contained in:
Magne Sjaastad
2024-08-16 16:48:04 +02:00
parent 3f2c669bc4
commit 141484f8a7
6 changed files with 48 additions and 18 deletions

View File

@@ -39,14 +39,6 @@
RimOsduWellLogDataLoader::RimOsduWellLogDataLoader()
: caf::DataLoader()
{
RiaApplication* app = RiaApplication::instance();
RiaOsduConnector* osduConnector = app->makeOsduConnector();
connect( osduConnector,
SIGNAL( parquetDownloadFinished( const QByteArray&, const QString&, const QString& ) ),
this,
SLOT( parquetDownloadComplete( const QByteArray&, const QString&, const QString& ) ),
Qt::QueuedConnection );
}
//--------------------------------------------------------------------------------------------------
@@ -56,12 +48,23 @@ void RimOsduWellLogDataLoader::loadData( caf::PdmObject& pdmObject, const QStrin
{
RiaApplication* app = RiaApplication::instance();
RiaOsduConnector* osduConnector = app->makeOsduConnector();
if ( !osduConnector )
{
RiaLogging::error( "Failed to create OSDU connector" );
return;
}
// TODO: this is weird?
m_dataType = dataType;
if ( RimOsduWellLog* osduWellLog = dynamic_cast<RimOsduWellLog*>( &pdmObject ) )
{
connect( osduConnector,
SIGNAL( parquetDownloadFinished( const QByteArray&, const QString&, const QString& ) ),
this,
SLOT( parquetDownloadComplete( const QByteArray&, const QString&, const QString& ) ),
Qt::ConnectionType( Qt::QueuedConnection | Qt::UniqueConnection ) );
QString wellLogId = osduWellLog->wellLogId();
osduConnector->requestWellLogParquetDataById( wellLogId );
m_wellLogs[wellLogId] = osduWellLog;

View File

@@ -39,14 +39,6 @@
RimOsduWellPathDataLoader::RimOsduWellPathDataLoader()
: caf::DataLoader()
{
RiaApplication* app = RiaApplication::instance();
RiaOsduConnector* osduConnector = app->makeOsduConnector();
connect( osduConnector,
SIGNAL( parquetDownloadFinished( const QByteArray&, const QString&, const QString& ) ),
this,
SLOT( parquetDownloadComplete( const QByteArray&, const QString&, const QString& ) ),
Qt::QueuedConnection );
}
//--------------------------------------------------------------------------------------------------
@@ -56,6 +48,11 @@ void RimOsduWellPathDataLoader::loadData( caf::PdmObject& pdmObject, const QStri
{
RiaApplication* app = RiaApplication::instance();
RiaOsduConnector* osduConnector = app->makeOsduConnector();
if ( !osduConnector )
{
RiaLogging::error( "Failed to create OSDU connector" );
return;
}
// TODO: this is weird?
m_dataType = dataType;
@@ -63,6 +60,12 @@ void RimOsduWellPathDataLoader::loadData( caf::PdmObject& pdmObject, const QStri
auto oWPath = dynamic_cast<RimOsduWellPath*>( &pdmObject );
if ( oWPath )
{
connect( osduConnector,
SIGNAL( parquetDownloadFinished( const QByteArray&, const QString&, const QString& ) ),
this,
SLOT( parquetDownloadComplete( const QByteArray&, const QString&, const QString& ) ),
Qt::ConnectionType( Qt::QueuedConnection | Qt::UniqueConnection ) );
QString trajectoryId = oWPath->wellboreTrajectoryId();
m_wellPaths[trajectoryId] = oWPath;
m_taskIds[trajectoryId] = taskId;

View File

@@ -182,8 +182,10 @@ bool RimWellPathCollection::loadDataAndUpdate()
if ( hasOsduData( allWellPaths() ) )
{
auto osduConnector = RiaApplication::instance()->makeOsduConnector();
osduConnector->requestTokenBlocking();
if ( auto osduConnector = RiaApplication::instance()->makeOsduConnector() )
{
osduConnector->requestTokenBlocking();
}
}
caf::DataLoadController* dataLoadController = caf::DataLoadController::instance();