-
Notifications
You must be signed in to change notification settings - Fork 75
v0.2.47..v0.2.48 changeset InfoCmd.cpp
Garret Voltz edited this page Sep 27, 2019
·
1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/cmd/InfoCmd.cpp b/hoot-core/src/main/cpp/hoot/core/cmd/InfoCmd.cpp
index 8b65d28..326ae61 100644
--- a/hoot-core/src/main/cpp/hoot/core/cmd/InfoCmd.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/cmd/InfoCmd.cpp
@@ -56,14 +56,14 @@ public:
InfoCmd() { }
- virtual QString getName() const { return "info"; }
+ virtual QString getName() const override { return "info"; }
- virtual QString getDescription() const
+ virtual QString getDescription() const override
{ return "Displays information about Hootenanny capabilities"; }
- virtual int runSimple(QStringList args) override
+ virtual int runSimple(QStringList& args) override
{
- //only allowing one option per command
+ // only allowing one option per command
const QStringList supportedOpts = _getSupportedOptions();
QStringList specifiedOpts;
for (int i = 0; i < args.size(); i++)
@@ -137,10 +137,14 @@ public:
.arg(getName()));
}
+ QStringList formatSubOptions;
+ formatSubOptions.append("--input");
+ formatSubOptions.append("--output");
+ formatSubOptions.append("--input-bounded");
for (int i = 0; i < args.size(); i++)
{
const QString arg = args.at(i);
- if (arg != "--input" && arg != "--output")
+ if (!formatSubOptions.contains(arg))
{
std::cout << getHelp() << std::endl << std::endl;
throw IllegalArgumentException("Invalid parameter: " + arg + " passed to " + getName());
@@ -161,13 +165,23 @@ public:
args.removeAt(args.indexOf("--output"));
}
- if (!displayInputs && !displayOutputs && args.size() == 0)
+ bool displayInputsSupportingBounds = false;
+ if (args.contains("--input-bounded"))
+ {
+ displayInputsSupportingBounds = true;
+ args.removeAt(args.indexOf("--input-bounded"));
+ }
+
+ if (!displayInputs && !displayOutputs && !displayInputsSupportingBounds && args.size() == 0)
{
displayInputs = true;
displayOutputs = true;
+ displayInputsSupportingBounds = true;
}
- std::cout << FormatsDisplayer::display(displayInputs, displayOutputs).toStdString();
+ std::cout <<
+ FormatsDisplayer::display(displayInputs, displayOutputs, displayInputsSupportingBounds)
+ .toStdString();
}
else if (specifiedOpts.contains("--languages"))
{
@@ -179,7 +193,7 @@ public:
QString("%1 with the --languages option takes one parameter.").arg(getName()));
}
- //only allowing one option per command
+ // only allowing one option per command
const QStringList supportedOpts = _getSupportedLanguageOptions();
QStringList specifiedOpts;
for (int i = 0; i < args.size(); i++)
@@ -252,7 +266,7 @@ public:
{
std::cout << ApiEntityDisplayInfo::getDisplayInfoOps("conflate.pre.ops").toStdString();
}
- //everything else
+ // everything else
else if (specifiedOpts.size() == 1)
{
QString apiEntityType;
@@ -301,6 +315,7 @@ private:
QStringList options;
options.append("--cleaning-operations");
options.append("--config-options");
+ options.append("--conflatable-criteria");
options.append("--conflate-post-operations");
options.append("--conflate-pre-operations");
options.append("--feature-extractors");
@@ -316,6 +331,7 @@ private:
options.append("--subline-string-matchers");
options.append("--tag-mergers");
options.append("--value-aggregators");
+ options.append("--way-joiners");
return options;
}
};