Changed unknown keyword concept to be a constructor only setting

This commit is contained in:
Kristian Flikka
2013-08-22 15:53:57 +02:00
parent c218b803bc
commit 3deab9cdf8
5 changed files with 18 additions and 22 deletions

View File

@@ -33,21 +33,21 @@ void printDeckDiagnostics(Opm::DeckConstPtr deck, bool printAllKeywords) {
*
*/
int main(int argc, char** argv) {
if (argc <= 1) {
std::cout << "Usage: " << argv[0] << " <Filename>" << "[-a] (list all keywords)" << std::endl;
if (argc < 2) {
std::cout << "Usage: " << argv[0] << " <Filename>" << "[-l] (list keywords)" << std::endl;
exit(1);
}
bool printKeywords = false;
for (int i = 1; i < argc; i++) {
std::string arg(argv[i]);
if (arg == "-a")
if (argc == 3) {
std::string arg(argv[2]);
if (arg == "-l")
printKeywords = true;
}
Opm::ParserPtr parser(new Opm::Parser(JSON_CONFIG_FILE));
std::string file = argv[1];
Opm::DeckConstPtr deck = parser->parse(file);
Opm::DeckConstPtr deck = parser->parse(file, false);
printDeckDiagnostics(deck, printKeywords);

View File

@@ -25,6 +25,11 @@ namespace Opm {
m_knownKeyword = true;
m_keywordName = keywordName;
}
DeckKeyword::DeckKeyword(const std::string& keywordName, bool knownKeyword) {
m_knownKeyword = knownKeyword;
m_keywordName = keywordName;
}
std::string DeckKeyword::name() const {
return m_keywordName;
@@ -34,11 +39,6 @@ namespace Opm {
return m_recordList.size();
}
void DeckKeyword::setUnknown() {
m_knownKeyword = false;
}
bool DeckKeyword::isKnown() const {
return m_knownKeyword;
}

View File

@@ -19,6 +19,8 @@ namespace Opm {
class DeckKeyword {
public:
DeckKeyword(const std::string& keywordName);
DeckKeyword(const std::string& keywordName, bool knownKeyword);
std::string name() const;
size_t size() const;
void addRecord(DeckRecordConstPtr record);

View File

@@ -64,11 +64,7 @@ BOOST_AUTO_TEST_CASE(getRecord_outofrange_exceptionthrown) {
}
BOOST_AUTO_TEST_CASE(setUnknown_wasknown_nowunknown) {
DeckKeywordPtr deckKeyword(new DeckKeyword("KW"));
BOOST_CHECK(deckKeyword->isKnown());
deckKeyword->setUnknown();
BOOST_CHECK(!deckKeyword->isKnown());
deckKeyword->setUnknown();
DeckKeywordPtr deckKeyword(new DeckKeyword("KW", false));
BOOST_CHECK(!deckKeyword->isKnown());
}

View File

@@ -63,15 +63,13 @@ namespace Opm {
parseFile(deck, pathToIncludedFile.string(), parseStrict);
} else {
if (m_parserKeywords.find(rawKeyword->getKeywordName()) == m_parserKeywords.end()) {
DeckKeywordPtr deckKeyword(new DeckKeyword(rawKeyword->getKeywordName()));
deckKeyword->setUnknown();
deck->addKeyword(deckKeyword);
} else {
if (hasKeyword(rawKeyword->getKeywordName())) {
ParserKeywordConstPtr parserKeyword = m_parserKeywords[rawKeyword->getKeywordName()];
DeckKeywordConstPtr deckKeyword = parserKeyword->parse(rawKeyword);
deck->addKeyword(deckKeyword);
} else {
DeckKeywordPtr deckKeyword(new DeckKeyword(rawKeyword->getKeywordName(), false));
deck->addKeyword(deckKeyword);
}
}
rawKeyword.reset();