Filter formats inherit from GML formats. WFST formats inherit from Filter formats. This lets you do things like set xy on the filter format if you specify an srsName for which wy is false. r=crschmidt (closes #1962)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@8916 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2009-02-28 21:45:01 +00:00
parent a55bef1cba
commit 4d2d90ca51
9 changed files with 20 additions and 29 deletions

View File

@@ -4,6 +4,7 @@
/**
* @requires OpenLayers/Format/Filter.js
* @requires OpenLayers/Format/XML.js
*/
/**

View File

@@ -12,10 +12,11 @@
* Write ogc:Filter version 1.0.0.
*
* Inherits from:
* - <OpenLayers.Format.GML.v2>
* - <OpenLayers.Format.Filter.v1>
*/
OpenLayers.Format.Filter.v1_0_0 = OpenLayers.Class(
OpenLayers.Format.Filter.v1, {
OpenLayers.Format.GML.v2, OpenLayers.Format.Filter.v1, {
/**
* Constant: VERSION
@@ -39,7 +40,7 @@ OpenLayers.Format.Filter.v1_0_0 = OpenLayers.Class(
* this instance.
*/
initialize: function(options) {
OpenLayers.Format.Filter.v1.prototype.initialize.apply(
OpenLayers.Format.GML.v2.prototype.initialize.apply(
this, [options]
);
},

View File

@@ -22,7 +22,7 @@
* - <OpenLayers.Format.Filter.v1>
*/
OpenLayers.Format.Filter.v1_1_0 = OpenLayers.Class(
OpenLayers.Format.Filter.v1, {
OpenLayers.Format.GML.v3, OpenLayers.Format.Filter.v1, {
/**
* Constant: VERSION
@@ -46,7 +46,7 @@ OpenLayers.Format.Filter.v1_1_0 = OpenLayers.Class(
* this instance.
*/
initialize: function(options) {
OpenLayers.Format.Filter.v1.prototype.initialize.apply(
OpenLayers.Format.GML.v3.prototype.initialize.apply(
this, [options]
);
},

View File

@@ -122,8 +122,10 @@ OpenLayers.Format.GML.Base = OpenLayers.Class(OpenLayers.Format.XML, {
*/
initialize: function(options) {
OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
this.setNamespace("feature", options.featureNS);
this.setGeometryTypes();
if(options && options.featureNS) {
this.setNamespace("feature", options.featureNS);
}
},
/**

View File

@@ -81,26 +81,11 @@ OpenLayers.Format.WFST.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
* this instance.
*/
initialize: function(options) {
if(options.featureNS) {
this.namespaces = OpenLayers.Util.extend(
{feature: options.featureNS},
OpenLayers.Format.WFST.v1.prototype.namespaces
);
}
// set state name mapping
this.stateName = {};
this.stateName[OpenLayers.State.INSERT] = "wfs:Insert";
this.stateName[OpenLayers.State.UPDATE] = "wfs:Update";
this.stateName[OpenLayers.State.DELETE] = "wfs:Delete";
// extend format with misc properties from filter and gml formats
var filterProto = OpenLayers.Format.Filter.v1.prototype;
var gmlProto = OpenLayers.Format.GML.Base.prototype;
OpenLayers.Util.extend(this, {
readOgcExpression: filterProto.readOgcExpression,
getFilterType: filterProto.getFilterType,
filterMap: filterProto.filterMap,
regExes: gmlProto.regExes
});
OpenLayers.Format.XML.prototype.initialize.apply(this, [options]);
},

View File

@@ -1,6 +1,5 @@
/**
* @requires OpenLayers/Format/WFST/v1.js
* @requires OpenLayers/Format/GML/v2.js
* @requires OpenLayers/Format/Filter/v1_0_0.js
*/
@@ -10,9 +9,11 @@
* <OpenLayers.Format.WFST.v1_0_0> constructor.
*
* Inherits from:
* - <OpenLayers.Format.Filter.v1_0_0>
* - <OpenLayers.Format.WFST.v1>
*/
OpenLayers.Format.WFST.v1_0_0 = OpenLayers.Class(OpenLayers.Format.WFST.v1, {
OpenLayers.Format.WFST.v1_0_0 = OpenLayers.Class(
OpenLayers.Format.Filter.v1_0_0, OpenLayers.Format.WFST.v1, {
/**
* Property: version
@@ -44,8 +45,8 @@ OpenLayers.Format.WFST.v1_0_0 = OpenLayers.Class(OpenLayers.Format.WFST.v1, {
* geometryName - {String} Name of geometry attribute. Default is 'the_geom'.
*/
initialize: function(options) {
OpenLayers.Format.Filter.v1_0_0.prototype.initialize.apply(this, [options]);
OpenLayers.Format.WFST.v1.prototype.initialize.apply(this, [options]);
OpenLayers.Format.GML.v2.prototype.setGeometryTypes.call(this);
},
/**

View File

@@ -1,6 +1,5 @@
/**
* @requires OpenLayers/Format/WFST/v1.js
* @requires OpenLayers/Format/GML/v3.js
* @requires OpenLayers/Format/Filter/v1_1_0.js
*/
@@ -10,9 +9,11 @@
* <OpenLayers.Format.WFST.v1_1_0> constructor.
*
* Inherits from:
* - <OpenLayers.Format.Filter.v1_1_0>
* - <OpenLayers.Format.WFST.v1>
*/
OpenLayers.Format.WFST.v1_1_0 = OpenLayers.Class(OpenLayers.Format.WFST.v1, {
OpenLayers.Format.WFST.v1_1_0 = OpenLayers.Class(
OpenLayers.Format.Filter.v1_1_0, OpenLayers.Format.WFST.v1, {
/**
* Property: version
@@ -44,8 +45,8 @@ OpenLayers.Format.WFST.v1_1_0 = OpenLayers.Class(OpenLayers.Format.WFST.v1, {
* geometryName - {String} Name of geometry attribute. Default is 'the_geom'.
*/
initialize: function(options) {
OpenLayers.Format.Filter.v1_1_0.prototype.initialize.apply(this, [options]);
OpenLayers.Format.WFST.v1.prototype.initialize.apply(this, [options]);
OpenLayers.Format.GML.v3.prototype.setGeometryTypes.call(this);
},
/**

View File

@@ -67,7 +67,7 @@
'<ogc:BBOX>' +
'<ogc:PropertyName>the_geom</ogc:PropertyName>' +
'<gml:Box xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326">' +
'<gml:coordinates decimal="." cs="," ts=" ">-90,-180 90,180</gml:coordinates>' +
'<gml:coordinates decimal="." cs="," ts=" ">-180,-90 180,90</gml:coordinates>' +
'</gml:Box>' +
'</ogc:BBOX>' +
'</ogc:Filter>';

View File

@@ -155,8 +155,8 @@
'<ogc:BBOX>' +
'<ogc:PropertyName>the_geom</ogc:PropertyName>' +
'<gml:Envelope xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326">' +
'<gml:lowerCorner>-90 -180</gml:lowerCorner>' +
'<gml:upperCorner>90 180</gml:upperCorner>' +
'<gml:lowerCorner>-180 -90</gml:lowerCorner>' +
'<gml:upperCorner>180 90</gml:upperCorner>' +
'</gml:Envelope>' +
'</ogc:BBOX>' +
'</ogc:Filter>';