[Geoserver-devel] [JIRA] (GEOS-7501) Convert function in sldService module creates unrenderable SLD rules

Matt Bertrand created an issue

GeoServer / BugGEOS-7501

Convert function in sldService module creates unrenderable SLD rules

Issue Type:

BugBug

Affects Versions:

2.9-beta

Assignee:

Unassigned

Components:

Community modules

Created:

15/Apr/16 9:53 PM

Environment:

OSX, Ubuntu 14.04

Priority:

MediumMedium

Reporter:

Matt Bertrand

PR with potential fix: https://github.com/geoserver/geoserver/pull/1571

Use parseDouble instead of convert function to create renderable sld rules, and only if ‘normalize’ boolean is true.

The ‘convert’ function creates SLD rules that are not renderable (exception included at bottom):

        <PropertyIsGreaterThanOrEqualTo>
          <Function name="convert">
            <PropertyName>value</PropertyName>
            <Literal>java.lang.Double</Literal>
          </Function>
          <Literal>220.0</Literal>
        </PropertyIsGreaterThanOrEqualTo>

Switching to ‘parseDouble’ produces renderable SLD:

        <PropertyIsGreaterThanOrEqualTo>
          <Function name="parseDouble">
            <PropertyName>value</PropertyName>
          </Function>
          <Literal>220.0</Literal>
        </PropertyIsGreaterThanOrEqualTo>

The exception caused by the convert function is:

Caused by: java.lang.IllegalArgumentException: Filter Function problem for function convert argument #1 - expected type Class
	at org.geotools.filter.function.FilterFunction_Convert.evaluate(FilterFunction_Convert.java:51)
	at org.geotools.filter.FilterAbstract.eval(FilterAbstract.java:95)
	at org.geotools.filter.MultiCompareFilterImpl.evaluate(MultiCompareFilterImpl.java:64)
	at org.geotools.filter.AndImpl.evaluate(AndImpl.java:44)
	at org.geotools.filter.OrImpl.evaluate(OrImpl.java:41)
	at org.geotools.data.FilteringFeatureReader.hasNext(FilteringFeatureReader.java:133)
	at org.geotools.data.store.ContentFeatureCollection$WrappingFeatureIterator.hasNext(ContentFeatureCollection.java:143)
	at org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer.java:2294)
	at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1917)
	at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:833)
	at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:548)
	... 112 more

Add Comment

Add Comment

This message was sent by Atlassian JIRA (v7.2.0-OD-05-030#72002-sha1:7e8526a)

Atlassian logo