add support for WFS hit count (1.1) in WFST Format, r=ahocevar (closes #2131)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@10268 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -105,13 +105,31 @@ OpenLayers.Format.WFST.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: read
|
||||
* APIMethod: read
|
||||
* Parse the response from a transaction. Because WFS is split into
|
||||
* Transaction requests (create, update, and delete) and GetFeature
|
||||
* requests (read), this method handles parsing of both types of
|
||||
* responses.
|
||||
*
|
||||
* Parameters:
|
||||
* data - {String | Document} The WFST document to read
|
||||
* options - {Object} Options for the reader
|
||||
*
|
||||
* Valid options properties:
|
||||
* output - {String} either "features" or "object". The default is
|
||||
* "features", which means that the method will return an array of
|
||||
* features. If set to "object", an object with a "features" property
|
||||
* and other properties read by the parser will be returned.
|
||||
*
|
||||
* Returns:
|
||||
* {Array | Object} Output depending on the output option.
|
||||
*/
|
||||
read: function(data) {
|
||||
read: function(data, options) {
|
||||
options = options || {};
|
||||
OpenLayers.Util.applyDefaults(options, {
|
||||
output: "features"
|
||||
});
|
||||
|
||||
if(typeof data == "string") {
|
||||
data = OpenLayers.Format.XML.prototype.read.apply(this, [data]);
|
||||
}
|
||||
@@ -122,7 +140,7 @@ OpenLayers.Format.WFST.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
if(data) {
|
||||
this.readNode(data, obj);
|
||||
}
|
||||
if(obj.features) {
|
||||
if(obj.features && options.output === "features") {
|
||||
obj = obj.features;
|
||||
}
|
||||
return obj;
|
||||
|
||||
@@ -33,6 +33,12 @@ OpenLayers.Format.WFST.v1_1_0 = OpenLayers.Class(
|
||||
* Constructor: OpenLayers.Format.WFST.v1_1_0
|
||||
* A class for parsing and generating WFS v1.1.0 transactions.
|
||||
*
|
||||
* To read additional information like hit count (numberOfFeatures) from
|
||||
* the FeatureCollection, call the <OpenLayers.Format.WFST.v1.read> method
|
||||
* with {output: "object"} as 2nd argument. Note that it is possible to
|
||||
* just request the hit count from a WFS 1.1.0 server with the
|
||||
* resultType="hits" request parameter.
|
||||
*
|
||||
* Parameters:
|
||||
* options - {Object} Optional object whose properties will be set on the
|
||||
* instance.
|
||||
@@ -59,6 +65,12 @@ OpenLayers.Format.WFST.v1_1_0 = OpenLayers.Class(
|
||||
*/
|
||||
readers: {
|
||||
"wfs": OpenLayers.Util.applyDefaults({
|
||||
"FeatureCollection": function(node, obj) {
|
||||
obj.numberOfFeatures = parseInt(node.getAttribute(
|
||||
"numberOfFeatures"));
|
||||
OpenLayers.Format.WFST.v1.prototype.readers["wfs"]["FeatureCollection"].apply(
|
||||
this, arguments);
|
||||
},
|
||||
"TransactionResponse": function(node, obj) {
|
||||
obj.insertIds = [];
|
||||
obj.success = false;
|
||||
|
||||
Reference in New Issue
Block a user