[Geoserver-devel] [jira] Created: (GEOS-1749) comma in PostGIS money datatype causes GetFeatureInfo request to fail

comma in PostGIS money datatype causes GetFeatureInfo request to fail
---------------------------------------------------------------------

                 Key: GEOS-1749
                 URL: http://jira.codehaus.org/browse/GEOS-1749
             Project: GeoServer
          Issue Type: Bug
          Components: WMS
    Affects Versions: 1.6.0-RC1
         Environment: ubuntu 7.10, jetty
            Reporter: Tyler Erickson
            Assignee: Andrea Aime

A GetFeatureInfo request with a format of INFO_FORMAT=text/html fails when viewing a PostGIS money datatype value that has a comma (i.e. $10,000.00). This request was created by the OpenLayers Map Preview in the Demo section.

Sample request:
http://geoserver:8086/geoserver/wms?WIDTH=800&LAYERS=mtri%3Av_protracts_practice_records_spatial&STYLES=&SRS=EPSG%3A4326&HEIGHT=616&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&EXCEPTIONS=application%2Fvnd.ogc.se_xml&BBOX=-93.298594%2C39.679633%2C-79.531406%2C50.280367&X=402&Y=487&INFO_FORMAT=text%2Fhtml&QUERY_LAYERS=mtri%3Av_protracts_practice_records_spatial&FEATURE_COUNT=50&layers=mtri%3Av_protracts_practice_records_spatial&styles=&srs=EPSG%3A4326

Error message:

No more elements in the iterator. The problematic instruction: ---------- ==> list features as feature [on line 16, column 1 in content.ftl] ---------- Java backtrace for programmers: ---------- freemarker.template.TemplateModelException: No more elements in the iterator. at freemarker.ext.beans.IteratorModel.next(IteratorModel.java:137) at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:157) at freemarker.core.Environment.visit(Environment.java:351) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.Environment.process(Environment.java:176) at freemarker.template.Template.process(Template.java:232) at org.vfny.geoserver.wms.responses.featureInfo.HTMLTableFeatureInfoResponse.writeTo(HTMLTableFeatureInfoResponse.java:101) at org.vfny.geoserver.wms.responses.GetFeatureInfoResponse.writeTo(GetFeatureInfoResponse.java:175) at org.geoserver.ows.adapters.ResponseAdapter.write(ResponseAdapter.java:60) at org.geoserver.ows.Dispatcher.response(Dispatcher.java:608) at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:192) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:684) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:347) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:459) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1054) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1045) at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1045) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:358) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:231) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:629) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:453) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141) at org.mortbay.jetty.Server.handle(Server.java:303) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:452) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:721) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:509) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:349) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:320) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) java.io.IOException: Error occured processing template. java.io.IOException: Error occured processing template. java.io.IOException: Error occured processing template.

--
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