diff --git a/ApplicationCode/FileInterface/RifCaseRealizationParametersReader.cpp b/ApplicationCode/FileInterface/RifCaseRealizationParametersReader.cpp index 63b9bfa38e..e70a6a0d36 100644 --- a/ApplicationCode/FileInterface/RifCaseRealizationParametersReader.cpp +++ b/ApplicationCode/FileInterface/RifCaseRealizationParametersReader.cpp @@ -35,7 +35,6 @@ RifCaseRealizationReader::RifCaseRealizationReader( const QString& fileName ) { m_parameters = std::shared_ptr( new RigCaseRealizationParameters() ); m_fileName = fileName; - m_file = nullptr; } //-------------------------------------------------------------------------------------------------- @@ -43,7 +42,6 @@ RifCaseRealizationReader::RifCaseRealizationReader( const QString& fileName ) //-------------------------------------------------------------------------------------------------- RifCaseRealizationReader::~RifCaseRealizationReader() { - closeFile(); } //-------------------------------------------------------------------------------------------------- @@ -72,36 +70,6 @@ std::shared_ptr RifCaseRealizationReader::createReader return reader; } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QFile* RifCaseRealizationReader::openFile() -{ - if ( !m_file ) - { - m_file = new QFile( m_fileName ); - if ( !m_file->open( QIODevice::ReadOnly | QIODevice::Text ) ) - { - closeFile(); - throw FileParseException( QString( "Failed to open %1" ).arg( m_fileName ) ); - } - } - return m_file; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RifCaseRealizationReader::closeFile() -{ - if ( m_file ) - { - m_file->close(); - delete m_file; - m_file = nullptr; - } -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -124,7 +92,6 @@ QString RifCaseRealizationReader::runSpecificationFileName() RifCaseRealizationParametersReader::RifCaseRealizationParametersReader( const QString& fileName ) : RifCaseRealizationReader( fileName ) { - m_textStream = nullptr; } //-------------------------------------------------------------------------------------------------- @@ -132,10 +99,6 @@ RifCaseRealizationParametersReader::RifCaseRealizationParametersReader( const QS //-------------------------------------------------------------------------------------------------- RifCaseRealizationParametersReader::~RifCaseRealizationParametersReader() { - if ( m_textStream ) - { - delete m_textStream; - } } //-------------------------------------------------------------------------------------------------- @@ -143,55 +106,48 @@ RifCaseRealizationParametersReader::~RifCaseRealizationParametersReader() //-------------------------------------------------------------------------------------------------- void RifCaseRealizationParametersReader::parse() { - int lineNo = 0; - QTextStream* dataStream = openDataStream(); + QFile file( m_fileName ); + if ( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) return; + QTextStream dataStream( &file ); + + int lineNo = 0; QStringList errors; - try + while ( !dataStream.atEnd() ) { - while ( !dataStream->atEnd() ) + QString line = dataStream.readLine(); + + lineNo++; + QStringList cols = RifFileParseTools::splitLineAndTrim( line, QRegExp( "[ \t]" ), true ); + + if ( cols.size() != 2 ) { - QString line = dataStream->readLine(); + errors << QString( "RifEnsembleParametersReader: Invalid file format in line %1" ).arg( lineNo ); - lineNo++; - QStringList cols = RifFileParseTools::splitLineAndTrim( line, QRegExp( "[ \t]" ), true ); + continue; + } - if ( cols.size() != 2 ) + QString& name = cols[0]; + QString& strValue = cols[1]; + + if ( RiaStdStringTools::isNumber( strValue.toStdString(), QLocale::c().decimalPoint().toLatin1() ) ) + { + bool parseOk = true; + double value = QLocale::c().toDouble( strValue, &parseOk ); + if ( parseOk ) { - errors << QString( "RifEnsembleParametersReader: Invalid file format in line %1" ).arg( lineNo ); - - continue; - } - - QString& name = cols[0]; - QString& strValue = cols[1]; - - if ( RiaStdStringTools::isNumber( strValue.toStdString(), QLocale::c().decimalPoint().toLatin1() ) ) - { - bool parseOk = true; - double value = QLocale::c().toDouble( strValue, &parseOk ); - if ( parseOk ) - { - m_parameters->addParameter( name, value ); - } - else - { - errors << QString( "RifEnsembleParametersReader: Invalid number format in line %1" ).arg( lineNo ); - } + m_parameters->addParameter( name, value ); } else { - m_parameters->addParameter( name, strValue ); + errors << QString( "RifEnsembleParametersReader: Invalid number format in line %1" ).arg( lineNo ); } } - - closeDataStream(); - } - catch ( ... ) - { - closeDataStream(); - throw; + else + { + m_parameters->addParameter( name, strValue ); + } } for ( const auto& s : errors ) @@ -200,30 +156,6 @@ void RifCaseRealizationParametersReader::parse() } } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -QTextStream* RifCaseRealizationParametersReader::openDataStream() -{ - auto file = openFile(); - - m_textStream = new QTextStream( file ); - return m_textStream; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RifCaseRealizationParametersReader::closeDataStream() -{ - if ( m_textStream ) - { - delete m_textStream; - m_textStream = nullptr; - } - closeFile(); -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -244,8 +176,10 @@ RifCaseRealizationRunspecificationReader::~RifCaseRealizationRunspecificationRea //-------------------------------------------------------------------------------------------------- void RifCaseRealizationRunspecificationReader::parse() { - auto file = openFile(); - QXmlStreamReader xml( file ); + QFile file( m_fileName ); + if ( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) return; + + QXmlStreamReader xml( &file ); QStringList errors; @@ -303,8 +237,6 @@ void RifCaseRealizationRunspecificationReader::parse() } } - closeFile(); - for ( const auto& s : errors ) { RiaLogging::warning( s ); diff --git a/ApplicationCode/FileInterface/RifCaseRealizationParametersReader.h b/ApplicationCode/FileInterface/RifCaseRealizationParametersReader.h index c40158dc73..4e40c3066e 100644 --- a/ApplicationCode/FileInterface/RifCaseRealizationParametersReader.h +++ b/ApplicationCode/FileInterface/RifCaseRealizationParametersReader.h @@ -56,14 +56,9 @@ public: static QString runSpecificationFileName(); protected: - QFile* openFile(); - void closeFile(); - std::shared_ptr m_parameters; -private: QString m_fileName; - QFile* m_file; }; //================================================================================================== @@ -77,13 +72,6 @@ public: ~RifCaseRealizationParametersReader() override; void parse() override; - -private: - QTextStream* openDataStream(); - void closeDataStream(); - -private: - QTextStream* m_textStream; }; //==================================================================================================