#1816 Observed data: Reader interface will be used throughout the code

This commit is contained in:
Rebecca Cox 2017-09-20 09:30:32 +02:00
parent 78b4fc6fe8
commit d0d8a7d4be
10 changed files with 33 additions and 31 deletions

View File

@ -662,7 +662,7 @@ std::set<RifEclipseSummaryAddress> RicSummaryCurveCreator::findPossibleSummaryAd
for (RimSummaryCase* currCase : selectedCases) for (RimSummaryCase* currCase : selectedCases)
{ {
RifReaderEclipseSummary* reader = nullptr; RifSummaryReaderInterface* reader = nullptr;
if (currCase && currCase->caseData()) reader = currCase->caseData()->summaryReader(); if (currCase && currCase->caseData()) reader = currCase->caseData()->summaryReader();
if (reader) if (reader)
{ {
@ -846,7 +846,7 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
std::set<RifEclipseSummaryAddress> addrUnion; std::set<RifEclipseSummaryAddress> addrUnion;
for (RimSummaryCase* currCase : m_selectedCases) for (RimSummaryCase* currCase : m_selectedCases)
{ {
RifReaderEclipseSummary* reader = nullptr; RifSummaryReaderInterface* reader = nullptr;
if (currCase && currCase->caseData()) reader = currCase->caseData()->summaryReader(); if (currCase && currCase->caseData()) reader = currCase->caseData()->summaryReader();
if (reader) if (reader)
{ {
@ -969,7 +969,7 @@ std::set<std::string> RicSummaryCurveCreator::getAllSummaryWellNames()
proj->allSummaryCases(cases); proj->allSummaryCases(cases);
for (RimSummaryCase* rimCase : cases) for (RimSummaryCase* rimCase : cases)
{ {
RifReaderEclipseSummary* reader = nullptr; RifSummaryReaderInterface* reader = nullptr;
if (rimCase && rimCase->caseData()) if (rimCase && rimCase->caseData())
{ {
reader = rimCase->caseData()->summaryReader(); reader = rimCase->caseData()->summaryReader();

View File

@ -128,7 +128,7 @@ std::vector<std::string> RifEclipseSummaryTools::findSummaryDataFiles(const std:
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RifEclipseSummaryTools::dumpMetaData(RifReaderEclipseSummary* readerEclipseSummary) void RifEclipseSummaryTools::dumpMetaData(RifSummaryReaderInterface* readerEclipseSummary)
{ {
std::vector<RifEclipseSummaryAddress> addresses = readerEclipseSummary->allResultAddresses(); std::vector<RifEclipseSummaryAddress> addresses = readerEclipseSummary->allResultAddresses();

View File

@ -23,7 +23,7 @@
#include <string> #include <string>
#include <vector> #include <vector>
class RifReaderEclipseSummary; class RifSummaryReaderInterface;
//================================================================================================== //==================================================================================================
// //
@ -38,7 +38,7 @@ public:
static void findSummaryFiles(const std::string& inputFile, std::string* headerFile, std::vector<std::string>* dataFiles); static void findSummaryFiles(const std::string& inputFile, std::string* headerFile, std::vector<std::string>* dataFiles);
static bool hasSummaryFiles(const std::string& gridFileName); static bool hasSummaryFiles(const std::string& gridFileName);
static void dumpMetaData(RifReaderEclipseSummary* readerEclipseSummary); static void dumpMetaData(RifSummaryReaderInterface* readerEclipseSummary);
private: private:
static void findSummaryHeaderFileInfo(const std::string& inputFile, std::string* headerFile, std::string* path, std::string* base, bool* isFormatted); static void findSummaryHeaderFileInfo(const std::string& inputFile, std::string* headerFile, std::string* path, std::string* base, bool* isFormatted);

View File

@ -231,7 +231,7 @@ void RimSummaryCurve::setSummaryAddress(const RifEclipseSummaryAddress& address)
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
std::string RimSummaryCurve::unitName() std::string RimSummaryCurve::unitName()
{ {
RifReaderEclipseSummary* reader = summaryReader(); RifSummaryReaderInterface* reader = summaryReader();
if (reader) return reader->unitName(this->summaryAddress()); if (reader) return reader->unitName(this->summaryAddress());
return ""; return "";
} }
@ -243,7 +243,7 @@ std::vector<double> RimSummaryCurve::yValues() const
{ {
std::vector<double> values; std::vector<double> values;
RifReaderEclipseSummary* reader = summaryReader(); RifSummaryReaderInterface* reader = summaryReader();
if ( !reader ) return values; if ( !reader ) return values;
@ -259,7 +259,7 @@ std::vector<double> RimSummaryCurve::yValues() const
const std::vector<time_t>& RimSummaryCurve::timeSteps() const const std::vector<time_t>& RimSummaryCurve::timeSteps() const
{ {
static std::vector<time_t> emptyVector; static std::vector<time_t> emptyVector;
RifReaderEclipseSummary* reader = summaryReader(); RifSummaryReaderInterface* reader = summaryReader();
if ( !reader ) return emptyVector; if ( !reader ) return emptyVector;
@ -312,7 +312,7 @@ QList<caf::PdmOptionItemInfo> RimSummaryCurve::calculateValueOptions(const caf::
{ {
if(m_summaryCase) if(m_summaryCase)
{ {
RifReaderEclipseSummary* reader = summaryReader(); RifSummaryReaderInterface* reader = summaryReader();
int addressCount = 0; int addressCount = 0;
if(reader) if(reader)
{ {
@ -370,7 +370,7 @@ void RimSummaryCurve::onLoadDataAndUpdate()
m_selectedVariableDisplayField = QString::fromStdString(m_curveVariable->address().uiText()); m_selectedVariableDisplayField = QString::fromStdString(m_curveVariable->address().uiText());
RifReaderEclipseSummary* reader = summaryReader(); RifSummaryReaderInterface* reader = summaryReader();
if (reader) if (reader)
{ {
const std::vector<RifEclipseSummaryAddress> allAddresses = reader->allResultAddresses(); const std::vector<RifEclipseSummaryAddress> allAddresses = reader->allResultAddresses();
@ -545,7 +545,7 @@ void RimSummaryCurve::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RifReaderEclipseSummary* RimSummaryCurve::summaryReader() const RifSummaryReaderInterface* RimSummaryCurve::summaryReader() const
{ {
if (!m_summaryCase()) return nullptr; if (!m_summaryCase()) return nullptr;
@ -569,7 +569,7 @@ bool RimSummaryCurve::curveData(std::vector<QDateTime>* timeSteps, std::vector<d
{ {
CVF_ASSERT(timeSteps && values); CVF_ASSERT(timeSteps && values);
RifReaderEclipseSummary* reader = summaryReader(); RifSummaryReaderInterface* reader = summaryReader();
if (!reader) return false; if (!reader) return false;

View File

@ -32,7 +32,7 @@
#include "cafAppEnum.h" #include "cafAppEnum.h"
class RifReaderEclipseSummary; class RifSummaryReaderInterface;
class RimSummaryCase; class RimSummaryCase;
class RimSummaryFilter; class RimSummaryFilter;
class RiuLineSegmentQwtPlotCurve; class RiuLineSegmentQwtPlotCurve;
@ -101,7 +101,7 @@ protected:
virtual void onLoadDataAndUpdate() override; virtual void onLoadDataAndUpdate() override;
private: private:
RifReaderEclipseSummary* summaryReader() const; RifSummaryReaderInterface* summaryReader() const;
bool curveData(std::vector<QDateTime>* timeSteps, std::vector<double>* values) const; bool curveData(std::vector<QDateTime>* timeSteps, std::vector<double>* values) const;
void calculateCurveInterpolationFromAddress(); void calculateCurveInterpolationFromAddress();

View File

@ -363,7 +363,7 @@ void RimSummaryCurveFilter::syncCurvesFromUiSelection()
{ {
if (!currentCase || !currentCase->caseData() || !currentCase->caseData()->summaryReader()) continue; if (!currentCase || !currentCase->caseData() || !currentCase->caseData()->summaryReader()) continue;
RifReaderEclipseSummary* reader = currentCase->caseData()->summaryReader(); RifSummaryReaderInterface* reader = currentCase->caseData()->summaryReader();
for(const RifEclipseSummaryAddress& addr: m_uiFilterResultMultiSelection.v()) for(const RifEclipseSummaryAddress& addr: m_uiFilterResultMultiSelection.v())
{ {
@ -526,7 +526,7 @@ void RimSummaryCurveFilter::createSetOfCasesAndResultAdresses(
{ {
if (!currentCase || !currentCase->caseData() || !currentCase->caseData()->summaryReader()) continue; if (!currentCase || !currentCase->caseData() || !currentCase->caseData()->summaryReader()) continue;
RifReaderEclipseSummary* reader = currentCase->caseData()->summaryReader(); RifSummaryReaderInterface* reader = currentCase->caseData()->summaryReader();
const std::vector<RifEclipseSummaryAddress> allAddresses = reader->allResultAddresses(); const std::vector<RifEclipseSummaryAddress> allAddresses = reader->allResultAddresses();
int addressCount = static_cast<int>(allAddresses.size()); int addressCount = static_cast<int>(allAddresses.size());
@ -674,7 +674,7 @@ std::set<RifEclipseSummaryAddress> RimSummaryCurveFilter::findPossibleSummaryAdd
for(RimSummaryCase* currCase: m_selectedSummaryCases) for(RimSummaryCase* currCase: m_selectedSummaryCases)
{ {
RifReaderEclipseSummary* reader = nullptr; RifSummaryReaderInterface* reader = nullptr;
if(currCase && currCase->caseData()) reader = currCase->caseData()->summaryReader(); if(currCase && currCase->caseData()) reader = currCase->caseData()->summaryReader();
if(reader) if(reader)
@ -725,7 +725,7 @@ std::set<std::string> RimSummaryCurveFilter::getAllSummaryWellNames()
proj->allSummaryCases(cases); proj->allSummaryCases(cases);
for (RimSummaryCase* rimCase : cases) for (RimSummaryCase* rimCase : cases)
{ {
RifReaderEclipseSummary* reader = nullptr; RifSummaryReaderInterface* reader = nullptr;
if (rimCase && rimCase->caseData()) if (rimCase && rimCase->caseData())
{ {
reader = rimCase->caseData()->summaryReader(); reader = rimCase->caseData()->summaryReader();

View File

@ -20,6 +20,7 @@
#include "RifEclipseSummaryTools.h" #include "RifEclipseSummaryTools.h"
#include "RifReaderEclipseSummary.h" #include "RifReaderEclipseSummary.h"
#include "RifSummaryReaderInterface.h"
#include "RimEclipseResultCase.h" #include "RimEclipseResultCase.h"
#include "RimSummaryPlot.h" #include "RimSummaryPlot.h"
@ -62,7 +63,7 @@ RimSummaryPlotCollection::~RimSummaryPlotCollection()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RifReaderEclipseSummary* RimSummaryPlotCollection::getOrCreateSummaryFileReader(const QString& eclipseCaseFilePathBasename) RifSummaryReaderInterface* RimSummaryPlotCollection::getOrCreateSummaryFileReader(const QString& eclipseCaseFilePathBasename)
{ {
auto it = m_summaryFileReaders.find(eclipseCaseFilePathBasename); auto it = m_summaryFileReaders.find(eclipseCaseFilePathBasename);
if (it != m_summaryFileReaders.end()) if (it != m_summaryFileReaders.end())
@ -78,7 +79,7 @@ RifReaderEclipseSummary* RimSummaryPlotCollection::getOrCreateSummaryFileReader(
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RifReaderEclipseSummary* RimSummaryPlotCollection::getOrCreateSummaryFileReader(const RimEclipseResultCase* eclipseCase) RifSummaryReaderInterface* RimSummaryPlotCollection::getOrCreateSummaryFileReader(const RimEclipseResultCase* eclipseCase)
{ {
if (!eclipseCase) return NULL; if (!eclipseCase) return NULL;
@ -93,7 +94,7 @@ RifReaderEclipseSummary* RimSummaryPlotCollection::getOrCreateSummaryFileReader(
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RifReaderEclipseSummary* RimSummaryPlotCollection::createSummaryFileReader(const QString& eclipseCaseFilePathBasename) RifSummaryReaderInterface* RimSummaryPlotCollection::createSummaryFileReader(const QString& eclipseCaseFilePathBasename)
{ {
std::string headerFile; std::string headerFile;
bool isFormatted = false; bool isFormatted = false;
@ -105,7 +106,7 @@ RifReaderEclipseSummary* RimSummaryPlotCollection::createSummaryFileReader(const
if (!dataFiles.size()) return nullptr; if (!dataFiles.size()) return nullptr;
RifReaderEclipseSummary* reader = new RifReaderEclipseSummary; RifSummaryReaderInterface* reader = new RifReaderEclipseSummary;
if (!reader->open(headerFile, dataFiles)) if (!reader->open(headerFile, dataFiles))
{ {
delete reader; delete reader;

View File

@ -28,6 +28,7 @@
class RimSummaryPlot; class RimSummaryPlot;
class RicDropEnabledMainWindow; class RicDropEnabledMainWindow;
class RifReaderEclipseSummary; class RifReaderEclipseSummary;
class RifSummaryReaderInterface;
class RimEclipseResultCase; class RimEclipseResultCase;
//================================================================================================== //==================================================================================================
@ -41,7 +42,7 @@ public:
RimSummaryPlotCollection(); RimSummaryPlotCollection();
virtual ~RimSummaryPlotCollection(); virtual ~RimSummaryPlotCollection();
RifReaderEclipseSummary* getOrCreateSummaryFileReader(const RimEclipseResultCase* eclipseCase); RifSummaryReaderInterface* getOrCreateSummaryFileReader(const RimEclipseResultCase* eclipseCase);
caf::PdmChildArrayField<RimSummaryPlot*> summaryPlots; caf::PdmChildArrayField<RimSummaryPlot*> summaryPlots;
@ -50,10 +51,10 @@ public:
void summaryPlotItemInfos(QList<caf::PdmOptionItemInfo>* optionInfos) const; void summaryPlotItemInfos(QList<caf::PdmOptionItemInfo>* optionInfos) const;
private: private:
RifReaderEclipseSummary* createSummaryFileReader(const QString& eclipseCaseFilePathBasename); RifSummaryReaderInterface* createSummaryFileReader(const QString& eclipseCaseFilePathBasename);
RifReaderEclipseSummary* getOrCreateSummaryFileReader(const QString& eclipseCaseFilePathBasename); RifSummaryReaderInterface* getOrCreateSummaryFileReader(const QString& eclipseCaseFilePathBasename);
private: private:
// Map from path to case to summary file reader objects // Map from path to case to summary file reader objects
std::map<QString, RifReaderEclipseSummary*> m_summaryFileReaders; std::map<QString, RifSummaryReaderInterface*> m_summaryFileReaders;
}; };

View File

@ -61,7 +61,7 @@ void RigSummaryCaseData::openOrReloadCase(const QString& summaryHeaderFileName)
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RifReaderEclipseSummary* RigSummaryCaseData::summaryReader() RifSummaryReaderInterface* RigSummaryCaseData::summaryReader()
{ {
return m_summaryFileReader.p(); return m_summaryFileReader.p();
} }

View File

@ -22,7 +22,7 @@
#include "cvfObject.h" #include "cvfObject.h"
class QString; class QString;
class RifReaderEclipseSummary; class RifSummaryReaderInterface;
class RigSummaryCaseData: public cvf::Object class RigSummaryCaseData: public cvf::Object
{ {
@ -32,8 +32,8 @@ public:
void openOrReloadCase(const QString& summaryHeaderFileName); void openOrReloadCase(const QString& summaryHeaderFileName);
RifReaderEclipseSummary* summaryReader(); RifSummaryReaderInterface* summaryReader();
private: private:
cvf::ref<RifReaderEclipseSummary> m_summaryFileReader; cvf::ref<RifSummaryReaderInterface> m_summaryFileReader;
}; };