When an SLD (containing a rule with a PropertyIsBetween filter) is applied on
a layer using GeoServer 2.1.1 the layer is rendered nicely. If this SLD is
applied on the same layer using GeoServer 2.3.5 the layer is not rendered
and the following error is logged:
Caused by: java.lang.NullPointerException
at
org.geotools.filter.IsBetweenImpl.evaluateInternal(IsBetweenImpl.java:114)
at org.geotools.filter.IsBetweenImpl.evaluate(IsBetweenImpl.java:74)
at org.geotools.filter.NotImpl.evaluate(NotImpl.java:61)
at org.geotools.filter.AndImpl.evaluate(AndImpl.java:57)
The rule in the SLD:
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>pipe_type</ogc:PropertyName>
<ogc:Literal>A</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:Not>
<ogc:PropertyIsBetween>
<ogc:PropertyName>service_condition_score</ogc:PropertyName>
<ogc:LowerBoundary>
<ogc:Literal>1</ogc:Literal>
</ogc:LowerBoundary>
<ogc:UpperBoundary>
<ogc:Literal>6</ogc:Literal>
</ogc:UpperBoundary>
</ogc:PropertyIsBetween>
</ogc:Not>
</ogc:And>
</ogc:Filter>
Is the Between filter implementation made stricter with regard to null
values? Do I have to add a PropertyIsNull operator?
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/PropertyIsBetween-throws-NPE-after-upgrading-to-GeoServer-2-3-5-tp5077090.html
Sent from the GeoServer - User mailing list archive at Nabble.com.