[OpenLayers-Commits] r5144 - sandbox/ahocevar/sldRenderer/lib/OpenLayers

commits at openlayers.org commits at openlayers.org
Wed Nov 7 13:04:56 EST 2007


Author: ahocevar
Date: 2007-11-07 13:04:55 -0500 (Wed, 07 Nov 2007)
New Revision: 5144

Modified:
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js
Log:
use andreas' method 3 in createLiteral

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js	2007-11-07 17:49:26 UTC (rev 5143)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js	2007-11-07 18:04:55 UTC (rev 5144)
@@ -226,15 +226,15 @@
 OpenLayers.Style.createLiteral = function(value, feature) {
     if (typeof value == "string" && value.indexOf("${") != -1) {
         var attributes = feature.attributes || feature.data;
-        //TBD: try which one is faster
-        //for (var i in attributes) {
-        //    value = value.replace("${"+i+"}", attributes[i]);
-        //}
-        var re = /\$\{(\w+)\}/g;
-        var a;
-        while (a = re.exec(value)) {
-            value = value.replace(a[0], attributes[a[1]]);
+        var tokens = value.split("${");
+        for (var i=0; i<tokens.length; i++) {
+            var close = tokens[i].indexOf("}");
+            if (close != -1) {
+                tokens[i] = attributes[tokens[i].substring(0, close)] +
+                        tokens[i].substring(++close);
+            }
         }
+        value = tokens.join(""); 
         value = isNaN(value) ? value : parseFloat(value);
     }
     return value;



More information about the Commits mailing list