Add a separate test case for write

This commit is contained in:
Bart van den Eijnden
2013-10-14 15:48:56 +02:00
committed by Bart van den Eijnden
parent 91e834674c
commit 429a2e455b
5 changed files with 152 additions and 60 deletions

View File

@@ -1,6 +1,5 @@
goog.provide('ol.parser.ogc.SLD');
goog.require('ol.parser.ogc.SLD_v1_0_0');
goog.require('ol.parser.ogc.SLD_v1_0_0_GeoServer');
goog.require('ol.parser.ogc.Versioned');
@@ -10,13 +9,6 @@ goog.require('ol.parser.ogc.Versioned');
ol.ENABLE_SLD_1_0_0 = true;
/**
* @define {boolean} Whether to enable SLD version 1.0.0.
* GeoServer profile.
*/
ol.ENABLE_SLD_1_0_0_GEOSERVER = true;
/**
* @constructor
@@ -30,9 +22,6 @@ ol.parser.ogc.SLD = function(opt_options) {
if (ol.ENABLE_SLD_1_0_0) {
this.parsers['v1_0_0'] = ol.parser.ogc.SLD_v1_0_0;
}
if (ol.ENABLE_SLD_1_0_0_GEOSERVER) {
this.parsers['v1_0_0_GEOSERVER'] = ol.parser.ogc.SLD_v1_0_0_GeoServer;
}
goog.base(this, opt_options);
};
goog.inherits(ol.parser.ogc.SLD, ol.parser.ogc.Versioned);

View File

@@ -84,7 +84,8 @@ ol.parser.ogc.SLD_v1 = function() {
'TextSymbolizer': function(node, rule) {
var config = {};
this.readChildNodes(node, config);
config.color = config.fill.fillColor;
config.color = goog.isDef(config.fill) ? config.fill.fillColor :
ol.parser.ogc.SLD_v1.defaults_.fontColor;
delete config.fill;
config.zIndex = this.featureTypeCounter;
rule.symbolizers.push(
@@ -639,7 +640,8 @@ ol.parser.ogc.SLD_v1.defaults_ = {
haloColor: '#FFFFFF',
haloOpacity: 1,
haloRadius: 1,
fillColor: '#808080'
fillColor: '#808080',
fontColor: '#000000'
};

View File

@@ -1,43 +0,0 @@
goog.provide('ol.parser.ogc.SLD_v1_0_0_GeoServer');
goog.require('goog.functions');
goog.require('goog.object');
goog.require('ol.parser.ogc.SLD_v1_0_0');
/**
* @constructor
* @extends {ol.parser.ogc.SLD_v1_0_0}
*/
ol.parser.ogc.SLD_v1_0_0_GeoServer = function() {
goog.base(this);
this.profile = 'GeoServer';
goog.object.extend(this.readers['http://www.opengis.net/sld'], {
'Priority': function(node, obj) {
var ogcreaders = this.readers['http://www.opengis.net/ogc'];
var value = ogcreaders._expression.call(this, node);
if (value) {
obj.priority = value;
}
},
'VendorOption': function(node, obj) {
if (!goog.isDef(obj.vendorOptions)) {
obj.vendorOptions = {};
}
obj.vendorOptions[node.getAttribute('name')] =
this.getChildValue(node);
},
'TextSymbolizer': goog.functions.sequence(
this.readers['http://www.opengis.net/sld']['TextSymbolizer'],
function(node, rule) {
var symbolizer = rule.symbolizers[rule.symbolizers.length - 1];
if (!goog.isDef(symbolizer.graphic)) {
symbolizer.graphic = false;
}
}
)
});
};
goog.inherits(ol.parser.ogc.SLD_v1_0_0_GeoServer,
ol.parser.ogc.SLD_v1_0_0);