[Geoserver-devel] [jira] Created: (GEOS-3835) Exception when trying to render dashed lines

Exception when trying to render dashed lines
--------------------------------------------

                 Key: GEOS-3835
                 URL: http://jira.codehaus.org/browse/GEOS-3835
             Project: GeoServer
          Issue Type: Bug
          Components: WMS
    Affects Versions: 2.0.0
            Reporter: Peter Becker
            Assignee: Andrea Aime
            Priority: Minor

I'm trying to render a style using a dashed line, but all I get is this:

{noformat}
  java.lang.NumberFormatException: empty String
        at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1012)
        at java.lang.Float.parseFloat(Float.java:439)
        at org.geotools.styling.SLDParser.parseStroke(SLDParser.java:1760)
        at org.geotools.styling.SLDParser.parseLineSymbolizer(SLDParser.java:893)
        at org.geotools.styling.SLDParser.parseRule(SLDParser.java:826)
        at org.geotools.styling.SLDParser.parseFeatureTypeStyle(SLDParser.java:756)
        at org.geotools.styling.SLDParser.parseStyle(SLDParser.java:712)
        at org.geotools.styling.SLDParser.readDOM(SLDParser.java:319)
        at org.geotools.styling.SLDParser.readXML(SLDParser.java:295)
        at org.geoserver.catalog.ResourcePool.getStyle(ResourcePool.java:871)
        at org.geoserver.catalog.impl.StyleInfoImpl.getStyle(StyleInfoImpl.java:60)
        at sun.reflect.GeneratedMethodAccessor167.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:113)
        at $Proxy9.getStyle(Unknown Source)
        at org.geoserver.wms.WMS.getStyleByName(WMS.java:74)
        at org.geoserver.wms.kvp.GetMapKvpRequestReader.parseStyles(GetMapKvpRequestReader.java:1202)
        at org.geoserver.wms.kvp.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:277)
        at org.geoserver.wms.kvp.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:70)
        at org.geoserver.ows.Dispatcher.parseRequestKVP(Dispatcher.java:1094)
        at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:437)
        at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:206)
        at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
        at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
                                                                                                   ...
{noformat}

Here is an excerpt of the SLD causing this (I can provide a full version if necessary):

{noformat}
        <sld:Rule>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>water_type</ogc:PropertyName>
              <ogc:Literal>UE_NOOSA</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <sld:LineSymbolizer>
            <sld:Stroke>
              <sld:CssParameter name="stroke">
                <ogc:Literal>#000044</ogc:Literal>
              </sld:CssParameter>
              <sld:CssParameter name="stroke-width">
                <ogc:Literal>3</ogc:Literal>
              </sld:CssParameter>
              <sld:CssParameter name="stroke-offset">
                <ogc:Literal>0</ogc:Literal>
              </sld:CssParameter>
              <sld:CssParameter name="stroke-dasharray">
                <ogc:Literal>2.0 1.0 4.0 1.0</ogc:Literal>
              </sld:CssParameter>
            </sld:Stroke>
          </sld:LineSymbolizer>
        </sld:Rule>
{noformat}

The exception seems to be triggered by the presence of the stroke-dasharray CSS parameter, if I remove that everything render fine (but not dashed).

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira