Skip to content

v0.2.52..v0.2.53 changeset GeometryTypeCriterion.cpp

Garret Voltz edited this page Feb 12, 2020 · 1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/criterion/GeometryTypeCriterion.cpp b/hoot-core/src/main/cpp/hoot/core/criterion/GeometryTypeCriterion.cpp
index bf58f46..c117965 100644
--- a/hoot-core/src/main/cpp/hoot/core/criterion/GeometryTypeCriterion.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/criterion/GeometryTypeCriterion.cpp
@@ -22,7 +22,7 @@
  * This will properly maintain the copyright information. DigitalGlobe
  * copyrights will be updated automatically.
  *
- * @copyright Copyright (C) 2019 DigitalGlobe (http://www.digitalglobe.com/)
+ * @copyright Copyright (C) 2019, 2020 DigitalGlobe (http://www.digitalglobe.com/)
  */
 #include "GeometryTypeCriterion.h"
 
@@ -66,7 +66,29 @@ QString GeometryTypeCriterion::typeToString(const GeometryType& geometryType)
     case GeometryType::Polygon:
       return "polygon";
     default:
-      throw IllegalArgumentException("Invalid geometry type.");
+      return "unknown";
+  }
+}
+
+GeometryTypeCriterion::GeometryType GeometryTypeCriterion::typeFromString(
+  const QString& geometryTypeStr)
+{
+  const QString compareVal = geometryTypeStr.toLower();
+  if (compareVal == "point")
+  {
+    return GeometryType::Point;
+  }
+  else if (compareVal == "line")
+  {
+    return GeometryType::Line;
+  }
+  else if (compareVal == "polygon")
+  {
+    return GeometryType::Polygon;
+  }
+  else
+  {
+    throw GeometryType::Unknown;
   }
 }
 
Clone this wiki locally