THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package org.apache.streampipes.processors.geo.jvm.jts.processor.packagename; import org.apache.streampipes.commons.exceptions.SpRuntimeException; import org.apache.streampipes.model.DataProcessorType; import org.apache.streampipes.model.graph.DataProcessorDescription; import org.apache.streampipes.model.runtime.Event; import org.apache.streampipes.model.schema.PropertyScope; import org.apache.streampipes.processors.geo.jvm.jts.helper.SpGeometryBuilder; import org.apache.streampipes.sdk.builder.ProcessingElementBuilder; import org.apache.streampipes.sdk.builder.StreamRequirementsBuilder; import org.apache.streampipes.sdk.helpers.EpRequirements; import org.apache.streampipes.sdk.helpers.Labels; import org.apache.streampipes.sdk.helpers.Locales; import org.apache.streampipes.sdk.helpers.OutputStrategies; import org.apache.streampipes.sdk.utils.Assets; import org.apache.streampipes.wrapper.context.EventProcessorRuntimeContext; import org.apache.streampipes.wrapper.routing.SpOutputCollector; import org.apache.streampipes.wrapper.standalone.ProcessorParams; import org.apache.streampipes.wrapper.standalone.StreamPipesDataProcessor; import org.locationtech.jts.geom.Geometry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class NameProcessor extends StreamPipesDataProcessor { public static final String GEOM_KEY = "geom-key"; public static final String EPSG_KEY = "epsg-key"; // OUTPUT RUNTIME NAME public static final String GEOM_RUNTIME = "geometry-NAME"; public static final String EPSG_RUNTIME = "epsg-NAME"; // mapper for OnEvent event values extraction private String geometryMapper; private String epsgMapper; private static final Logger LOG = LoggerFactory.getLogger(NameProcessor.class); @Override public DataProcessorDescription declareModel() { // adjust package_name return ProcessingElementBuilder.create("org.apache.streampipes.processors.geo.jvm.jts.processor.packagename") .category(DataProcessorType.GEO) .withAssets(Assets.DOCUMENTATION, Assets.ICON) .withLocales(Locales.EN) .requiredStream(StreamRequirementsBuilder .create() .requiredPropertyWithUnaryMapping( EpRequirements.domainPropertyReq("http://www.opengis.net/ont/geosparql#Geometry"), Labels.withId(GEOM_KEY), PropertyScope.MEASUREMENT_PROPERTY) .requiredPropertyWithUnaryMapping( EpRequirements.domainPropertyReq("http://data.ign.fr/def/ignf#CartesianCS"), Labels.withId(EPSG_KEY), PropertyScope.MEASUREMENT_PROPERTY) .build()) // adjust output method .outputStrategy(OutputStrategies.keep()) // // required input // .build(); } @Override public void onInvocation(ProcessorParams parameters, SpOutputCollector spOutputCollector, EventProcessorRuntimeContext runtimeContext) throws SpRuntimeException { this.geometryMapper = parameters.extractor().mappingPropertyValue(GEOM_KEY); this.epsgMapper = parameters.extractor().mappingPropertyValue(EPSG_KEY); } @Override public void onEvent(Event event, SpOutputCollector collector) throws SpRuntimeException { String geom = event.getFieldBySelector(geometryMapper).getAsPrimitive().getAsString(); Integer sourceEpsgepsg = event.getFieldBySelector(epsgMapper).getAsPrimitive().getAsInt(); Geometry geometry = SpGeometryBuilder.createSPGeom(geom, sourceEpsgepsg); // // algorithms // // output collector.collect(event); } @Override public void onDetach() throws SpRuntimeException { } } |
...