Similarly:
<Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:Literal>Point</ogc:Literal>
<ogc:Function name="geometryType">
<ogc:PropertyName>geom</ogc:PropertyName>
</ogc:Function>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
...
...
Gives:
Caused by: java.lang.IllegalArgumentException: Binary geometry filter, but
first expression is not a property name? (it's a class
org.geotools.filter.LiteralExpressionImpl)
It seems like the PropertyIsEqualTo has either changed or picked up a bug.
Thanks
Tim
-----Original Message-----
From: geoserver-users-bounces@lists.sourceforge.net
[mailto:geoserver-users-bounces@lists.sourceforge.net] On Behalf Of Tim
Robertson
Sent: Wednesday, April 09, 2008 1:11 PM
To: geoserver-users@lists.sourceforge.net
Subject: [Geoserver-users] SLD works in 1.5.X but not 1.6.3
Hi all,
I just migrated from Geoserver 1.5.X to 1.6.3 and fixed my custom datastore
to work with the newer geotools.
However, I am now seeing a problem with an SLD.
My datastore returns an abstract geometry type, and based on the filter
passed in will either return a Polygon or a Point.
This is all working, and if I do generic rendering in the SLD it all works
fine.
However the following breaks it all, which used to work (exception at the
bottom):
<!-- If it is a point data, render as such --> <Rule>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:Function name="geometryType">
<ogc:PropertyName>geom</ogc:PropertyName>
</ogc:Function>
<ogc:Literal>Point</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>circle</WellKnownName>
<Fill>
<CssParameter name="fill">#cc0000</CssParameter>
<CssParameter name="fill-opacity">1.0</CssParameter>
</Fill>
</Mark>
<Size>6</Size>
</Graphic>
</PointSymbolizer>
</Rule>
Any ideas anyone?
Thanks
Tim
09 Apr 13:06:45 INFO [geoserver.filters] - 127.0.0.1 "GET
/geoserver/wms?bbox=-180,-90,180,90&styles=,&Format=image/png&request=GetMap
&layers=gbif:countries,gbif:gbifDensityLayer&w
idth=550&height=250&srs=EPSG:4326&FILTER=(%20)(%3CFilter%3E%3CAnd%3E%3CPrope
rtyIsEqualTo%3E%3CPropertyName%3Etype%3C/PropertyName%3E%3CLiteral%3E0%3C/Li
teral%3E%3C/PropertyIsEqualT
o%3E%3CPropertyIsEqualTo%3E%3CPropertyName%3Econcept%3C/PropertyName%3E%3CLi
teral%3E0%3C/Literal%3E%3C/PropertyIsEqualTo%3E%3C/And%3E%3C/Filter%3E)&bgco
lor=0x7391AD" "Mozilla/5.0 (
Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311
Firefox/2.0.0.13" ""
09 Apr 13:06:50 ERROR [geotools.rendering] - Had troubles handling filter
reprojection...
org.geotools.data.DataSourceException: Had troubles handling filter
reprojection...
at
org.vfny.geoserver.global.GeoServerFeatureSource.reprojectFilter(GeoServerFe
atureSource.java:368)
at
org.vfny.geoserver.global.GeoServerFeatureSource.getFeatures(GeoServerFeatur
eSource.java:313)
at
org.geotools.renderer.lite.StreamingRenderer.queryLayer(StreamingRenderer.ja
va:905)
at
org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRendere
r.java:1569)
at
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:64
9)
at
org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRenderer(Sh
apefileRenderer.java:1443)
at
org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:1
313)
at
org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:2
62)
at
org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(Default
RasterMapProducer.java:310)
at
org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:
436)
at
org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapter.java:
48)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:616)
at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:192)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(Abstrac
tController.java:139)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(Si
mpleControllerHandlerAdapter.java:44)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServl
et.java:684)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServle
t.java:625)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkSer
vlet.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.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterE
ncodingFilter.java:108)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
at
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:69)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh
ainProxy.java:264)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecur
ityInterceptor.java:107)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSec
urityInterceptor.java:72)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh
ainProxy.java:274)
at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslatio
nFilter.java:110)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh
ainProxy.java:274)
at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(Ano
nymousProcessingFilter.java:125)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh
ainProxy.java:274)
at
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessin
gFilter.java:178)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh
ainProxy.java:274)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpS
essionContextIntegrationFilter.java:229)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh
ainProxy.java:274)
at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126
)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
onnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalArgumentException: Binary geometry filter, but
first expression is not a property name? (it's a class
org.geotools.filter.function.FilterFunction_geometryType)
at
org.geoserver.feature.ReprojectingFilterVisitor$BinaryComparisonTransformer.
transform(ReprojectingFilterVisitor.java:414)
at
org.geoserver.feature.ReprojectingFilterVisitor.visit(ReprojectingFilterVisi
tor.java:113)
at
org.geotools.filter.IsEqualsToImpl.accept(IsEqualsToImpl.java:149)
at
org.geotools.filter.visitor.DuplicatingFilterVisitor.visit(DuplicatingFilter
Visitor.java:147)
at org.geotools.filter.OrImpl.accept(OrImpl.java:48)
at
org.geotools.filter.visitor.DuplicatingFilterVisitor.visit(DuplicatingFilter
Visitor.java:147)
at org.geotools.filter.OrImpl.accept(OrImpl.java:48)
at
org.geotools.filter.visitor.DuplicatingFilterVisitor.visit(DuplicatingFilter
Visitor.java:147)
at org.geotools.filter.OrImpl.accept(OrImpl.java:48)
at
org.geotools.filter.visitor.DuplicatingFilterVisitor.visit(DuplicatingFilter
Visitor.java:147)
at org.geotools.filter.OrImpl.accept(OrImpl.java:48)
at
org.geotools.filter.visitor.DuplicatingFilterVisitor.visit(DuplicatingFilter
Visitor.java:147)
at org.geotools.filter.OrImpl.accept(OrImpl.java:48)
at
org.geotools.filter.visitor.DuplicatingFilterVisitor.visit(DuplicatingFilter
Visitor.java:147)
at org.geotools.filter.OrImpl.accept(OrImpl.java:48)
at
org.geotools.filter.visitor.DuplicatingFilterVisitor.visit(DuplicatingFilter
Visitor.java:123)
at org.geotools.filter.AndImpl.accept(AndImpl.java:60)
at
org.geotools.filter.visitor.DuplicatingFilterVisitor.visit(DuplicatingFilter
Visitor.java:123)
at org.geotools.filter.AndImpl.accept(AndImpl.java:60)
at
org.vfny.geoserver.global.GeoServerFeatureSource.reprojectFilter(GeoServerFe
atureSource.java:362)
... 59 more
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss
this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javao
ne
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users