From 6a00daffa45ecd0c63b52a1fcfd09f6798895695 Mon Sep 17 00:00:00 2001 From: micklich Date: Fri, 24 Feb 2023 20:08:05 +0100 Subject: [PATCH] [#1321] extend documentary. Add log output to log field --- .../point/CreateDerivedPointProcessor.java | 19 ++++++++++++------ .../derivedPoint.png | Bin 0 -> 47994 bytes .../documentation.md | 13 +++++++----- 3 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 streampipes-extensions/streampipes-processors-geo-jvm/src/main/resources/org.apache.streampipes.processors.geo.jvm.jts.processor.derivedgeometry.point/derivedPoint.png diff --git a/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/jts/processor/derivedgeometry/point/CreateDerivedPointProcessor.java b/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/jts/processor/derivedgeometry/point/CreateDerivedPointProcessor.java index 0113cc08a6..28914559a5 100644 --- a/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/jts/processor/derivedgeometry/point/CreateDerivedPointProcessor.java +++ b/streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/jts/processor/derivedgeometry/point/CreateDerivedPointProcessor.java @@ -19,10 +19,14 @@ package org.apache.streampipes.processors.geo.jvm.jts.processor.derivedgeometry.point; import org.apache.streampipes.commons.exceptions.SpRuntimeException; +import org.apache.streampipes.extensions.management.monitoring.SpMonitoringManager; import org.apache.streampipes.model.DataProcessorType; +import org.apache.streampipes.model.StreamPipesErrorMessage; import org.apache.streampipes.model.graph.DataProcessorDescription; +import org.apache.streampipes.model.monitoring.SpLogEntry; import org.apache.streampipes.model.runtime.Event; import org.apache.streampipes.model.schema.PropertyScope; +import org.apache.streampipes.processors.geo.jvm.jts.exceptions.SpNotSupportedGeometryException; import org.apache.streampipes.processors.geo.jvm.jts.helper.SpGeometryBuilder; import org.apache.streampipes.sdk.builder.ProcessingElementBuilder; import org.apache.streampipes.sdk.builder.StreamRequirementsBuilder; @@ -54,6 +58,7 @@ public class CreateDerivedPointProcessor extends StreamPipesDataProcessor { private String geometryMapper; private String epsgMapper; private String outputType; + ProcessorParams params; private static final Logger LOG = LoggerFactory.getLogger(CreateDerivedPointProcessor.class); @Override @@ -61,7 +66,7 @@ public DataProcessorDescription declareModel() { return ProcessingElementBuilder.create( "org.apache.streampipes.processors.geo.jvm.jts.processor.derivedgeometry.point") .category(DataProcessorType.GEO) - .withAssets(Assets.DOCUMENTATION, Assets.ICON) + .withAssets(Assets.DOCUMENTATION, Assets.ICON, "derivedPoint.png") .withLocales(Locales.EN) .requiredStream(StreamRequirementsBuilder .create() @@ -97,17 +102,19 @@ public void onInvocation(ProcessorParams parameters, SpOutputCollector spOutputC this.geometryMapper = parameters.extractor().mappingPropertyValue(GEOM_KEY); this.epsgMapper = parameters.extractor().mappingPropertyValue(EPSG_KEY); this.outputType = parameters.extractor().selectedSingleValue(POINT_OUTPUT_TYPE_KEY, String.class); - + this.params = parameters; } @Override public void onEvent(Event event, SpOutputCollector collector) throws SpRuntimeException { String geom = event.getFieldBySelector(geometryMapper).getAsPrimitive().getAsString(); - Integer sourceEpsg = event.getFieldBySelector(epsgMapper).getAsPrimitive().getAsInt(); - Geometry geometry = SpGeometryBuilder.createSPGeom(geom, sourceEpsg); + Integer epsg = event.getFieldBySelector(epsgMapper).getAsPrimitive().getAsInt(); + Geometry geometry = SpGeometryBuilder.createSPGeom(geom, epsg); if (geometry instanceof Point) { - // TODO remove check after harmonized semantic types and multiple tpes - LOG.debug("geom is already a point"); + SpMonitoringManager.INSTANCE.addErrorMessage(params.getGraph().getElementId(), + SpLogEntry.from(System.currentTimeMillis(), + StreamPipesErrorMessage.from(new SpNotSupportedGeometryException( + "Point Geometry is not supported")))); } else { Point derivedPointOutput = null; switch (this.outputType) { diff --git a/streampipes-extensions/streampipes-processors-geo-jvm/src/main/resources/org.apache.streampipes.processors.geo.jvm.jts.processor.derivedgeometry.point/derivedPoint.png b/streampipes-extensions/streampipes-processors-geo-jvm/src/main/resources/org.apache.streampipes.processors.geo.jvm.jts.processor.derivedgeometry.point/derivedPoint.png new file mode 100644 index 0000000000000000000000000000000000000000..46270393ce1ff61791065fc49daf551a7d94065f GIT binary patch literal 47994 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 UznT>)pd;eKYRel + +

\ No newline at end of file