mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-26 15:10:22 -05:00
#14780 Create a best effort ensemble instead of nothing for None grouping
RiaEnsembleNameTools::groupFilesByEnsembleName had no branch for EnsembleGroupingMode::NONE, so it silently returned an empty map and no ensemble was created for this grouping mode. Add handling that groups all input files into a single ensemble. Also surface warning dialogs instead of silently doing nothing when no ensemble/grid ensemble could be created from the selected files, in RicImportGridAndSummaryEnsembleFeature and RicCreateGridCaseEnsemblesFromFilesFeature.
This commit is contained in:
1 parent
8f9b828ac4
commit
e269893c04
3 files changed
+43
-3
No files matched your search
@@ -394,6 +394,15 @@ std::map<QString, QStringList> RiaEnsembleNameTools::groupFilesByEnsembleName( c
|
||||
ensemblePaths[QString::fromStdString( ensembleName )] = groupPaths;
|
||||
}
|
||||
}
|
||||
else if ( groupingMode == RiaDefines::EnsembleGroupingMode::NONE )
|
||||
{
|
||||
// No grouping requested: put all files into a single ensemble.
|
||||
if ( !fileNames.isEmpty() )
|
||||
{
|
||||
QString ensembleName = findSuitableEnsembleName( fileNames, groupingMode );
|
||||
ensemblePaths[ensembleName] = fileNames;
|
||||
}
|
||||
}
|
||||
|
||||
return ensemblePaths;
|
||||
}
|
||||
|
||||
+15
-1
@@ -47,6 +47,9 @@
|
||||
#include <QAction>
|
||||
#include <QDir>
|
||||
#include <QFileInfo>
|
||||
#include <QMessageBox>
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
CAF_CMD_SOURCE_INIT( RicCreateGridCaseEnsemblesFromFilesFeature, "RicCreateGridCaseEnsemblesFromFilesFeature" );
|
||||
|
||||
@@ -73,7 +76,18 @@ void RicCreateGridCaseEnsemblesFromFilesFeature::onActionTriggered( bool isCheck
|
||||
}
|
||||
}
|
||||
|
||||
if ( gridEnsembles.empty() ) return;
|
||||
if ( fileNames.isEmpty() ) return;
|
||||
|
||||
bool anyCasesCreated = std::any_of( gridEnsembles.begin(),
|
||||
gridEnsembles.end(),
|
||||
[]( RimEclipseCaseEnsemble* ensemble ) { return ensemble && !ensemble->cases().empty(); } );
|
||||
if ( !anyCasesCreated )
|
||||
{
|
||||
QMessageBox::warning( RiaGuiApplication::widgetToUseAsParent(),
|
||||
"Grid Ensemble Import Failed",
|
||||
"No grid ensemble could be created from the selected files." );
|
||||
return;
|
||||
}
|
||||
|
||||
auto firstEnsemble = gridEnsembles.front();
|
||||
if ( firstEnsemble->cases().empty() ) return;
|
||||
|
||||
@@ -34,11 +34,13 @@
|
||||
#include "RimSummaryEnsemble.h"
|
||||
#include "RimViewNameConfig.h"
|
||||
|
||||
#include "RiuMainWindow.h"
|
||||
#include "RiuPlotMainWindow.h"
|
||||
#include "RiuPlotMainWindowTools.h"
|
||||
|
||||
#include <QAction>
|
||||
#include <QIcon>
|
||||
#include <QMessageBox>
|
||||
#include <QPointer>
|
||||
#include <QSet>
|
||||
#include <QSettings>
|
||||
@@ -113,10 +115,21 @@ static void doImport( const RicImportGridAndSummaryEnsembleDialogResult& result,
|
||||
|
||||
strippedPaths.removeDuplicates();
|
||||
|
||||
if ( strippedPaths.isEmpty() ) return;
|
||||
if ( strippedPaths.isEmpty() )
|
||||
{
|
||||
QMessageBox::warning( RiuMainWindow::instance(), "No Files Found", "No grid or summary files were found to import." );
|
||||
return;
|
||||
}
|
||||
|
||||
auto fileSets = RimEnsembleFileSetTools::createEnsembleFileSets( strippedPaths, result.groupingMode );
|
||||
if ( fileSets.empty() ) return;
|
||||
if ( fileSets.empty() )
|
||||
{
|
||||
QMessageBox::warning( RiuMainWindow::instance(),
|
||||
"Ensemble Import Failed",
|
||||
"No ensemble could be created from the selected files. The selected folder structure did not match the "
|
||||
"selected ensemble grouping mode. Try selecting a different grouping mode." );
|
||||
return;
|
||||
}
|
||||
|
||||
bool gridEnsemblesCreated = false;
|
||||
if ( result.createGridEnsemble && !result.gridFiles.isEmpty() )
|
||||
@@ -133,6 +146,10 @@ static void doImport( const RicImportGridAndSummaryEnsembleDialogResult& result,
|
||||
if ( view ) view->nameConfig()->setAddCaseName( true );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
QMessageBox::warning( RiuMainWindow::instance(), "Grid Ensemble Import Failed", "No grid ensemble could be created." );
|
||||
}
|
||||
}
|
||||
|
||||
if ( result.createSummaryEnsemble && !result.summaryFiles.isEmpty() )
|
||||
|
||||
Reference in new issue
Block a user