[OpenLayers-Commits] r4755 - sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format

commits at openlayers.org commits at openlayers.org
Tue Oct 2 13:24:46 EDT 2007


Author: ahocevar
Date: 2007-10-02 13:24:45 -0400 (Tue, 02 Oct 2007)
New Revision: 4755

Modified:
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/SLD.js
Log:
fixed error with empty filters. Now test passes again. Also some more readability improvements.

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/SLD.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/SLD.js	2007-10-02 14:42:15 UTC (rev 4754)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/SLD.js	2007-10-02 17:24:45 UTC (rev 4755)
@@ -72,9 +72,7 @@
         }
         var styles = {};
         for (var i=0; i<userStyles.length; i++) {
-            var nameNode = this.getElementsByTagNameNS(userStyles[i],
-                    this.sldns, "Name")
-            var name = OpenLayers.Util.getXmlNodeValue(nameNode[0]);
+            var name = this.parseProperty(userStyles[i], this.sldns, "Name");
             styles[name] = this.parseUserStyle(userStyles[i]);
         }
         
@@ -100,9 +98,7 @@
 
         var rules = userStyle.rules;
         for (var i=0; i<ruleNodes.length; i++) {
-            var nameNode = this.getElementsByTagNameNS(ruleNodes[i], this.sldns,
-                    "Name");
-            var name = OpenLayers.Util.getXmlNodeValue(nameNode[0]);
+            var name = this.parseProperty(ruleNodes[i], this.sldns, "Name");
             rules.push(this.parseRule(ruleNodes[i], name));
         }
 
@@ -126,10 +122,10 @@
         
         var filter = this.getElementsByTagNameNS(xmlNode, this.ogcns, "Filter");
         if (filter && filter.length > 0) {
-           var rule = this.parseFilter(filter[0], null);
+            var rule = this.parseFilter(filter[0]);
         } else {
             // rule applies to all features
-            var rule = new OpenLayers.Rule()
+            var rule = new OpenLayers.Rule();
         }
         rule.name = name;
         
@@ -254,7 +250,7 @@
             var filters = andFilter.childNodes; 
             for (var i=0; i<filters.length; i++) {
                 if (filters[i].nodeType == 1) {
-                    rule.children.push(this.parseFilter(filters[i], rule));
+                    rule.children.push(this.parseFilter(filters[i]));
                 }
             }
             return rule;
@@ -273,7 +269,7 @@
             var filters = orFilter.childNodes; 
             for (var i=0; i<filters.length; i++) {
                 if (filters[i].nodeType == 1) {
-                    rule.children.push(this.parseFilter(filters[i], rule));
+                    rule.children.push(this.parseFilter(filters[i]));
                 }
             }
             return rule;
@@ -289,7 +285,7 @@
         if (notFilter.childNodes && notFilter.parentNode == xmlNode) {
             var rule = new OpenLayers.Rule.Logical(
                     {type: OpenLayers.Rule.Logical.Type.NOT});
-            rule.children.push(this.parseFilter(notFilter, rule));
+            rule.children.push(this.parseFilter(notFilter));
             return rule;
         }
         
@@ -327,6 +323,9 @@
                 return rule;
             }
         }
+        
+        // if we get here, the filter was empty
+        return new OpenLayers.Rule();
     },
     
     /**



More information about the Commits mailing list