Changed unknown keyword concept to be a constructor only setting
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user