Hi all,
Sorry about the cross-list post but I’m not sure exactly where this problem lies.
(Ignore until you read the sentence below)
598072759 [FINE] org.vfny.geoserver.servlets.AbstractService - ------------XML POST START-----------
<?xml version="1.0" encoding="UTF-8"?>
<GetFeature xmlns=[**MailScanner has detected a possible fraud attempt from "www.opengis.net" claiming to be** "http://www.opengis.net/wfs"](http://www.opengis.net/wfs) xmlns:gml=[**MailScanner has detected a possible fraud attempt from "www.opengis.net" claiming to be** "http://www.opengis.net/gml"](http://www.opengis.net/gml) xmlns:ogc=[**MailScanner has detected a possible fraud attempt from "www.opengis.net" claiming to be** "http://www.opengis.net/ogc"](http://www.opengis.net/ogc) version="1.0.0" service="WFS" outputFormat="GML2"><Query typeName="topp:roadevent_pnt"><ogc:PropertyName>roadeventid</ogc:PropertyName>
<ogc:Filter><ogc:And><ogc:Intersects><ogc:PropertyName>the_geom</ogc:PropertyName>
<gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates decimal="." cs="," ts=" ">2224073.5294117643,5725938.522408964 2224073.5294117643,6077972.522408964 2740784.4985994394,6077972.522408964 2740784.4985994394,5725938.522408964 2224073.5294117643,5725938.522408964</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</ogc:Intersects>
<ogc:And><ogc:Not><ogc:PropertyIsGreaterThan><ogc:PropertyName>startdate</ogc:PropertyName>
<ogc:Literal>1.155523188718E12</ogc:Literal>
</ogc:PropertyIsGreaterThan>
</ogc:Not>
<ogc:Not><ogc:And><ogc:PropertyIsEqualTo><ogc:PropertyName>eventstatus</ogc:PropertyName>
<ogc:Literal>Closed</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsLessThan><ogc:PropertyName>enddate</ogc:PropertyName>
<ogc:Literal>1.154227188718E12</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Not>
<ogc:Not><ogc:PropertyIsEqualTo><ogc:PropertyName>eventstatus</ogc:PropertyName>
<ogc:Literal>Deleted</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Not>
<ogc:Or><ogc:PropertyIsEqualTo><ogc:PropertyName>eventtype</ogc:PropertyName>
<ogc:Literal>Road Hazard</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo><ogc:PropertyName>eventtype</ogc:PropertyName>
<ogc:Literal>Road Work</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo><ogc:PropertyName>eventtype</ogc:PropertyName>
<ogc:Literal>Area Warning</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo><ogc:PropertyName>eventtype</ogc:PropertyName>
<ogc:Literal>Compliment</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo><ogc:PropertyName>eventtype</ogc:PropertyName>
<ogc:Literal>Complaint</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo><ogc:PropertyName>**eventtype**</ogc:PropertyName>
<ogc:Literal>Damage Report</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Or>
</ogc:And>
</ogc:And>
</ogc:Filter>
</Query>
</GetFeature>
------------XML POST END-----------
598072774 [FINE] org.vfny.geoserver.wfs.requests.readers.GetFeatureXmlReader - just parsed: org.xml.sax.InputSource@anonymised.com
598072774 [INFO] org.vfny.geoserver.servlets.AbstractService - handling request:
Request: null
output format:GML2
max features:2147483647
version:
queries:
Query []
feature type: topp:roadevent_pnt
filter: [[ the_geom intersects POLYGON ((2224073.5294117643 5725938.522408964, 2224073.5294117643 6077972.522408964, 2740784.4985994394 6077972.522408964, 2740784.4985994394 5725938.522408964, 2224073.5294117643 5725938.522408964)) ] AND [NOT [ startdate > 1.155523188718E12 ] AND NOT [[ eventstatus = Closed ] AND [ enddate < 1.154227188718E12 ]] AND NOT [ eventstatus = Deleted ] AND [[ eventtype = Road Hazard ] OR [ eventtype = Road Work ] OR [ eventtype = Area Warning ] OR [ eventtype = Compliment ] OR [ eventtype = Complaint ] OR [ **ttype** = Damage Report ]]]]
[properties: roadeventid]
This is a WFS request sent to GeoServer 1.3.1 from uDig. Admittedly it is quite a big filter but I can’t really get away from that.
As you can see the last attribute filter in the XML post says “… or eventtype = Damage Report”. However, the parsed GeoTools filter below that says “… OR [ ttype = Damage Report ]”. This only happens when I have this number of attribute filters turned on, if I reduce the number by one everything works correctly.
The amount of truncation appears random as well. Sometimes the filter ends up as “OR [ e = Damage Report ]”.
Has anyone seen this before or know what can be done about it?
Thanks,
Mark