Index: Core/Components/src/Core.Components.DotSpatial/Converter/FeatureBasedMapDataConverter.cs =================================================================== diff -u -r4e205e9a39251d5c382c0fa064cc1a5d7239b5bf -r9d24ac09af3f8bb26b9ac80a7f934572f5d1388f --- Core/Components/src/Core.Components.DotSpatial/Converter/FeatureBasedMapDataConverter.cs (.../FeatureBasedMapDataConverter.cs) (revision 4e205e9a39251d5c382c0fa064cc1a5d7239b5bf) +++ Core/Components/src/Core.Components.DotSpatial/Converter/FeatureBasedMapDataConverter.cs (.../FeatureBasedMapDataConverter.cs) (revision 9d24ac09af3f8bb26b9ac80a7f934572f5d1388f) @@ -96,21 +96,14 @@ ((TMapFeatureLayer) layer).Name = data.Name; layer.ShowLabels = data.ShowLabels; layer.LabelLayer = GetLabelLayer(GetColumnNameLookup(data), layer.DataSet, data.ShowLabels, data.SelectedMetaDataAttribute); - - ConvertLayerProperties((TFeatureBasedMapData) data, (TMapFeatureLayer) layer); + layer.Symbolizer = CreateSymbolizer((TFeatureBasedMapData) data); } protected abstract IMapFeatureLayer CreateLayer(); protected abstract IEnumerable CreateFeatures(MapFeature mapFeature); - /// - /// Converts all general properties (like and ) - /// from to . - /// - /// The data to convert the general properties from. - /// The layer to convert the general properties to. - protected abstract void ConvertLayerProperties(TFeatureBasedMapData data, TMapFeatureLayer layer); + protected abstract IFeatureSymbolizer CreateSymbolizer(TFeatureBasedMapData mapData); /// /// Converts an of to an Index: Core/Components/src/Core.Components.DotSpatial/Converter/MapLineDataConverter.cs =================================================================== diff -u -r4e205e9a39251d5c382c0fa064cc1a5d7239b5bf -r9d24ac09af3f8bb26b9ac80a7f934572f5d1388f --- Core/Components/src/Core.Components.DotSpatial/Converter/MapLineDataConverter.cs (.../MapLineDataConverter.cs) (revision 4e205e9a39251d5c382c0fa064cc1a5d7239b5bf) +++ Core/Components/src/Core.Components.DotSpatial/Converter/MapLineDataConverter.cs (.../MapLineDataConverter.cs) (revision 9d24ac09af3f8bb26b9ac80a7f934572f5d1388f) @@ -47,12 +47,11 @@ yield return new Feature(GetGeometry(mapFeature)); } - protected override void ConvertLayerProperties(MapLineData data, MapLineLayer layer) + protected override IFeatureSymbolizer CreateSymbolizer(MapLineData mapData) { - if (data.Style != null) - { - layer.Symbolizer = new LineSymbolizer(data.Style.Color, data.Style.Color, data.Style.Width, data.Style.Style, LineCap.Round); - } + return mapData.Style != null + ? new LineSymbolizer(mapData.Style.Color, mapData.Style.Color, mapData.Style.Width, mapData.Style.Style, LineCap.Round) + : new LineSymbolizer(); } private static IBasicGeometry GetGeometry(MapFeature mapFeature) Index: Core/Components/src/Core.Components.DotSpatial/Converter/MapPointDataConverter.cs =================================================================== diff -u -r4e205e9a39251d5c382c0fa064cc1a5d7239b5bf -r9d24ac09af3f8bb26b9ac80a7f934572f5d1388f --- Core/Components/src/Core.Components.DotSpatial/Converter/MapPointDataConverter.cs (.../MapPointDataConverter.cs) (revision 4e205e9a39251d5c382c0fa064cc1a5d7239b5bf) +++ Core/Components/src/Core.Components.DotSpatial/Converter/MapPointDataConverter.cs (.../MapPointDataConverter.cs) (revision 9d24ac09af3f8bb26b9ac80a7f934572f5d1388f) @@ -45,12 +45,11 @@ return GetAllMapFeatureCoordinates(mapFeature).Select(c => new Feature(new Point(c.X, c.Y))); } - protected override void ConvertLayerProperties(MapPointData data, MapPointLayer layer) + protected override IFeatureSymbolizer CreateSymbolizer(MapPointData mapData) { - if (data.Style != null) - { - layer.Symbolizer = new PointSymbolizer(data.Style.Color, MapDataHelper.Convert(data.Style.Symbol), data.Style.Size); - } + return mapData.Style != null + ? new PointSymbolizer(mapData.Style.Color, MapDataHelper.Convert(mapData.Style.Symbol), mapData.Style.Size) + : new PointSymbolizer(); } private static IEnumerable GetAllMapFeatureCoordinates(MapFeature feature) Index: Core/Components/src/Core.Components.DotSpatial/Converter/MapPolygonDataConverter.cs =================================================================== diff -u -r4e205e9a39251d5c382c0fa064cc1a5d7239b5bf -r9d24ac09af3f8bb26b9ac80a7f934572f5d1388f --- Core/Components/src/Core.Components.DotSpatial/Converter/MapPolygonDataConverter.cs (.../MapPolygonDataConverter.cs) (revision 4e205e9a39251d5c382c0fa064cc1a5d7239b5bf) +++ Core/Components/src/Core.Components.DotSpatial/Converter/MapPolygonDataConverter.cs (.../MapPolygonDataConverter.cs) (revision 9d24ac09af3f8bb26b9ac80a7f934572f5d1388f) @@ -66,12 +66,11 @@ yield return new Feature(GetGeometry(geometryList)); } - protected override void ConvertLayerProperties(MapPolygonData data, MapPolygonLayer layer) + protected override IFeatureSymbolizer CreateSymbolizer(MapPolygonData mapData) { - if (data.Style != null) - { - layer.Symbolizer = new PolygonSymbolizer(data.Style.FillColor, data.Style.StrokeColor, data.Style.Width); - } + return mapData.Style != null + ? new PolygonSymbolizer(mapData.Style.FillColor, mapData.Style.StrokeColor, mapData.Style.Width) + : new PolygonSymbolizer(); } private static IBasicGeometry GetGeometry(List geometryList) Index: Core/Components/test/Core.Components.DotSpatial.Test/Converter/FeatureBasedMapDataConverterTest.cs =================================================================== diff -u -r7090143d6542dc5b6bfc3b920dc1a8c8dc16accb -r9d24ac09af3f8bb26b9ac80a7f934572f5d1388f --- Core/Components/test/Core.Components.DotSpatial.Test/Converter/FeatureBasedMapDataConverterTest.cs (.../FeatureBasedMapDataConverterTest.cs) (revision 7090143d6542dc5b6bfc3b920dc1a8c8dc16accb) +++ Core/Components/test/Core.Components.DotSpatial.Test/Converter/FeatureBasedMapDataConverterTest.cs (.../FeatureBasedMapDataConverterTest.cs) (revision 9d24ac09af3f8bb26b9ac80a7f934572f5d1388f) @@ -28,6 +28,7 @@ using Core.Components.Gis.Features; using DotSpatial.Controls; using DotSpatial.Data; +using DotSpatial.Symbology; using NUnit.Framework; namespace Core.Components.DotSpatial.Test.Converter @@ -114,9 +115,9 @@ private class TestFeatureBasedMapDataConverter : FeatureBasedMapDataConverter where TFeatureBasedMapData : FeatureBasedMapData { - protected override void ConvertLayerProperties(TFeatureBasedMapData data, MapPointLayer layer) + protected override IFeatureSymbolizer CreateSymbolizer(TFeatureBasedMapData mapData) { - + return new PointSymbolizer(); } protected override IMapFeatureLayer CreateLayer()