[Geoserver-users] Using charts in GeoServer 2.3.0

Hello

I’m running GeoServer 2.3.0 on Ubuntu. I loaded a layers from PostGIS.

I would like to visualize my data by using a pie chart. However, I cannot get it to work. I’ve really tried to find answers but I’m afraid I am far from an expert and so I have been unsuccessful so far.

I have downloaded the jar files found on http://blog.geoserver.org/2009/06/01/geoserver-chart-extension/ into the folder …/geoserver/WEB-INF/libs

What I don’t know is if this is still working in GeoServer 2.3.0? I cannot find any info that is more recent.

I tried to use the following SLD:

<?xml version="1.0" encoding="ISO-8859-1"?>





Pie charts




#AAAAAA











application/chart


ogc:Literal30</ogc:Literal>







My PostGIS table looks like this:

···


gid



integer



name



char var(70)



shape_length



numeric



shape_area



numeric



fer_aangr



numeric



icm_aangr



numeric







geom



geometry(multipolygon, 31370)



1



Loc1



3754



555260



0.10



0.26











2



Loc2



3686



536296



0.09



0.10











3



Loc3



2862



477039



0.11



0.20









But I receive the following error:

Request: getServiceInfo

2013-07-24 11:03:11,788 ERROR [geoserver.ows] -

java.lang.IllegalArgumentException: Unescaped $ at position 26

at org.geotools.renderer.style.ExpressionExtractor.splitCqlExpressions(ExpressionExtractor.java:98)

at org.geotools.renderer.style.ExpressionExtractor.extractCqlExpressions(ExpressionExtractor.java:163)

at org.geotools.styling.StyleAttributeExtractor.visitCqlExpression(StyleAttributeExtractor.java:386)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:400)

at org.geotools.styling.ExternalGraphicImpl.accept(ExternalGraphicImpl.java:138)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:339)

at org.geotools.styling.GraphicImpl.accept(GraphicImpl.java:354)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:226)

at org.geotools.styling.PointSymbolizerImpl.accept(PointSymbolizerImpl.java:93)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:96)

at org.geotools.styling.RuleImpl.accept(RuleImpl.java:312)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:114)

at org.geotools.styling.FeatureTypeStyleImpl.accept(FeatureTypeStyleImpl.java:240)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:77)

at org.geoserver.wms.map.GetMapKvpRequestReader.checkStyle(GetMapKvpRequestReader.java:1112)

at org.geoserver.wms.map.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:390)

at org.geoserver.wms.map.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:79)

at org.geoserver.ows.Dispatcher.parseRequestKVP(Dispatcher.java:1412)

at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:622)

at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:263)

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:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:27)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74)

at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:82)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:46)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)

at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:103)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:75)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:47)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:679)

But escaping the ‘$’ makes no sense and just causes more errors.

So can I still create charts this way or is there another tool available? And what am I doing wrong?

Thx a lot!

Hi Ann,
As an extension I believe it should still be functional - there’s an old thread that says it is tested nightly.

However there doesn’t seem to be any documentation or anything for it despite being four years old. (Thought: Maybe that should be added to the requirements to become an Extension if it hasn’t been in the interim?)

I don’t know anything about this extension but I do note that your brackets are escaped and they’re not in the blog. Might it be that? Also your slashes are inconsistent between \ and /. Escape character is usually .

Cheers,
Jonathan

On 24 July 2013 10:13, Ann Crabbé <ann.crabbe@anonymised.com> wrote:

Hello

I’m running GeoServer 2.3.0 on Ubuntu. I loaded a layers from PostGIS.

I would like to visualize my data by using a pie chart. However, I cannot get it to work. I’ve really tried to find answers but I’m afraid I am far from an expert and so I have been unsuccessful so far.

I have downloaded the jar files found on http://blog.geoserver.org/2009/06/01/geoserver-chart-extension/ into the folder …/geoserver/WEB-INF/libs

What I don’t know is if this is still working in GeoServer 2.3.0? I cannot find any info that is more recent.

I tried to use the following SLD:

<?xml version="1.0" encoding="ISO-8859-1"?>





Pie charts




#AAAAAA











application/chart


ogc:Literal30</ogc:Literal>







My PostGIS table looks like this:



gid



integer



name



char var(70)



shape_length



numeric



shape_area



numeric



fer_aangr



numeric



icm_aangr



numeric







geom



geometry(multipolygon, 31370)



1



Loc1



3754



555260



0.10



0.26











2



Loc2



3686



536296



0.09



0.10











3



Loc3



2862



477039



0.11



0.20









But I receive the following error:

Request: getServiceInfo

2013-07-24 11:03:11,788 ERROR [geoserver.ows] -

java.lang.IllegalArgumentException: Unescaped $ at position 26

at org.geotools.renderer.style.ExpressionExtractor.splitCqlExpressions(ExpressionExtractor.java:98)

at org.geotools.renderer.style.ExpressionExtractor.extractCqlExpressions(ExpressionExtractor.java:163)

at org.geotools.styling.StyleAttributeExtractor.visitCqlExpression(StyleAttributeExtractor.java:386)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:400)

at org.geotools.styling.ExternalGraphicImpl.accept(ExternalGraphicImpl.java:138)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:339)

at org.geotools.styling.GraphicImpl.accept(GraphicImpl.java:354)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:226)

at org.geotools.styling.PointSymbolizerImpl.accept(PointSymbolizerImpl.java:93)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:96)

at org.geotools.styling.RuleImpl.accept(RuleImpl.java:312)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:114)

at org.geotools.styling.FeatureTypeStyleImpl.accept(FeatureTypeStyleImpl.java:240)

at org.geotools.styling.StyleAttributeExtractor.visit(StyleAttributeExtractor.java:77)

at org.geoserver.wms.map.GetMapKvpRequestReader.checkStyle(GetMapKvpRequestReader.java:1112)

at org.geoserver.wms.map.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:390)

at org.geoserver.wms.map.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:79)

at org.geoserver.ows.Dispatcher.parseRequestKVP(Dispatcher.java:1412)

at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:622)

at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:263)

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:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:27)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74)

at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:82)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:46)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)

at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:103)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:75)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:47)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:679)

But escaping the ‘$’ makes no sense and just causes more errors.

So can I still create charts this way or is there another tool available? And what am I doing wrong?

Thx a lot!


Get 100% visibility into Java/.NET code with AppDynamics Lite!
It’s a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

This transmission is intended for the named addressee(s) only and may contain sensitive or protectively marked material up to RESTRICTED and should be handled accordingly. Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else. If you have received this transmission in error please notify the sender immediately. All email traffic sent to or from us, including without limitation all GCSX traffic, may be subject to recording and/or monitoring in accordance with relevant legislation.

On Tue, Aug 13, 2013 at 3:27 PM, Jonathan Moules <
jonathanmoules@anonymised.com> wrote:

Hi Ann,
As an extension I believe it should still be functional - there's an old
thread that says it is tested nightly.

However there doesn't seem to be any documentation or anything for it
despite being four years old. (Thought: Maybe that should be added to the
requirements to become an Extension if it hasn't been in the interim?)

Correct. The chart extension is something I built for fun years ago during
a single weekend. There was no docs requirements back then...

Cheers
Andrea

--

Our support, Your Success! Visit http://opensdi.geo-solutions.it for more
information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

Removing the escapes from the brackets worked.

I did it in the first place because it also used to throw a similar error “Unescaped { at position …” but that’s gone now. I must have mistyped something somewhere!

Thanks a lot Jonathan!

Met vriendelijke groeten,

Ann

Crabbé Ann
KU Leuven, R&D Division SADL
(Spatial Applications Division Leuven)
Celestijnenlaan 200 E, B-3001 Leuven, Belgium
Tel: +32 -16-32 97 27
ann.crabbe@anonymised.com…
http://www.sadl.kuleuven.be

···

On Tue, Aug 13, 2013 at 3:27 PM, Jonathan Moules <jonathanmoules@anonymised.com> wrote:

Hi Ann,

As an extension I believe it should still be functional - there’s an old thread that says it is tested nightly.

However there doesn’t seem to be any documentation or anything for it despite being four years old. (Thought: Maybe that should be added to the requirements to become an Extension if it hasn’t been in the interim?)

Correct. The chart extension is something I built for fun years ago during a single weekend. There was no docs requirements back then…

Cheers

Andrea

==

Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it