Skip to content

Commit 3ad8203

Browse files
committed
Variety of changes based on feedback from bartvde
1 parent f0b9c49 commit 3ad8203

File tree

8 files changed

+44
-81
lines changed

8 files changed

+44
-81
lines changed

lib/OpenLayers/Format/GML/v3.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ OpenLayers.Format.GML.v3 = OpenLayers.Class(OpenLayers.Format.GML.Base, {
225225
this.readChildNodes(node, obj);
226226
},
227227
"Envelope": function(node, container) {
228-
var obj = {points: []};
228+
var obj = {points: new Array(2)};
229229
this.readChildNodes(node, obj);
230230
if(!container.components) {
231231
container.components = [];

lib/OpenLayers/Format/WCSCapabilities/v1_0_0.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ OpenLayers.Format.WCSCapabilities.v1_0_0 = OpenLayers.Class(
6969
// Rearrange things a little to get a tree that is
7070
// compatible with 1.1.0
7171
var providerName = children.serviceContact.providerName;
72-
children.serviceContact.providerName = undefined;
72+
delete children.serviceContact.providerName;
7373

7474
obj.serviceProvider = {
7575
providerName: providerName,
@@ -147,7 +147,8 @@ OpenLayers.Format.WCSCapabilities.v1_0_0 = OpenLayers.Class(
147147
contentMetadata.push(coverageOfferingBrief);
148148
},
149149
"name": function(node, serviceOrCoverageOfferingBrief) {
150-
if(node.parentNode.nodeName === "Service") {
150+
// split/pop used to strip off any namespace prefixes
151+
if(node.parentNode.nodeName.split(':').pop() === "Service") {
151152
// We're parsing a service description
152153
serviceOrCoverageOfferingBrief.title = this.getChildValue(node);
153154
}
@@ -157,7 +158,8 @@ OpenLayers.Format.WCSCapabilities.v1_0_0 = OpenLayers.Class(
157158
}
158159
},
159160
"label": function(node, serviceOrCoverageOfferingBrief) {
160-
if(node.parentNode.nodeName === "Service") {
161+
// split/pop used to strip off any namespace prefixes
162+
if(node.parentNode.nodeName.split(':').pop() === "Service") {
161163
// We're parsing a service description
162164
serviceOrCoverageOfferingBrief.abstract = this.getChildValue(node);
163165
}

lib/OpenLayers/Format/WCSDescribeCoverage.js

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,7 @@ OpenLayers.Format.WCSDescribeCoverage = OpenLayers.Class(OpenLayers.Format.XML.V
4141
* Returns:
4242
* {Array} List of coverage descriptions.
4343
*/
44-
45-
/**
46-
* Method: read
47-
*
48-
* Parameters:
49-
* data - {DOMElement|String} A WFS DescribeFeatureType document.
50-
*
51-
* Returns:
52-
* {Object} An object representing the WFS DescribeFeatureType response.
53-
*/
54-
44+
5545
CLASS_NAME: "OpenLayers.Format.WCSDescribeCoverage"
5646

5747
});

lib/OpenLayers/Format/WCSDescribeCoverage/v1.js

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
/**
77
* @requires OpenLayers/Format/WCSCapabilities.js
8+
* @requires OpenLayers/Format/XML.js
89
*/
910

1011
/**
@@ -27,17 +28,6 @@ OpenLayers.Format.WCSDescribeCoverage.v1 = OpenLayers.Class(
2728
*/
2829
defaultPrefix: "wcs",
2930

30-
/**
31-
* APIMethod: read
32-
* Read capabilities data from a string, and return a list of coverages.
33-
*
34-
* Parameters:
35-
* data - {String} or {DOMElement} data to read/parse.
36-
*
37-
* Returns:
38-
* {Array} List of named coverages.
39-
*/
40-
4131
/**
4232
* APIMethod: read
4333
*

lib/OpenLayers/Format/WCSDescribeCoverage/v1_0_0.js

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
* @requires OpenLayers/Format/WCSDescribeCoverage/v1.js
88
* @requires OpenLayers/Format/OWSCommon/v1_0_0.js
99
* @requires OpenLayers/Format/GML/v3.js
10+
* @requires OpenLayers.Format.WCSCapabilities.v1_0_0.js
1011
*/
1112

1213
/**
1314
* Class: OpenLayers.Format.WCSDescribeCoverage/v1_0_0
14-
* Read WCS Capabilities version 1.0.0.
15+
* Read WCS DescribeCoverage version 1.0.0.
1516
*
1617
* Inherits from:
1718
* - <OpenLayers.Format.WCSDescribeCoverage.v1>
@@ -33,7 +34,7 @@ OpenLayers.Format.WCSDescribeCoverage.v1_0_0 = OpenLayers.Class(
3334

3435
/**
3536
* Constructor: OpenLayers.Format.WCSDescribeCoverage.v1_0_0
36-
* Create a new parser for WCS capabilities version 1.0.0.
37+
* Create a new parser for WCS DescribeCoverage version 1.0.0.
3738
*
3839
* Parameters:
3940
* options - {Object} An optional object whose properties will be set on
@@ -49,7 +50,7 @@ OpenLayers.Format.WCSDescribeCoverage.v1_0_0 = OpenLayers.Class(
4950
* from the parent.
5051
*/
5152
readers: {
52-
"wcs": OpenLayers.Util.applyDefaults({
53+
"wcs": {
5354
// Root object, contains one or more CoverageDecription entries
5455
// In 1.0.0, this is CoverageDescription, in 1.1.0,
5556
// it will be CoverageDescriptions (plural)
@@ -60,12 +61,8 @@ OpenLayers.Format.WCSDescribeCoverage.v1_0_0 = OpenLayers.Class(
6061
// Make a list of keys for easy access
6162
obj.coverageDescriptionKeys = [];
6263
for(var key in obj.coverageDescriptions) {
63-
if(obj.coverageDescriptions.hasOwnProperty(key)) {
64-
obj.coverageDescriptionKeys.push(key);
65-
}
64+
obj.coverageDescriptionKeys.push(key);
6665
}
67-
// This would be more concise, but only in newer browsers:
68-
// obj.coverageDescriptionKeys = Object.keys(obj.coverageDescriptions);
6966
},
7067
// In 1.1.0, this element is called CoverageDescription. We'll use
7168
// that name because it's... better.
@@ -91,52 +88,54 @@ OpenLayers.Format.WCSDescribeCoverage.v1_0_0 = OpenLayers.Class(
9188
// so we can reuse that reader
9289
"lonLatEnvelope": function(node, description) {
9390
OpenLayers.Format.WCSCapabilities.v1_0_0.prototype.readers.wcs.lonLatEnvelope.call(this, node, description);
94-
var nodeList = this.getElementsByTagNameNS(node, "http://www.opengis.net/gml", "pos");
9591
},
9692
// Essentially the same as domain in 1.1.0
9793
"domainSet": function(node, description) {
9894
description.domain = {};
99-
this.readChildNodes(node, description.domain);
95+
this.readChildNodes(node, description.domain);
10096
},
10197
"spatialDomain": function(node, domain) {
102-
domain.spatialDomain = {};
103-
domain.spatialDomain.boundingBoxes = {};
98+
domain.spatialDomain = { boundingBoxes: {} };
10499
this.readChildNodes(node, domain.spatialDomain);
105100
},
106101
"nativeCRSs": function(node, description) {
107-
if(!!!description.nativeCRSs)
102+
if(!description.nativeCRSs) {
108103
description.nativeCRSs = [];
109-
var crs;
110-
crs = this.getChildValue(node);
104+
}
105+
var crs = this.getChildValue(node);
111106
description.nativeCRSs.push(crs);
112107
},
113108
"supportedCRSs": function(node, description) {
114-
if(!!!description.supportedCRSs)
109+
if(!description.supportedCRSs) {
115110
description.supportedCRSs = [];
111+
}
116112
this.readChildNodes(node, description.supportedCRSs)
117113
},
118114
// There will be several of these within the supportedCRSs tag
119115
"requestResponseCRSs" : function(node, supportedCRSs) {
120116
supportedCRSs.push(this.getChildValue(node));
121117
},
122118
"supportedFormats": function(node, description) {
123-
if(!!!description.supportedFormats)
119+
if(!description.supportedFormats) {
124120
description.supportedFormats = [];
121+
}
125122
this.readChildNodes(node, description.supportedFormats)
126123
},
127124
// There will be several of these within the supportedFormats tag
128125
"formats" : function(node, supportedFormats) {
129126
supportedFormats.push(this.getChildValue(node));
130127
},
131-
}, OpenLayers.Format.WCSDescribeCoverage.v1.prototype.readers["wcs"]),
128+
},
132129

133130
"ows": OpenLayers.Format.OWSCommon.v1_0_0.prototype.readers["ows"],
134131
"gml": OpenLayers.Util.applyDefaults({
135132
// Use custom Envelope reader that understands the srsName attribute
136133
"Envelope": function(node, spatialDomain) {
137134
var srsName = node.getAttribute("srsName");
138-
if(!!!srsName) // No SRS? What does this envelope mean?!?
135+
if(!srsName) { // No SRS? What does this envelope mean?!?
139136
return;
137+
}
138+
140139
var obj = {points: []};
141140
this.readChildNodes(node, obj);
142141

@@ -145,7 +144,7 @@ OpenLayers.Format.WCSDescribeCoverage.v1_0_0 = OpenLayers.Class(
145144
var bounds = new OpenLayers.Bounds(min.x, min.y, max.x, max.y);
146145
spatialDomain.boundingBoxes[srsName] = bounds;
147146
}
148-
}, OpenLayers.Format.GML.v3.prototype.readers["gml"])
147+
}, OpenLayers.Format.GML.v3.prototype.readers["gml"])
149148
},
150149

151150
CLASS_NAME: "OpenLayers.Format.WCSDescribeCoverage.v1_0_0"

lib/OpenLayers/Format/WCSDescribeCoverage/v1_1_0.js

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
/**
77
* @requires OpenLayers/Format/WCSDescribeCoverage/v1.js
88
* @requires OpenLayers/Format/OWSCommon/v1_1_0.js
9+
* @requires OpenLayers/BaseTypes/Bounds.js
910
*/
1011

1112
/**
1213
* Class: OpenLayers.Format.WCSDescribeCoverage/v1_1_0
13-
* Read WCS Capabilities version 1.1.0.
14+
* Read WCS DescribeCoverage version 1.1.0.
1415
*
1516
* Inherits from:
1617
* - <OpenLayers.Format.WCSDescribeCoverage.v1>
@@ -31,7 +32,7 @@ OpenLayers.Format.WCSDescribeCoverage.v1_1_0 = OpenLayers.Class(
3132

3233
/**
3334
* Constructor: OpenLayers.Format.WCSDescribeCoverage.v1_1_0
34-
* Create a new parser for WCS capabilities version 1.1.0.
35+
* Create a new parser for WCS DescribeCoverage version 1.1.0.
3536
*
3637
* Parameters:
3738
* options - {Object} An optional object whose properties will be set on
@@ -47,8 +48,8 @@ OpenLayers.Format.WCSDescribeCoverage.v1_1_0 = OpenLayers.Class(
4748
* from the parent.
4849
*/
4950
readers: {
50-
"wcs": OpenLayers.Util.applyDefaults({
51-
// Root object, contains one or more CoverageDecription entries
51+
"wcs": {
52+
// Root object, contains one or more CoverageDescription entries
5253
// In 1.0.0, this was CoverageDescription, in 1.1.0, it's
5354
// CoverageDescriptions (plural)
5455
"CoverageDescriptions": function(node, obj) {
@@ -57,9 +58,7 @@ OpenLayers.Format.WCSDescribeCoverage.v1_1_0 = OpenLayers.Class(
5758

5859
obj.coverageDescriptionKeys = [];
5960
for(var key in obj.coverageDescriptions) {
60-
if(obj.coverageDescriptions.hasOwnProperty(key)) {
61-
obj.coverageDescriptionKeys.push(key);
62-
}
61+
obj.coverageDescriptionKeys.push(key);
6362
}
6463
// This would be more efficient, but only in newer browsers:
6564
// obj.coverageDescriptionKeys = Object.keys(obj.coverageDescriptions);
@@ -132,18 +131,22 @@ OpenLayers.Format.WCSDescribeCoverage.v1_1_0 = OpenLayers.Class(
132131
gridCRS.gridCS = this.getChildValue(node);
133132
},
134133
"SupportedCRS": function(node, description) {
135-
if(!!!description.supportedCRSs)
134+
if(!!!description.supportedCRSs) {
136135
description.supportedCRSs = [];
136+
}
137+
137138
var crs = this.getChildValue(node);
138139
description.supportedCRSs.push(crs);
139140
},
140141
"SupportedFormat": function(node, description) {
141-
if(!!!description.supportedFormats)
142+
if(!!!description.supportedFormats) {
142143
description.supportedFormats = [];
144+
}
145+
143146
var format = this.getChildValue(node);
144147
description.supportedFormats.push(format);
145148
}
146-
}, OpenLayers.Format.WCSDescribeCoverage.v1.prototype.readers["wcs"]),
149+
},
147150
"ows": OpenLayers.Format.OWSCommon.v1_1_0.prototype.readers["ows"]
148151
},
149152

tests/Format/WCSDescribeCoverage.html

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,6 @@
88

99
var parser = new OpenLayers.Format.WCSDescribeCoverage();
1010

11-
// // version 1.0.0
12-
// // Save original reader
13-
// var _v1_0_0 = OpenLayers.Format.WCSDescribeCoverage.v1_0_0.prototype.read;
14-
// OpenLayers.Format.WCSDescribeCoverage.v1_0_0.prototype.read = function() {
15-
// t.ok(true, "Version 1.0.0 detected");
16-
// return {};
17-
// }
18-
//
19-
// var text =
20-
// '<?xml version="1.0" encoding="UTF-8"?>' +
21-
// '<CoverageDescription xmlns="http://www.opengis.net/wcs" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" updateSequence="0" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/describeCoverage.xsd">';
22-
//
23-
// var res = parser.read(text);
24-
// t.eq(res.version, "1.0.0", "version 1.0.0 written to result object");
25-
//
26-
// // Restore original reader
27-
// OpenLayers.Format.WCSDescribeCoverage.v1_0_0.prototype.read = _v1_0_0;
28-
29-
30-
// version 1.1.0
31-
3211
// Save original reader
3312
var _v1_1_0 = OpenLayers.Format.WCSDescribeCoverage.v1_1_0.prototype.read;
3413

tests/Format/WFSCapabilities.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// version 1.0.0
1212

1313
// Save original reader
14-
var _v1_0_0 = OpenLayers.Format.WCSCapabilities.v1_0_0.prototype.read;
14+
var _v1_0_0 = OpenLayers.Format.WFSCapabilities.v1_0_0.prototype.read;
1515

1616
OpenLayers.Format.WFSCapabilities.v1_0_0.prototype.read = function() {
1717
t.ok(true, "Version 1.0.0 detected");
@@ -25,13 +25,13 @@
2525
t.eq(res.version, "1.0.0", "version 1.0.0 written to result object");
2626

2727
// Restore original reader
28-
OpenLayers.Format.WCSCapabilities.v1_1_0.prototype.read = _v1_0_0;
28+
OpenLayers.Format.WFSCapabilities.v1_1_0.prototype.read = _v1_0_0;
2929

3030

3131
// version 1.1.0
3232

3333
// Save original reader
34-
var _v1_1_0 = OpenLayers.Format.WCSCapabilities.v1_1_0.prototype.read;
34+
var _v1_1_0 = OpenLayers.Format.WFSCapabilities.v1_1_0.prototype.read;
3535

3636
OpenLayers.Format.WFSCapabilities.v1_1_0.prototype.read = function() {
3737
t.ok(true, "Version 1.1.0 detected");
@@ -45,7 +45,7 @@
4545
t.eq(res.version, "1.1.0", "version 1.1.0 written to result object");
4646

4747
// Restore original reader
48-
OpenLayers.Format.WCSCapabilities.v1_1_0.prototype.read = _v1_1_0;
48+
OpenLayers.Format.WFSCapabilities.v1_1_0.prototype.read = _v1_1_0;
4949
}
5050

5151
</script>

0 commit comments

Comments
 (0)