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 <[email protected]> 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(); } }
