Skip to content

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;
   }
 };
Clone this wiki locally