Skip to content

Commit d0b3f28

Browse files
committed
#12282 Assign a postfix to identical ensemble names
1 parent 1addf3e commit d0b3f28

14 files changed

+86
-52
lines changed

ApplicationLibCode/Application/RiaApplication.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -778,9 +778,9 @@ bool RiaApplication::loadProject( const QString& projectFileName, ProjectLoadAct
778778
sumMainCollection->updateAutoShortName();
779779
for ( auto sumCaseGroup : sumMainCollection->summaryEnsembles() )
780780
{
781-
sumCaseGroup->updateName();
782781
sumCaseGroup->loadDataAndUpdate();
783782
}
783+
sumMainCollection->updateEnsembleNames();
784784

785785
for ( auto well : oilField->wellPathCollection()->allWellPaths() )
786786
{

ApplicationLibCode/Application/Tools/RiaEnsembleNameTools.cpp

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -400,37 +400,6 @@ std::map<QString, std::pair<QString, QString>>
400400
return mapping;
401401
}
402402

403-
//--------------------------------------------------------------------------------------------------
404-
///
405-
//--------------------------------------------------------------------------------------------------
406-
void RiaEnsembleNameTools::updateAutoNameEnsembles( std::vector<RimSummaryEnsemble*> ensembles )
407-
{
408-
std::set<std::string> key1;
409-
std::set<std::string> key2;
410-
411-
for ( const auto& ensemble : ensembles )
412-
{
413-
const auto keys = ensemble->nameKeys();
414-
key1.insert( keys.first );
415-
key2.insert( keys.second );
416-
}
417-
418-
bool useKey1 = key1.size() > 1;
419-
bool useKey2 = key2.size() > 1;
420-
421-
if ( !useKey1 && !useKey2 )
422-
{
423-
useKey2 = true;
424-
}
425-
426-
for ( auto ensemble : ensembles )
427-
{
428-
ensemble->setUsePathKey1( useKey1 );
429-
ensemble->setUsePathKey2( useKey2 );
430-
ensemble->updateName();
431-
}
432-
}
433-
434403
//--------------------------------------------------------------------------------------------------
435404
///
436405
//--------------------------------------------------------------------------------------------------

ApplicationLibCode/Application/Tools/RiaEnsembleNameTools.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ class RiaEnsembleNameTools
5959
const QStringList& fileNames,
6060
const std::vector<QStringList>& fileNameComponents );
6161

62-
static void updateAutoNameEnsembles( std::vector<RimSummaryEnsemble*> ensembles );
63-
6462
static QString uniqueShortNameForEnsembleCase( RimSummaryCase* summaryCase );
6563
static QString uniqueShortNameForSummaryCase( RimSummaryCase* summaryCase );
6664

ApplicationLibCode/Application/Tools/Summary/RiaSummaryTools.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,3 +442,14 @@ time_t RiaSummaryTools::calculateTimeThreshold( const time_t& minimum, const tim
442442

443443
return timeThreshold;
444444
}
445+
446+
//--------------------------------------------------------------------------------------------------
447+
///
448+
//--------------------------------------------------------------------------------------------------
449+
void RiaSummaryTools::updateSummaryEnsembleNames()
450+
{
451+
if ( auto sumCaseMainColl = RiaSummaryTools::summaryCaseMainCollection() )
452+
{
453+
sumCaseMainColl->updateEnsembleNames();
454+
}
455+
}

ApplicationLibCode/Application/Tools/Summary/RiaSummaryTools.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ class RiaSummaryTools
9999

100100
static time_t calculateTimeThreshold( const time_t& minimum, const time_t& maximum );
101101

102+
static void updateSummaryEnsembleNames();
103+
102104
private:
103105
static void updateRequiredCalculatedCurves( RimSummaryCase* sourceSummaryCase );
104106
static bool isCalculationRequired( const RimUserDefinedCalculation* summaryCalculation, const RimSummaryCase* summaryCase );

ApplicationLibCode/Commands/RicImportEnsembleFeature.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ void RicImportEnsembleFeature::onActionTriggered( bool isChecked )
102102
importSingleEnsemble( fileNames, useEnsembleNameDialog, ensembleGroupingMode, fileType, groupName );
103103
}
104104

105-
RiaEnsembleNameTools::updateAutoNameEnsembles( RiaApplication::instance()->project()->summaryGroups() );
105+
RiaSummaryTools::updateSummaryEnsembleNames();
106106
}
107107
}
108108
}
@@ -137,6 +137,8 @@ RimSummaryEnsemble* RicImportEnsembleFeature::importSingleEnsemble( const QStrin
137137
summaryCase->updateAutoShortName();
138138
}
139139

140+
RiaSummaryTools::updateSummaryEnsembleNames();
141+
140142
RiaSummaryPlotTools::createAndAppendDefaultSummaryMultiPlot( {}, { ensemble } );
141143
}
142144

ApplicationLibCode/Commands/SummaryPlotCommands/RicReplaceSummaryEnsembleFeature.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,9 @@ void RicReplaceSummaryEnsembleFeature::onActionTriggered( bool isChecked )
7575
summaryCase->updateAutoShortName();
7676
}
7777

78-
summaryEnsemble->updateName();
79-
8078
if ( auto sumCaseMainColl = RiaSummaryTools::summaryCaseMainCollection() )
8179
{
80+
sumCaseMainColl->updateEnsembleNames();
8281
sumCaseMainColl->updateAllRequiredEditors();
8382
}
8483
}

ApplicationLibCode/ProjectDataModel/Cloud/RimCloudDataSourceCollection.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,13 @@ void RimCloudDataSourceCollection::createEnsemblesFromSelectedDataSources( const
8888
RimSummaryEnsembleSumo* ensemble = new RimSummaryEnsembleSumo();
8989
ensemble->setUsePathKey1( true );
9090
ensemble->setSumoDataSource( dataSource );
91-
ensemble->updateName();
9291
RiaSummaryTools::summaryCaseMainCollection()->addEnsemble( ensemble );
9392
ensemble->loadDataAndUpdate();
9493

9594
RiaSummaryPlotTools::createAndAppendDefaultSummaryMultiPlot( {}, { ensemble } );
9695
}
9796

97+
RiaSummaryTools::updateSummaryEnsembleNames();
9898
RiaSummaryTools::summaryCaseMainCollection()->updateAllRequiredEditors();
9999
}
100100

ApplicationLibCode/ProjectDataModel/Summary/RimDeltaSummaryEnsemble.cpp

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,18 @@
1818

1919
#include "RiaQDateTimeTools.h"
2020

21+
#include "Summary/RiaSummaryTools.h"
22+
2123
#include "SummaryPlotCommands/RicNewDerivedEnsembleFeature.h"
2224

25+
#include "RifSummaryReaderInterface.h"
26+
2327
#include "RimDeltaSummaryCase.h"
2428
#include "RimDeltaSummaryEnsemble.h"
2529
#include "RimProject.h"
2630
#include "RimSummaryCaseMainCollection.h"
2731
#include "RimSummaryEnsemble.h"
2832

29-
#include "RifSummaryReaderInterface.h"
30-
3133
#include "cafPdmUiCheckBoxEditor.h"
3234
#include "cafPdmUiPushButtonEditor.h"
3335
#include "cafPdmUiTreeSelectionEditor.h"
@@ -107,7 +109,8 @@ RimDeltaSummaryEnsemble::~RimDeltaSummaryEnsemble()
107109
void RimDeltaSummaryEnsemble::setEnsemble1( RimSummaryEnsemble* ensemble )
108110
{
109111
m_ensemble1 = ensemble;
110-
updateName();
112+
113+
RiaSummaryTools::updateSummaryEnsembleNames();
111114
}
112115

113116
//--------------------------------------------------------------------------------------------------
@@ -116,7 +119,8 @@ void RimDeltaSummaryEnsemble::setEnsemble1( RimSummaryEnsemble* ensemble )
116119
void RimDeltaSummaryEnsemble::setEnsemble2( RimSummaryEnsemble* ensemble )
117120
{
118121
m_ensemble2 = ensemble;
119-
updateName();
122+
123+
RiaSummaryTools::updateSummaryEnsembleNames();
120124
}
121125

122126
//--------------------------------------------------------------------------------------------------
@@ -271,7 +275,6 @@ void RimDeltaSummaryEnsemble::onLoadDataAndUpdate()
271275
{
272276
updateDerivedEnsembleCases();
273277
updateReferringCurveSets();
274-
updateName();
275278
updateConnectedEditors();
276279
}
277280

@@ -349,7 +352,6 @@ void RimDeltaSummaryEnsemble::defineUiOrdering( QString uiConfigName, caf::PdmUi
349352

350353
uiOrdering.skipRemainingFields( true );
351354

352-
updateName();
353355
if ( !isValid() ) m_caseCount = "";
354356
}
355357

@@ -389,7 +391,7 @@ void RimDeltaSummaryEnsemble::fieldChangedByUi( const caf::PdmFieldHandle* chang
389391

390392
if ( doUpdate )
391393
{
392-
updateName();
394+
RiaSummaryTools::updateSummaryEnsembleNames();
393395

394396
if ( doUpdateCases )
395397
{

ApplicationLibCode/ProjectDataModel/Summary/RimSummaryCaseMainCollection.cpp

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ void RimSummaryCaseMainCollection::removeEnsemble( RimSummaryEnsemble* ensemble
277277
{
278278
m_ensembles.removeChild( ensemble );
279279

280-
RiaEnsembleNameTools::updateAutoNameEnsembles( summaryEnsembles() );
280+
RiaSummaryTools::updateSummaryEnsembleNames();
281281

282282
dataSourceHasChanged.send();
283283
}
@@ -545,7 +545,7 @@ RimSummaryEnsemble* RimSummaryCaseMainCollection::defaultAllocator()
545545
//--------------------------------------------------------------------------------------------------
546546
void RimSummaryCaseMainCollection::onCaseNameChanged( const SignalEmitter* emitter )
547547
{
548-
RiaEnsembleNameTools::updateAutoNameEnsembles( summaryEnsembles() );
548+
RiaSummaryTools::updateSummaryEnsembleNames();
549549

550550
RimSummaryMultiPlotCollection* summaryPlotColl = RiaSummaryTools::summaryMultiPlotCollection();
551551
summaryPlotColl->updateSummaryNameHasChanged();
@@ -721,3 +721,38 @@ void RimSummaryCaseMainCollection::onProjectBeingSaved()
721721
}
722722
}
723723
}
724+
725+
//--------------------------------------------------------------------------------------------------
726+
///
727+
//--------------------------------------------------------------------------------------------------
728+
void RimSummaryCaseMainCollection::updateEnsembleNames()
729+
{
730+
std::set<std::string> key1;
731+
std::set<std::string> key2;
732+
733+
auto ensembles = summaryEnsembles();
734+
735+
for ( const auto& ensemble : ensembles )
736+
{
737+
const auto keys = ensemble->nameKeys();
738+
key1.insert( keys.first );
739+
key2.insert( keys.second );
740+
}
741+
742+
bool useKey1 = key1.size() > 1;
743+
bool useKey2 = key2.size() > 1;
744+
745+
if ( !useKey1 && !useKey2 )
746+
{
747+
useKey2 = true;
748+
}
749+
750+
std::set<QString> existingNames;
751+
for ( auto ensemble : ensembles )
752+
{
753+
ensemble->setUsePathKey1( useKey1 );
754+
ensemble->setUsePathKey2( useKey2 );
755+
ensemble->updateName( existingNames );
756+
existingNames.insert( ensemble->name() );
757+
}
758+
}

0 commit comments

Comments
 (0)