[mapserver-commits] r8549 - trunk/mapserver

svn at osgeo.org svn at osgeo.org
Fri Feb 13 15:00:46 EST 2009


Author: assefa
Date: 2009-02-13 15:00:45 -0500 (Fri, 13 Feb 2009)
New Revision: 8549

Modified:
   trunk/mapserver/HISTORY.TXT
   trunk/mapserver/mapogcsld.c
Log:
SLD: always try to set the FILTER element of a Layer #2899

Modified: trunk/mapserver/HISTORY.TXT
===================================================================
--- trunk/mapserver/HISTORY.TXT	2009-02-13 06:27:10 UTC (rev 8548)
+++ trunk/mapserver/HISTORY.TXT	2009-02-13 20:00:45 UTC (rev 8549)
@@ -12,6 +12,9 @@
 Current Version (5.3-dev, SVN trunk):
 ------------------------------------
 
+- SLD: if it conatins a Filer Encoding tag, try to always set the
+  layer's FILTER element (#2889)
+
 - Add support for rendering INLINE layers with layer attributes (items) (#2870)
 
 - Fix mapserver crash when rendering a query map in HILITE mode

Modified: trunk/mapserver/mapogcsld.c
===================================================================
--- trunk/mapserver/mapogcsld.c	2009-02-13 06:27:10 UTC (rev 8548)
+++ trunk/mapserver/mapogcsld.c	2009-02-13 20:00:45 UTC (rev 8549)
@@ -676,15 +676,19 @@
                             if (psNode)
                             {
 /* ==================================================================== */
-/*      If the filter has a spatial filter, we keep the node. This      */
-/*      node will be parsed when applying the SLD and be used to do     */
-/*      queries on the layer.                                           */
+/*      If the filter has a spatial filter or is a simple, we keep      */
+/*      the node. This node will be parsed when applying the SLD and    */
+/*      be used to do queries on the layer.  Simple filers              */
+/*      (Comparision operators (PropertyIsEqualTo,                      */
+/*      PropertyNotEqualTo, ... combined or not with logical            */
+/*      operators such as AND/OR/NOT) will be used to set the FILTER    */
+/*      element of the layer.                                           */
 /* ==================================================================== */
-                                if (FLTHasSpatialFilter(psNode))
-                                  psLayer->layerinfo = (void *)psNode;
 
-                                szExpression = FLTGetMapserverExpression(psNode, psLayer);
+                              psLayer->layerinfo = (void *)psNode;
 
+                              szExpression = FLTGetMapserverExpression(psNode, psLayer);
+
                                 if (szExpression)
                                 {
                                     szClassItem = 



More information about the mapserver-commits mailing list