1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
/*
* Copyright (C) 2013, 2014, 2015 by the Konclude Developer Team.
*
* This file is part of the reasoning system Konclude.
* For details and support, see <http://konclude.com/>.
*
* Konclude is free software: you can redistribute it and/or modify it under
* the terms of version 2.1 of the GNU Lesser General Public License (LGPL2.1)
* as published by the Free Software Foundation.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Konclude. If not, see <http://www.gnu.org/licenses/>.
*
* Konclude 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. For more
* details, see GNU Lesser General Public License.
*
*/
#include "COWLLinkFileComandLinePreparationTranslator.h"
namespace Konclude {
namespace Control {
namespace Interface {
namespace CommandLine {
COWLLinkFileComandLinePreparationTranslator::COWLLinkFileComandLinePreparationTranslator(CLoaderFactory *loaderFactory) : CCommandLinePreparationTranslator(loaderFactory) {
mInterfaceTypeString = QString("OWLlink");
mMinNecessaryArguments = true;
mFirstArgumentTranslation = false;
}
COWLLinkFileComandLinePreparationTranslator::~COWLLinkFileComandLinePreparationTranslator() {
}
QStringList COWLLinkFileComandLinePreparationTranslator::combineTranslatedArguments() {
QStringList translatedArgList;
if (!mFirstArgumentTranslation) {
mMinNecessaryArguments = false;
}
if (!mRequestFileTranslated) {
LOG(ERROR,getLogDomain(),logTr("OWLlink request file not specified."),this);
mMinNecessaryArguments = false;
}
if (!mMinNecessaryArguments) {
LOG(ERROR,getLogDomain(),logTr("Execution with inadequate command line arguments."),this);
mHelpRequested = true;
}
if (!mHelpRequested) {
if (mLogConfList.isEmpty()) {
mLogConfList.append(QString("-ConfigurableCoutLogObserverLoader -LoggerConfigurationLoader"));
}
translatedArgList += mLogConfList;
translatedArgList += mGeneralConfList;
translatedArgList += QString("-DefaultReasonerLoader ");
translatedArgList += mReasonerConfList;
translatedArgList += mGeneralConfList;
if (!mConfigConfList.isEmpty()) {
translatedArgList += QString("-%1BatchFileLoader +=Konclude.%1.CloseAfterProcessedRequest=false +=Konclude.%1.BlockUntilProcessedRequest=true").arg(mInterfaceTypeString);
translatedArgList += mConfigConfList;
}
translatedArgList += QString("-%1BatchFileLoader +=Konclude.%1.CloseAfterProcessedRequest=true").arg(mInterfaceTypeString);
if (mExtendendLogging) {
translatedArgList += QString("+=Konclude.%1.LoggingExtendedProcessingTimes=true").arg(mInterfaceTypeString);
}
translatedArgList += mRequestConfList;
translatedArgList += mMiscellaneousList;
} else {
translatedArgList += QString("-ConfigurableCoutLogObserverLoader -CommandLineTranlatorHelpLoader");
}
return translatedArgList;
}
bool COWLLinkFileComandLinePreparationTranslator::translate(const QString& argumentText, QStringList& remainingArgList) {
bool argumentTranslated = false;
QString modArgText = argumentText.trimmed();
if (!mSkipTranslation) {
if (CCommandLinePreparationTranslator::translate(argumentText,remainingArgList)) {
argumentTranslated = true;
} else {
if (modArgText.indexOf("-") == 0) {
} else if (modArgText == "owllinkfile" || modArgText == "file") {
argumentTranslated = true;
mFirstArgumentTranslation = true;
}
}
}
return argumentTranslated;
}
bool COWLLinkFileComandLinePreparationTranslator::canTranslate(const QString& string) {
if (QString::compare(string,"owllinkfile",Qt::CaseInsensitive) == 0 || QString::compare(string,"file",Qt::CaseInsensitive) == 0) {
return true;
}
return false;
}
}; // end namespace CommandLine
}; // end namespace Interface
}; // end namespace Control
}; // end namespace Konclude
|