From 798d2b2cb7427e1b7a136acaceac8f93c7416599 Mon Sep 17 00:00:00 2001 From: Marc Jansen Date: Tue, 20 Nov 2012 10:38:25 +0100 Subject: [PATCH 1/2] Fix exporting empty vector layers to OWSContext. When a vector layer is exported to an OWSContext document, we throw an exception when the layer contains no features, and the geometries are to be exported inside of an InlineGeometry-element. This commit fixes this behaviour by exporting sth. like this in such cases: --- lib/OpenLayers/Format/OWSContext/v0_3_1.js | 7 ++-- tests/Format/OWSContext/v0_3_1.html | 37 ++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/lib/OpenLayers/Format/OWSContext/v0_3_1.js b/lib/OpenLayers/Format/OWSContext/v0_3_1.js index ec899d9ac7..bf734147bf 100644 --- a/lib/OpenLayers/Format/OWSContext/v0_3_1.js +++ b/lib/OpenLayers/Format/OWSContext/v0_3_1.js @@ -423,8 +423,11 @@ OpenLayers.Format.OWSContext.v0_3_1 = OpenLayers.Class(OpenLayers.Format.XML, { return node; }, "InlineGeometry": function(layer) { - var node = this.createElementNSPlus("InlineGeometry"); - this.writeNode("gml:boundedBy", layer.getDataExtent(), node); + var node = this.createElementNSPlus("InlineGeometry"), + dataExtent = layer.getDataExtent(); + if (dataExtent !== null) { + this.writeNode("gml:boundedBy", layer.getDataExtent(), node); + } for (var i=0, len=layer.features.length; i Date: Tue, 20 Nov 2012 13:39:27 +0100 Subject: [PATCH 2/2] Reuse variable, thanks @bartvde. --- lib/OpenLayers/Format/OWSContext/v0_3_1.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/OpenLayers/Format/OWSContext/v0_3_1.js b/lib/OpenLayers/Format/OWSContext/v0_3_1.js index bf734147bf..ef3361061c 100644 --- a/lib/OpenLayers/Format/OWSContext/v0_3_1.js +++ b/lib/OpenLayers/Format/OWSContext/v0_3_1.js @@ -426,7 +426,7 @@ OpenLayers.Format.OWSContext.v0_3_1 = OpenLayers.Class(OpenLayers.Format.XML, { var node = this.createElementNSPlus("InlineGeometry"), dataExtent = layer.getDataExtent(); if (dataExtent !== null) { - this.writeNode("gml:boundedBy", layer.getDataExtent(), node); + this.writeNode("gml:boundedBy", dataExtent, node); } for (var i=0, len=layer.features.length; i