diff --git a/src/extension/mapml/src/main/java/org/geoserver/mapml/MapMLGenerator.java b/src/extension/mapml/src/main/java/org/geoserver/mapml/MapMLGenerator.java index 1a1c99e6ab4..433fcd521ce 100644 --- a/src/extension/mapml/src/main/java/org/geoserver/mapml/MapMLGenerator.java +++ b/src/extension/mapml/src/main/java/org/geoserver/mapml/MapMLGenerator.java @@ -47,7 +47,7 @@ public class MapMLGenerator { /** * @param sf a feature * @param featureCaptionTemplate - template optionally containing ${placeholders}. Can be null. - * @return the feature + * @return the feature, or null if clipping removed its geometry * @throws IOException - IOException */ public Feature buildFeature(SimpleFeature sf, String featureCaptionTemplate) @@ -102,6 +102,7 @@ public Feature buildFeature(SimpleFeature sf, String featureCaptionTemplate) if (g != null && !g.isEmpty() && clipBounds != null) { MapMLGeometryClipper clipper = new MapMLGeometryClipper(g, clipBounds); g = clipper.clipAndTag(); + if (g == null || g.isEmpty()) return null; } f.setGeometry(buildGeometry(g)); return f; diff --git a/src/extension/mapml/src/main/java/org/geoserver/mapml/MapMLGetFeatureInfoOutputFormat.java b/src/extension/mapml/src/main/java/org/geoserver/mapml/MapMLGetFeatureInfoOutputFormat.java index d3111ca4387..ea32cb8c396 100644 --- a/src/extension/mapml/src/main/java/org/geoserver/mapml/MapMLGetFeatureInfoOutputFormat.java +++ b/src/extension/mapml/src/main/java/org/geoserver/mapml/MapMLGetFeatureInfoOutputFormat.java @@ -149,9 +149,12 @@ public void write( featureBuilder.buildFeature( feature, captionTemplates.get(fc.getSchema().getName())); - // might be interesting to be able to put features - // from different layers into a layer-specific div - features.add(f); + // returning null features is WMS specific, but just in case, check + if (f != null) { + // might be interesting to be able to put features + // from different layers into a layer-specific div + features.add(f); + } } catch (IllegalStateException e) { LOGGER.log(Level.INFO, "Error transforming feature."); }