#1918 Observed Data : Remove RigSummaryCaseData

This commit is contained in:
Magne Sjaastad 2017-09-22 09:11:39 +02:00
parent 32fa6d4920
commit aba74bcdfd
23 changed files with 116 additions and 177 deletions

View File

@ -140,8 +140,6 @@ bool RiaImportEclipseCaseTools::openEclipseCaseShowTimeStepFilterImpl(const QStr
if (newSumCase) if (newSumCase)
{ {
newSumCase->loadCase();
RimSummaryCase* existingFileSummaryCase = sumCaseColl->findSummaryCaseFromFileName(newSumCase->summaryHeaderFilename()); RimSummaryCase* existingFileSummaryCase = sumCaseColl->findSummaryCaseFromFileName(newSumCase->summaryHeaderFilename());
if (existingFileSummaryCase) if (existingFileSummaryCase)
{ {

View File

@ -25,7 +25,6 @@
#include "RifReaderEclipseSummary.h" #include "RifReaderEclipseSummary.h"
#include "RigSingleWellResultsData.h" #include "RigSingleWellResultsData.h"
#include "RigSummaryCaseData.h"
#include "RimEclipseResultCase.h" #include "RimEclipseResultCase.h"
#include "RimEclipseWell.h" #include "RimEclipseWell.h"

View File

@ -108,7 +108,6 @@ bool RicImportObservedDataFeature::createAndAddObservedDataFromFile(const QStrin
if (!observedDataCollection) return false; if (!observedDataCollection) return false;
RimSummaryObservedDataFile* newObservedData = observedDataCollection->createAndAddObservedDataFromFileName(fileName); RimSummaryObservedDataFile* newObservedData = observedDataCollection->createAndAddObservedDataFromFileName(fileName);
newObservedData->loadCase();
return true; return true;
} }

View File

@ -101,8 +101,6 @@ bool RicImportSummaryCaseFeature::createAndAddSummaryCaseFromFile(const QString&
if (!sumCaseColl) return false; if (!sumCaseColl) return false;
RimSummaryCase* newSumCase = sumCaseColl->createAndAddSummaryCaseFromFileName(fileName); RimSummaryCase* newSumCase = sumCaseColl->createAndAddSummaryCaseFromFileName(fileName);
newSumCase->loadCase();
if (app->preferences()->autoCreatePlotsOnImport()) if (app->preferences()->autoCreatePlotsOnImport())
{ {

View File

@ -70,7 +70,7 @@ void RicReloadSummaryCaseFeature::onActionTriggered(bool isChecked)
std::vector<RimSummaryCase*> caseSelection = selectedSummaryCases(); std::vector<RimSummaryCase*> caseSelection = selectedSummaryCases();
for (RimSummaryCase* summaryCase : caseSelection) for (RimSummaryCase* summaryCase : caseSelection)
{ {
summaryCase->reloadCase(); summaryCase->createSummaryReaderInterface();
RiaLogging::info(QString("Reloaded data for %1").arg(summaryCase->summaryHeaderFilename())); RiaLogging::info(QString("Reloaded data for %1").arg(summaryCase->summaryHeaderFilename()));
} }

View File

@ -24,7 +24,6 @@
#include "RicSelectSummaryPlotUI.h" #include "RicSelectSummaryPlotUI.h"
#include "RifReaderEclipseSummary.h" #include "RifReaderEclipseSummary.h"
#include "RigSummaryCaseData.h"
#include "RimMainPlotCollection.h" #include "RimMainPlotCollection.h"
#include "RimProject.h" #include "RimProject.h"

View File

@ -59,3 +59,21 @@ void RimObservedData::updateFilePathsFromProjectPath(const QString & newProjectP
{ {
m_summaryHeaderFilename = RimTools::relocateFile(m_summaryHeaderFilename(), newProjectPath, oldProjectPath, nullptr, nullptr); m_summaryHeaderFilename = RimTools::relocateFile(m_summaryHeaderFilename(), newProjectPath, oldProjectPath, nullptr, nullptr);
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimObservedData::createSummaryReaderInterface()
{
throw std::logic_error("The method or operation is not implemented.");
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RifSummaryReaderInterface* RimObservedData::summaryReader()
{
throw std::logic_error("The method or operation is not implemented.");
return nullptr;
}

View File

@ -40,6 +40,12 @@ public:
virtual QString caseName() override; virtual QString caseName() override;
virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) override; virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) override;
virtual void createSummaryReaderInterface() override;
virtual RifSummaryReaderInterface* summaryReader() override;
private: private:
caf::PdmField<caf::AppEnum<RifEclipseSummaryAddress::SummaryVarCategory> > m_summaryCategory; caf::PdmField<caf::AppEnum<RifEclipseSummaryAddress::SummaryVarCategory> > m_summaryCategory;
caf::PdmField<QString> m_identifierName; caf::PdmField<QString> m_identifierName;

View File

@ -68,12 +68,12 @@ RimSummaryObservedDataFile* RimObservedDataCollection::createAndAddObservedDataF
this->m_observedDataArray.push_back(newObservedData); this->m_observedDataArray.push_back(newObservedData);
newObservedData->setSummaryHeaderFilename(fileName); newObservedData->setSummaryHeaderFilename(fileName);
newObservedData->createSummaryReaderInterface();
newObservedData->updateOptionSensitivity(); newObservedData->updateOptionSensitivity();
this->updateConnectedEditors(); this->updateConnectedEditors();
return newObservedData; return newObservedData;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -22,8 +22,6 @@
#include "RifReaderEclipseSummary.h" #include "RifReaderEclipseSummary.h"
#include "RigSummaryCaseData.h"
#include "RiaDefines.h" #include "RiaDefines.h"
#include "RimEclipseResultCase.h" #include "RimEclipseResultCase.h"
#include "RimProject.h" #include "RimProject.h"

View File

@ -20,6 +20,10 @@
#include "RimTools.h" #include "RimTools.h"
#include "QFileInfo" #include "QFileInfo"
#include "RifReaderEclipseSummary.h"
#include "QDir"
#include "RifEclipseSummaryTools.h"
#include "RiaLogging.h"
//================================================================================================== //==================================================================================================
@ -81,3 +85,42 @@ void RimFileSummaryCase::updateFilePathsFromProjectPath(const QString & newProje
{ {
m_summaryHeaderFilename = RimTools::relocateFile(m_summaryHeaderFilename(), newProjectPath, oldProjectPath, nullptr, nullptr); m_summaryHeaderFilename = RimTools::relocateFile(m_summaryHeaderFilename(), newProjectPath, oldProjectPath, nullptr, nullptr);
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFileSummaryCase::createSummaryReaderInterface()
{
m_summaryFileReader = RimFileSummaryCase::findRelatedFilesAndCreateReader(this->summaryHeaderFilename());
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RifReaderEclipseSummary* RimFileSummaryCase::findRelatedFilesAndCreateReader(const QString& headerFileName)
{
std::string headerFileNameStd;
std::vector<std::string> dataFileNames;
std::string nativeSumHeadFileName = QDir::toNativeSeparators(headerFileName).toStdString();
RifEclipseSummaryTools::findSummaryFiles(nativeSumHeadFileName, &headerFileNameStd, &dataFileNames);
RifReaderEclipseSummary* summaryFileReader = new RifReaderEclipseSummary;
if (!summaryFileReader->open(headerFileNameStd, dataFileNames))
{
RiaLogging::warning(QString("Failed to open summary file %1").arg(headerFileName));
delete summaryFileReader;
summaryFileReader = nullptr;
}
return summaryFileReader;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RifSummaryReaderInterface* RimFileSummaryCase::summaryReader()
{
return m_summaryFileReader.p();
}

View File

@ -19,12 +19,14 @@
#include "RimSummaryCase.h" #include "RimSummaryCase.h"
class RifReaderEclipseSummary;
//================================================================================================== //==================================================================================================
// //
// //
// //
//================================================================================================== //==================================================================================================
class RimFileSummaryCase: public RimSummaryCase class RimFileSummaryCase: public RimSummaryCase
{ {
CAF_PDM_HEADER_INIT; CAF_PDM_HEADER_INIT;
@ -37,8 +39,11 @@ public:
virtual QString caseName() override; virtual QString caseName() override;
virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) override; virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) override;
virtual void createSummaryReaderInterface() override;
virtual RifSummaryReaderInterface* summaryReader() override;
static RifReaderEclipseSummary* findRelatedFilesAndCreateReader(const QString& headerFileName);
private: private:
cvf::ref<RifReaderEclipseSummary> m_summaryFileReader;
}; };

View File

@ -18,8 +18,10 @@
#include "RimGridSummaryCase.h" #include "RimGridSummaryCase.h"
#include "RigSummaryCaseData.h" #include "RifReaderEclipseSummary.h"
#include "RimEclipseCase.h" #include "RimEclipseCase.h"
#include "RimFileSummaryCase.h"
#include "RimProject.h" #include "RimProject.h"
#include <QFileInfo> #include <QFileInfo>
@ -59,6 +61,9 @@ RimGridSummaryCase::~RimGridSummaryCase()
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString summaryHeaderFilenameFromEclipseCase(RimEclipseCase* eclCase) QString summaryHeaderFilenameFromEclipseCase(RimEclipseCase* eclCase)
{ {
if (!eclCase) return QString(); if (!eclCase) return QString();
@ -70,6 +75,9 @@ QString summaryHeaderFilenameFromEclipseCase(RimEclipseCase* eclCase)
return possibleSumHeaderFileName; return possibleSumHeaderFileName;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString caseNameFromEclipseCase(RimEclipseCase* eclCase) QString caseNameFromEclipseCase(RimEclipseCase* eclCase)
{ {
if (!eclCase) return QString(); if (!eclCase) return QString();
@ -162,3 +170,19 @@ void RimGridSummaryCase::updateFilePathsFromProjectPath(const QString & newProje
// Shouldn't have to do anything // Shouldn't have to do anything
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimGridSummaryCase::createSummaryReaderInterface()
{
m_summaryFileReader = RimFileSummaryCase::findRelatedFilesAndCreateReader(this->summaryHeaderFilename());
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RifSummaryReaderInterface* RimGridSummaryCase::summaryReader()
{
return m_summaryFileReader.p();
}

View File

@ -22,6 +22,7 @@
#include "cafPdmProxyValueField.h" #include "cafPdmProxyValueField.h"
class RimEclipseCase; class RimEclipseCase;
class RifReaderEclipseSummary;
//================================================================================================== //==================================================================================================
// //
@ -29,7 +30,7 @@ class RimEclipseCase;
// //
//================================================================================================== //==================================================================================================
class RimGridSummaryCase: public RimSummaryCase class RimGridSummaryCase : public RimSummaryCase
{ {
CAF_PDM_HEADER_INIT; CAF_PDM_HEADER_INIT;
public: public:
@ -43,6 +44,9 @@ public:
virtual QString caseName() override; virtual QString caseName() override;
virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) override; virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) override;
virtual void createSummaryReaderInterface() override;
virtual RifSummaryReaderInterface* summaryReader() override;
private: private:
QString eclipseGridFileName() const; QString eclipseGridFileName() const;
@ -50,7 +54,6 @@ private:
caf::PdmPtrField<RimEclipseCase*> m_eclipseCase; caf::PdmPtrField<RimEclipseCase*> m_eclipseCase;
mutable caf::PdmField<QString> m_cachedCaseName; mutable caf::PdmField<QString> m_cachedCaseName;
caf::PdmProxyValueField<QString> m_eclipseGridFileName; caf::PdmProxyValueField<QString> m_eclipseGridFileName;
//caf::PdmProxyValueField<QString> m_eclipseSummaryFileName;
cvf::ref<RifReaderEclipseSummary> m_summaryFileReader;
}; };

View File

@ -18,8 +18,6 @@
#include "RimSummaryCase.h" #include "RimSummaryCase.h"
#include "RigSummaryCaseData.h"
#include "RimEclipseCase.h" #include "RimEclipseCase.h"
#include "RimMainPlotCollection.h" #include "RimMainPlotCollection.h"
#include "RimOilField.h" #include "RimOilField.h"
@ -55,38 +53,6 @@ RimSummaryCase::~RimSummaryCase()
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCase::loadCase()
{
if (m_summaryCaseData.isNull()) m_summaryCaseData = new RigSummaryCaseData(this->summaryHeaderFilename());
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCase::reloadCase()
{
if (m_summaryCaseData.notNull())
{
m_summaryCaseData->openOrReloadCase(this->summaryHeaderFilename());
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RifSummaryReaderInterface* RimSummaryCase::summaryReader()
{
if (m_summaryCaseData.notNull())
{
return m_summaryCaseData->summaryReader();
}
return nullptr;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -23,7 +23,6 @@
#include "cvfObject.h" #include "cvfObject.h"
#include "cafPdmPtrField.h" #include "cafPdmPtrField.h"
class RigSummaryCaseData;
class RifSummaryReaderInterface; class RifSummaryReaderInterface;
//================================================================================================== //==================================================================================================
@ -46,9 +45,8 @@ public:
void updateAutoShortName(); void updateAutoShortName();
void updateOptionSensitivity(); void updateOptionSensitivity();
void loadCase(); virtual void createSummaryReaderInterface() = 0;
void reloadCase(); virtual RifSummaryReaderInterface* summaryReader() = 0;
RifSummaryReaderInterface* summaryReader();
virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) = 0; virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) = 0;
@ -60,7 +58,6 @@ protected:
caf::PdmField<QString> m_shortName; caf::PdmField<QString> m_shortName;
caf::PdmField<bool> m_useAutoShortName; caf::PdmField<bool> m_useAutoShortName;
caf::PdmField<QString> m_summaryHeaderFilename; caf::PdmField<QString> m_summaryHeaderFilename;
cvf::ref<RigSummaryCaseData> m_summaryCaseData;
bool m_isObservedData; bool m_isObservedData;
private: private:

View File

@ -256,9 +256,9 @@ std::vector<RimSummaryCaseCollection*> RimSummaryCaseMainCollection::summaryCase
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimSummaryCaseMainCollection::loadAllSummaryCaseData() void RimSummaryCaseMainCollection::loadAllSummaryCaseData()
{ {
for (RimSummaryCase* sumCase: allSummaryCases()) for (RimSummaryCase* sumCase : allSummaryCases())
{ {
if (sumCase) sumCase->loadCase(); if (sumCase) sumCase->createSummaryReaderInterface();
} }
} }
@ -273,6 +273,7 @@ RimSummaryCase* RimSummaryCaseMainCollection::createAndAddSummaryCaseFromEclipse
RimGridSummaryCase* newSumCase = new RimGridSummaryCase(); RimGridSummaryCase* newSumCase = new RimGridSummaryCase();
this->m_cases.push_back(newSumCase); this->m_cases.push_back(newSumCase);
newSumCase->setAssociatedEclipseCase(eclResCase); newSumCase->setAssociatedEclipseCase(eclResCase);
newSumCase->createSummaryReaderInterface();
newSumCase->updateOptionSensitivity(); newSumCase->updateOptionSensitivity();
return newSumCase; return newSumCase;
} }
@ -288,6 +289,7 @@ RimSummaryCase* RimSummaryCaseMainCollection::createAndAddSummaryCaseFromFileNam
this->m_cases.push_back(newSumCase); this->m_cases.push_back(newSumCase);
newSumCase->setSummaryHeaderFilename(fileName); newSumCase->setSummaryHeaderFilename(fileName);
newSumCase->createSummaryReaderInterface();
newSumCase->updateOptionSensitivity(); newSumCase->updateOptionSensitivity();
return newSumCase; return newSumCase;

View File

@ -22,8 +22,6 @@
#include "RifReaderEclipseSummary.h" #include "RifReaderEclipseSummary.h"
#include "RigSummaryCaseData.h"
#include "RiaDefines.h" #include "RiaDefines.h"
#include "RimEclipseResultCase.h" #include "RimEclipseResultCase.h"
#include "RimProject.h" #include "RimProject.h"

View File

@ -20,8 +20,6 @@
#include "RifReaderEclipseSummary.h" #include "RifReaderEclipseSummary.h"
#include "RigSummaryCaseData.h"
#include "RiaApplication.h" #include "RiaApplication.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimSummaryCase.h" #include "RimSummaryCase.h"

View File

@ -22,8 +22,6 @@
#include "RifReaderEclipseSummary.h" #include "RifReaderEclipseSummary.h"
#include "RigSummaryCaseData.h"
#include "RiaDefines.h" #include "RiaDefines.h"
#include "RimEclipseResultCase.h" #include "RimEclipseResultCase.h"
#include "RimProject.h" #include "RimProject.h"

View File

@ -52,7 +52,6 @@ ${CEE_CURRENT_LIST_DIR}RigWellLogExtractionTools.h
${CEE_CURRENT_LIST_DIR}RigHexIntersectionTools.h ${CEE_CURRENT_LIST_DIR}RigHexIntersectionTools.h
${CEE_CURRENT_LIST_DIR}RigTimeHistoryResultAccessor.h ${CEE_CURRENT_LIST_DIR}RigTimeHistoryResultAccessor.h
${CEE_CURRENT_LIST_DIR}RigCurveDataTools.h ${CEE_CURRENT_LIST_DIR}RigCurveDataTools.h
${CEE_CURRENT_LIST_DIR}RigSummaryCaseData.h
${CEE_CURRENT_LIST_DIR}RigObservedData.h ${CEE_CURRENT_LIST_DIR}RigObservedData.h
${CEE_CURRENT_LIST_DIR}RigLasFileExporter.h ${CEE_CURRENT_LIST_DIR}RigLasFileExporter.h
${CEE_CURRENT_LIST_DIR}RigSimulationWellCoordsAndMD.h ${CEE_CURRENT_LIST_DIR}RigSimulationWellCoordsAndMD.h
@ -123,7 +122,6 @@ ${CEE_CURRENT_LIST_DIR}RigWellLogCurveData.cpp
${CEE_CURRENT_LIST_DIR}RigHexIntersectionTools.cpp ${CEE_CURRENT_LIST_DIR}RigHexIntersectionTools.cpp
${CEE_CURRENT_LIST_DIR}RigTimeHistoryResultAccessor.cpp ${CEE_CURRENT_LIST_DIR}RigTimeHistoryResultAccessor.cpp
${CEE_CURRENT_LIST_DIR}RigCurveDataTools.cpp ${CEE_CURRENT_LIST_DIR}RigCurveDataTools.cpp
${CEE_CURRENT_LIST_DIR}RigSummaryCaseData.cpp
${CEE_CURRENT_LIST_DIR}RigObservedData.cpp ${CEE_CURRENT_LIST_DIR}RigObservedData.cpp
${CEE_CURRENT_LIST_DIR}RigLasFileExporter.cpp ${CEE_CURRENT_LIST_DIR}RigLasFileExporter.cpp
${CEE_CURRENT_LIST_DIR}RigSimulationWellCoordsAndMD.cpp ${CEE_CURRENT_LIST_DIR}RigSimulationWellCoordsAndMD.cpp

View File

@ -1,69 +0,0 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2016- Statoil 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 "RigSummaryCaseData.h"
#include "RifEclipseSummaryTools.h"
#include "RifReaderEclipseSummary.h"
#include <QDir>
#include <QString>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RigSummaryCaseData::RigSummaryCaseData(const QString& summaryHeaderFileName)
{
openOrReloadCase(summaryHeaderFileName);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RigSummaryCaseData::~RigSummaryCaseData()
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RigSummaryCaseData::openOrReloadCase(const QString& summaryHeaderFileName)
{
std::string headerFileName;
std::vector<std::string> dataFileNames;
std::string nativeSumHeadFileName = QDir::toNativeSeparators(summaryHeaderFileName).toStdString();
RifEclipseSummaryTools::findSummaryFiles(nativeSumHeadFileName, &headerFileName, &dataFileNames);
m_summaryFileReader = new RifReaderEclipseSummary();
if (!m_summaryFileReader->open(headerFileName, dataFileNames))
{
m_summaryFileReader = nullptr;
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RifSummaryReaderInterface* RigSummaryCaseData::summaryReader()
{
return m_summaryFileReader.p();
}

View File

@ -1,39 +0,0 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2016- Statoil 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 "cvfBase.h"
#include "cvfObject.h"
class QString;
class RifSummaryReaderInterface;
class RigSummaryCaseData: public cvf::Object
{
public:
explicit RigSummaryCaseData(const QString& summaryHeaderFileName );
~RigSummaryCaseData();
void openOrReloadCase(const QString& summaryHeaderFileName);
RifSummaryReaderInterface* summaryReader();
private:
cvf::ref<RifSummaryReaderInterface> m_summaryFileReader;
};