[OpenLayers-Commits] r3892 - sandbox/tschaub/xml/lib/OpenLayers/Format

commits at openlayers.org commits at openlayers.org
Sat Aug 11 10:40:50 EDT 2007


Author: tschaub
Date: 2007-08-11 10:40:49 -0400 (Sat, 11 Aug 2007)
New Revision: 3892

Modified:
   sandbox/tschaub/xml/lib/OpenLayers/Format/GML.js
Log:
make buildGeometryNode an API method (again)

Modified: sandbox/tschaub/xml/lib/OpenLayers/Format/GML.js
===================================================================
--- sandbox/tschaub/xml/lib/OpenLayers/Format/GML.js	2007-08-11 03:32:41 UTC (rev 3891)
+++ sandbox/tschaub/xml/lib/OpenLayers/Format/GML.js	2007-08-11 14:40:49 UTC (rev 3892)
@@ -501,9 +501,7 @@
      */
     createFeatureXML: function(feature) {
         var geometry = feature.geometry;
-        var className = geometry.CLASS_NAME;
-        var type = className.substring(className.lastIndexOf(".") + 1);
-        var builder = this.buildGeometryNode[type.toLowerCase()];
+        var geometryNode = this.buildGeometryNode(geometry);
         var geometryNode;
         if(builder) {
             geometryNode = builder.apply(this, [geometry]);
@@ -537,18 +535,28 @@
     },
     
     /**
-     * Property: buildGeometryNode
+     * APIMethod: buildGeometryNode
+     */
+    buildGeometryNode: function(geometry) {
+        var className = geometry.CLASS_NAME;
+        var type = className.substring(className.lastIndexOf(".") + 1);
+        var builder = this.buildGeometry[type.toLowerCase()];
+        return builder.apply(this, [geometry]);
+    },
+
+    /**
+     * Property: buildGeometry
      * Object containing methods to do the actual geometry node building
      *     based on geometry type.
      */
-    buildGeometryNode: {
+    buildGeometry: {
         // TBD retrieve the srs from layer
         // srsName is non-standard, so not including it until it's right.
         // gml.setAttribute("srsName",
         //                  "http://www.opengis.net/gml/srs/epsg.xml#4326");
 
         /**
-         * Method: buildGeometryNode.point
+         * Method: buildGeometry.point
          * Given an OpenLayers point geometry, create a GML point.
          *
          * Parameters:
@@ -564,7 +572,7 @@
         },
         
         /**
-         * Method: buildGeometryNode.multipoint
+         * Method: buildGeometry.multipoint
          * Given an OpenLayers multipoint geometry, create a GML multipoint.
          *
          * Parameters:
@@ -580,7 +588,7 @@
             for(var i=0; i<points.length; i++) { 
                 pointMember = this.createElementNS(this.gmlns,
                                                    "gml:pointMember");
-                pointGeom = this.buildGeometryNode.point.apply(this,
+                pointGeom = this.buildGeometry.point.apply(this,
                                                                [points[i]]);
                 pointMember.appendChild(pointGeom);
                 gml.appendChild(pointMember);
@@ -589,7 +597,7 @@
         },
         
         /**
-         * Method: buildGeometryNode.linestring
+         * Method: buildGeometry.linestring
          * Given an OpenLayers linestring geometry, create a GML linestring.
          *
          * Parameters:
@@ -605,7 +613,7 @@
         },
         
         /**
-         * Method: buildGeometryNode.multilinestring
+         * Method: buildGeometry.multilinestring
          * Given an OpenLayers multilinestring geometry, create a GML
          *     multilinestring.
          *
@@ -623,7 +631,7 @@
             for(var i=0; i<lines.length; ++i) {
                 lineMember = this.createElementNS(this.gmlns,
                                                   "gml:lineStringMember");
-                lineGeom = this.buildGeometryNode.linestring.apply(this,
+                lineGeom = this.buildGeometry.linestring.apply(this,
                                                                    [lines[i]]);
                 lineMember.appendChild(lineGeom);
                 gml.appendChild(lineMember);
@@ -632,7 +640,7 @@
         },
         
         /**
-         * Method: buildGeometryNode.linearring
+         * Method: buildGeometry.linearring
          * Given an OpenLayers linearring geometry, create a GML linearring.
          *
          * Parameters:
@@ -648,7 +656,7 @@
         },
         
         /**
-         * Method: buildGeometryNode.polygon
+         * Method: buildGeometry.polygon
          * Given an OpenLayers polygon geometry, create a GML polygon.
          *
          * Parameters:
@@ -665,7 +673,7 @@
                 type = (i==0) ? "outerBoundaryIs" : "innerBoundaryIs";
                 ringMember = this.createElementNS(this.gmlns,
                                                   "gml:" + type);
-                ringGeom = this.buildGeometryNode.linearring.apply(this,
+                ringGeom = this.buildGeometry.linearring.apply(this,
                                                                    [rings[i]]);
                 ringMember.appendChild(ringGeom);
                 gml.appendChild(ringMember);
@@ -674,7 +682,7 @@
         },
         
         /**
-         * Method: buildGeometryNode.multipolygon
+         * Method: buildGeometry.multipolygon
          * Given an OpenLayers multipolygon geometry, create a GML multipolygon.
          *
          * Parameters:
@@ -691,7 +699,7 @@
             for(var i=0; i<polys.length; ++i) {
                 polyMember = this.createElementNS(this.gmlns,
                                                   "gml:polygonMember");
-                polyGeom = this.buildGeometryNode.polygon.apply(this,
+                polyGeom = this.buildGeometry.polygon.apply(this,
                                                                 [polys[i]]);
                 polyMember.appendChild(polyGeom);
                 gml.appendChild(polyMember);
@@ -732,5 +740,3 @@
 
     CLASS_NAME: "OpenLayers.Format.GML" 
 });
-
-    
\ No newline at end of file



More information about the Commits mailing list