You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by mi...@apache.org on 2023/02/19 21:29:22 UTC

[streampipes] 02/03: [#1307] misc validation fixes manual tests

This is an automated email from the ASF dual-hosted git repository.

micklich pushed a commit to branch 1307-geometry-validation-processor
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit 2a89675cae37132e6f1c7ef148a0f7f264b941a0
Author: micklich <mi...@apache.org>
AuthorDate: Sun Feb 19 22:24:47 2023 +0100

    [#1307] misc validation fixes manual tests
---
 .../org/apache/streampipes/processors/geo/jvm/GeoJvmInit.java  |  4 +++-
 .../jts/processor/validation/GeometryValidationProcessor.java  | 10 +++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/GeoJvmInit.java b/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/GeoJvmInit.java
index abaca7715..0d312ea32 100644
--- a/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/GeoJvmInit.java
+++ b/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/GeoJvmInit.java
@@ -32,6 +32,7 @@ import org.apache.streampipes.processors.geo.jvm.jts.processor.epsg.EpsgProcesso
 import org.apache.streampipes.processors.geo.jvm.jts.processor.latlngtojtspoint.LatLngToJtsPointProcessor;
 import org.apache.streampipes.processors.geo.jvm.jts.processor.reprojection.ReprojectionProcessor;
 import org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.TrajectoryFromPointsProcessor;
+import org.apache.streampipes.processors.geo.jvm.jts.processor.validation.GeometryValidationProcessor;
 import org.apache.streampipes.processors.geo.jvm.latlong.processor.distancecalculator.haversine.HaversineDistanceCalculatorProcessor;
 import org.apache.streampipes.processors.geo.jvm.latlong.processor.distancecalculator.haversinestatic.HaversineStaticDistanceCalculatorProcessor;
 import org.apache.streampipes.processors.geo.jvm.latlong.processor.geocoder.googlemaps.GoogleMapsGeocoderProcessor;
@@ -70,7 +71,8 @@ public class GeoJvmInit extends ExtensionsModelSubmitter {
             new LatLngToJtsPointProcessor(),
             new TrajectoryFromPointsProcessor(),
             new SpeedCalculatorProcessor(),
-            new ReprojectionProcessor())
+            new ReprojectionProcessor(),
+            new GeometryValidationProcessor())
         .registerMessagingFormats(
             new JsonDataFormatFactory(),
             new CborDataFormatFactory(),
diff --git a/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/jts/processor/validation/GeometryValidationProcessor.java b/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/jts/processor/validation/GeometryValidationProcessor.java
index 0b3936e4d..edb0254aa 100644
--- a/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/jts/processor/validation/GeometryValidationProcessor.java
+++ b/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/jts/processor/validation/GeometryValidationProcessor.java
@@ -79,7 +79,7 @@ public class GeometryValidationProcessor extends StreamPipesDataProcessor {
                 ValidationOutput.INVALID.name()
             )
         )
-        .requiredMultiValueSelection(
+        .requiredSingleValueSelection(
             Labels.withId(VALIDATION_TYPE_KEY),
             Options.from(
                 ValidationType.IsEmpty.name(),
@@ -109,9 +109,9 @@ public class GeometryValidationProcessor extends StreamPipesDataProcessor {
     if (readValidationType.equals(ValidationType.IsEmpty.name())) {
       this.validationType = ValidationType.IsEmpty.getNumber(); // 1
     } else if (readValidationType.equals(ValidationType.IsValid.name())) {
-      this.validationType = ValidationType.IsValid.getNumber(); // 2
+      this.validationType = ValidationType.IsSimple.getNumber(); // 2
     } else {
-      this.validationType = ValidationType.IsSimple.getNumber(); // 3
+      this.validationType = ValidationType.IsValid.getNumber(); // 3
     }
   }
 
@@ -126,7 +126,7 @@ public class GeometryValidationProcessor extends StreamPipesDataProcessor {
 
     switch (validationType) {
       case 1:
-        itIsValid = geometry.isEmpty();
+        itIsValid = !geometry.isEmpty();
         break;
       case 2:
         itIsValid = geometry.isSimple();
@@ -135,7 +135,7 @@ public class GeometryValidationProcessor extends StreamPipesDataProcessor {
         IsValidOp validater = new IsValidOp(geometry);
         validater.setSelfTouchingRingFormingHoleValid(true);
         itIsValid = validater.isValid();
-        if (itIsValid = false) {
+        if (!itIsValid) {
           validater.getValidationError();
         }
     }