[mapguide-commits] r8008 - in trunk/MgDev: Server/src/Core Server/src/PostBuild Server/src/Services/Rendering Server/src/UnitTesting UnitTest/TestData/MappingService

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Apr 1 06:17:44 PDT 2014


Author: jng
Date: 2014-04-01 06:17:43 -0700 (Tue, 01 Apr 2014)
New Revision: 8008

Added:
   trunk/MgDev/UnitTest/TestData/MappingService/UT_Rail.wdf
   trunk/MgDev/UnitTest/TestData/MappingService/UT_Rail_Watermark.ldf
Modified:
   trunk/MgDev/Server/src/Core/Makefile.am
   trunk/MgDev/Server/src/PostBuild/PostBuild.mak
   trunk/MgDev/Server/src/Services/Rendering/ServerRenderingService.cpp
   trunk/MgDev/Server/src/UnitTesting/TestRenderingService.cpp
   trunk/MgDev/Server/src/UnitTesting/TestRenderingService.h
Log:
#2420: Don't render layer watermarks for layers that aren't visible. Unit tests included.

Modified: trunk/MgDev/Server/src/Core/Makefile.am
===================================================================
--- trunk/MgDev/Server/src/Core/Makefile.am	2014-03-31 12:31:54 UTC (rev 8007)
+++ trunk/MgDev/Server/src/Core/Makefile.am	2014-04-01 13:17:43 UTC (rev 8008)
@@ -223,6 +223,8 @@
 	@cp -f ../../../UnitTest/TestData/MappingService/UT_Rail.sdf ../UnitTestFiles
 	@cp -f ../../../UnitTest/TestData/MappingService/UT_Rail.fs ../UnitTestFiles
 	@cp -f ../../../UnitTest/TestData/MappingService/UT_Rail.ldf ../UnitTestFiles
+	@cp -f ../../../UnitTest/TestData/MappingService/UT_Rail.wdf ../UnitTestFiles
+	@cp -f ../../../UnitTest/TestData/MappingService/UT_Rail_Watermark.ldf ../UnitTestFiles
 	@cp -f ../../../UnitTest/TestData/MappingService/UT_RotatedPointStyles.ldf ../UnitTestFiles
 	@cp -f ../../../UnitTest/TestData/MappingService/UT_SheboyganWithWatermark.mdf ../UnitTestFiles
 	@cp -f ../../../UnitTest/TestData/MappingService/UT_PoweredByMapGuide.wdf ../UnitTestFiles

Modified: trunk/MgDev/Server/src/PostBuild/PostBuild.mak
===================================================================
--- trunk/MgDev/Server/src/PostBuild/PostBuild.mak	2014-03-31 12:31:54 UTC (rev 8007)
+++ trunk/MgDev/Server/src/PostBuild/PostBuild.mak	2014-04-01 13:17:43 UTC (rev 8008)
@@ -189,6 +189,8 @@
         ..\..\bin\UnitTestFiles\UT_Rail.sdf \
         ..\..\bin\UnitTestFiles\UT_Rail.fs \
         ..\..\bin\UnitTestFiles\UT_Rail.ldf \
+        ..\..\bin\UnitTestFiles\UT_Rail.wdf \
+        ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf \
         ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf \
         ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf \
         ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf \
@@ -456,6 +458,8 @@
         ..\..\bin\UnitTestFiles\UT_Rail.sdf \
         ..\..\bin\UnitTestFiles\UT_Rail.fs \
         ..\..\bin\UnitTestFiles\UT_Rail.ldf \
+        ..\..\bin\UnitTestFiles\UT_Rail.wdf \
+        ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf \
         ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf \
         ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf \
         ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf \
@@ -723,6 +727,8 @@
           ..\..\bin\UnitTestFiles\UT_Rail.sdf \
           ..\..\bin\UnitTestFiles\UT_Rail.fs \
           ..\..\bin\UnitTestFiles\UT_Rail.ldf \
+          ..\..\bin\UnitTestFiles\UT_Rail.wdf \
+          ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf \
           ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf \
           ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf \
           ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf \
@@ -990,6 +996,8 @@
           ..\..\bin\UnitTestFiles\UT_Rail.sdf \
           ..\..\bin\UnitTestFiles\UT_Rail.fs \
           ..\..\bin\UnitTestFiles\UT_Rail.ldf \
+          ..\..\bin\UnitTestFiles\UT_Rail.wdf \
+          ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf \
           ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf \
           ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf \
           ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf \
@@ -1130,6 +1138,8 @@
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.sdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.fs                     del /F ..\..\bin\UnitTestFiles\UT_Rail.fs
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.ldf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.ldf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail.wdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.wdf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf          del /F ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf                del /F ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf       del /F ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf                del /F ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf
@@ -1265,6 +1275,8 @@
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.sdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.fs                     del /F ..\..\bin\UnitTestFiles\UT_Rail.fs
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.ldf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.ldf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail.wdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.wdf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf          del /F ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf                del /F ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf       del /F ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf                del /F ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf
@@ -1400,6 +1412,8 @@
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.sdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.fs                     del /F ..\..\bin\UnitTestFiles\UT_Rail.fs
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.ldf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.ldf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail.wdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.wdf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf          del /F ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf                del /F ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf       del /F ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf                del /F ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf
@@ -1533,6 +1547,8 @@
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.sdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.fs                     del /F ..\..\bin\UnitTestFiles\UT_Rail.fs
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.ldf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.ldf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail.wdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.wdf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf          del /F ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf                del /F ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf       del /F ..\..\bin\UnitTestFiles\UT_MultiCTSWithTheme.ldf
     if EXIST ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf                del /F ..\..\bin\UnitTestFiles\UT_MultiFTS.ldf
@@ -1793,6 +1809,8 @@
         ..\..\bin\UnitTestFiles\UT_Rail.sdf \
         ..\..\bin\UnitTestFiles\UT_Rail.fs \
         ..\..\bin\UnitTestFiles\UT_Rail.ldf \
+        ..\..\bin\UnitTestFiles\UT_Rail.wdf \
+        ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf \
         ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource \
         ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf \
         ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource \
@@ -2053,6 +2071,8 @@
         ..\..\bin\UnitTestFiles\UT_Rail.sdf \
         ..\..\bin\UnitTestFiles\UT_Rail.fs \
         ..\..\bin\UnitTestFiles\UT_Rail.ldf \
+        ..\..\bin\UnitTestFiles\UT_Rail.wdf \
+        ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf \
         ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource \
         ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf \
         ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource \
@@ -2313,6 +2333,8 @@
           ..\..\bin\UnitTestFiles\UT_Rail.sdf \
           ..\..\bin\UnitTestFiles\UT_Rail.fs \
           ..\..\bin\UnitTestFiles\UT_Rail.ldf \
+          ..\..\bin\UnitTestFiles\UT_Rail.wdf \
+          ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf \
           ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource \
           ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf \
           ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource \
@@ -2573,6 +2595,8 @@
           ..\..\bin\UnitTestFiles\UT_Rail.sdf \
           ..\..\bin\UnitTestFiles\UT_Rail.fs \
           ..\..\bin\UnitTestFiles\UT_Rail.ldf \
+          ..\..\bin\UnitTestFiles\UT_Rail.wdf \
+          ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf \
           ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource \
           ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf \
           ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource \
@@ -2706,6 +2730,8 @@
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.sdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.fs                     del /F ..\..\bin\UnitTestFiles\UT_Rail.fs
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.ldf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.ldf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail.wdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.wdf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf          del /F ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource del /F ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf          del /F ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource del /F ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource
@@ -2834,6 +2860,8 @@
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.sdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.fs                     del /F ..\..\bin\UnitTestFiles\UT_Rail.fs
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.ldf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.ldf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail.wdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.wdf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf          del /F ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource del /F ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf          del /F ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource del /F ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource
@@ -2962,6 +2990,8 @@
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.sdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.fs                     del /F ..\..\bin\UnitTestFiles\UT_Rail.fs
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.ldf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.ldf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail.wdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.wdf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf          del /F ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource del /F ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf          del /F ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource del /F ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource
@@ -3088,6 +3118,8 @@
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.sdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.sdf
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.fs                     del /F ..\..\bin\UnitTestFiles\UT_Rail.fs
     if EXIST ..\..\bin\UnitTestFiles\UT_Rail.ldf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.ldf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail.wdf                    del /F ..\..\bin\UnitTestFiles\UT_Rail.wdf
+    if EXIST ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf          del /F ..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource del /F ..\..\bin\UnitTestFiles\Sheboygan_Parcels.FeatureSource
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf          del /F ..\..\bin\UnitTestFiles\Sheboygan_Parcels.sdf
     if EXIST ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource del /F ..\..\bin\UnitTestFiles\Sheboygan_BuildingOutlines.FeatureSource
@@ -3186,6 +3218,8 @@
 "..\..\..\UnitTest\TestData\MappingService\UT_Rail.sdf" :
 "..\..\..\UnitTest\TestData\MappingService\UT_Rail.fs" :
 "..\..\..\UnitTest\TestData\MappingService\UT_Rail.ldf" :
+"..\..\..\UnitTest\TestData\MappingService\UT_Rail.wdf" :
+"..\..\..\UnitTest\TestData\MappingService\UT_Rail_Watermark.ldf" :
 "..\..\..\UnitTestFiles\UT_MultiCTS.ldf" :
 "..\..\..\UnitTestFiles\UT_MultiCTSWithTheme.ldf" :
 "..\..\..\UnitTestFiles\UT_MultiFTS.ldf" :
@@ -3393,6 +3427,14 @@
     if NOT EXIST ..\..\bin\UnitTestFiles\nul mkdir ..\..\bin\UnitTestFiles
     if EXIST "..\..\..\UnitTest\TestData\MappingService\UT_Rail.ldf" xcopy /r /d /y "..\..\..\UnitTest\TestData\MappingService\UT_Rail.ldf" ..\..\bin\UnitTestFiles\
 
+..\..\bin\UnitTestFiles\UT_Rail.wdf : "..\..\..\UnitTest\TestData\MappingService\UT_Rail.wdf"
+    if NOT EXIST ..\..\bin\UnitTestFiles\nul mkdir ..\..\bin\UnitTestFiles
+    if EXIST "..\..\..\UnitTest\TestData\MappingService\UT_Rail.wdf" xcopy /r /d /y "..\..\..\UnitTest\TestData\MappingService\UT_Rail.wdf" ..\..\bin\UnitTestFiles\
+
+..\..\bin\UnitTestFiles\UT_Rail_Watermark.ldf : "..\..\..\UnitTest\TestData\MappingService\UT_Rail_Watermark.ldf"
+    if NOT EXIST ..\..\bin\UnitTestFiles\nul mkdir ..\..\bin\UnitTestFiles
+    if EXIST "..\..\..\UnitTest\TestData\MappingService\UT_Rail_Watermark.ldf" xcopy /r /d /y "..\..\..\UnitTest\TestData\MappingService\UT_Rail_Watermark.ldf" ..\..\bin\UnitTestFiles\
+
 ..\..\bin\UnitTestFiles\UT_MultiCTS.ldf : "..\..\..\UnitTest\TestData\MappingService\UT_MultiCTS.ldf"
     if NOT EXIST ..\..\bin\UnitTestFiles\nul mkdir ..\..\bin\UnitTestFiles
     if EXIST "..\..\..\UnitTest\TestData\MappingService\UT_MultiCTS.ldf" xcopy /r /d /y "..\..\..\UnitTest\TestData\MappingService\UT_MultiCTS.ldf" ..\..\bin\UnitTestFiles\

Modified: trunk/MgDev/Server/src/Services/Rendering/ServerRenderingService.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Rendering/ServerRenderingService.cpp	2014-03-31 12:31:54 UTC (rev 8007)
+++ trunk/MgDev/Server/src/Services/Rendering/ServerRenderingService.cpp	2014-04-01 13:17:43 UTC (rev 8008)
@@ -1762,6 +1762,9 @@
     for (int i=0; i<layerCount; ++i)
     {
         Ptr<MgLayerBase> mapLayer(layers->GetItem(i));
+        // Don't draw watermarks for invisible layers
+        if (!mapLayer->IsVisible())
+            continue;
 
         Ptr<MgResourceIdentifier> layerid = mapLayer->GetLayerDefinition();
         ldf.reset(MgLayerBase::GetLayerDefinition(m_svcResource, layerid));

Modified: trunk/MgDev/Server/src/UnitTesting/TestRenderingService.cpp
===================================================================
--- trunk/MgDev/Server/src/UnitTesting/TestRenderingService.cpp	2014-03-31 12:31:54 UTC (rev 8007)
+++ trunk/MgDev/Server/src/UnitTesting/TestRenderingService.cpp	2014-04-01 13:17:43 UTC (rev 8008)
@@ -408,6 +408,17 @@
         Ptr<MgByteSource> mdfsrc15 = new MgByteSource(L"../UnitTestFiles/UT_StylizationFuncs.mdf", false);
         Ptr<MgByteReader> mdfrdr15 = mdfsrc15->GetReader();
         m_svcResource->SetResource(mapres15, mdfrdr15, NULL);
+
+        // For layer watermark test
+        Ptr<MgResourceIdentifier> wdfres2 = new MgResourceIdentifier(L"Library://UnitTests/Watermarks/Rail.WatermarkDefinition");
+        Ptr<MgByteSource> wdfsrc2 = new MgByteSource(L"../UnitTestFiles/UT_Rail.wdf", false);
+        Ptr<MgByteReader> wdfrdr2 = wdfsrc2->GetReader();
+        m_svcResource->SetResource(wdfres2, wdfrdr2, NULL);
+
+        Ptr<MgResourceIdentifier> ldfres21 = new MgResourceIdentifier(L"Library://UnitTests/Layers/RailWatermark.LayerDefinition");
+        Ptr<MgByteSource> ldfsrc21 = new MgByteSource(L"../UnitTestFiles/UT_Rail_Watermark.ldf", false);
+        Ptr<MgByteReader> ldfrdr21 = ldfsrc21->GetReader();
+        m_svcResource->SetResource(ldfres21, ldfrdr21, NULL);
     }
     catch (MgException* e)
     {
@@ -553,6 +564,12 @@
         Ptr<MgResourceIdentifier> mapres15 = new MgResourceIdentifier(L"Library://UnitTests/Maps/StylizationFuncs.MapDefinition");
         m_svcResource->DeleteResource(mapres15);
 
+        // Layer watermark test
+        Ptr<MgResourceIdentifier> wdfres2 = new MgResourceIdentifier(L"Library://UnitTests/Watermarks/Rail.WatermarkDefinition");
+        m_svcResource->DeleteResource(wdfres2);
+        Ptr<MgResourceIdentifier> ldfres21 = new MgResourceIdentifier(L"Library://UnitTests/Layers/RailWatermark.LayerDefinition");
+        m_svcResource->DeleteResource(ldfres21);
+
         #ifdef _DEBUG
         MgFdoConnectionManager* pFdoConnectionManager = MgFdoConnectionManager::GetInstance();
         if(pFdoConnectionManager)
@@ -1107,6 +1124,52 @@
     }
 }
 
+void TestRenderingService::TestCase_LayerWatermark(CREFSTRING imageFormat, CREFSTRING extension)
+{
+    try
+    {
+        // make a runtime map
+        Ptr<MgMap> map = CreateTestMap();
+
+        // call the API using a scale of 60000
+        map->SetViewScale(60000.0);
+
+        // Remove existing rail layer
+        Ptr<MgLayerCollection> layers = map->GetLayers();
+        INT32 index = layers->IndexOf(L"Rail");
+        if (index >= 0)
+            layers->RemoveAt(index);
+
+        // Insert our watermarked rail layer
+        Ptr<MgResourceIdentifier> layerDef = new MgResourceIdentifier(L"Library://UnitTests/Layers/RailWatermark.LayerDefinition");
+        Ptr<MgLayer> layer = new MgLayer(layerDef, m_svcResource);
+        layer->SetName(L"Rail");
+        layer->SetLegendLabel(layerDef->GetName());
+        layers->Insert(0, layer);
+        map->Save();
+
+        Ptr<MgColor> selColor = new MgColor(0, 0, 255);
+        Ptr<MgRenderingOptions> renderOpts = new MgRenderingOptions(imageFormat, MgRenderingOptions::RenderLayers | MgRenderingOptions::RenderBaseLayers, selColor);
+        Ptr<MgByteReader> img = m_svcRendering->RenderDynamicOverlay(map, NULL, renderOpts);
+        img->ToFile(GetPath(L"../UnitTestFiles/LayerWatermarkOn", imageFormat, extension));
+
+        layer->SetVisible(false);
+        map->Save();
+        img = m_svcRendering->RenderDynamicOverlay(map, NULL, renderOpts);
+        img->ToFile(GetPath(L"../UnitTestFiles/LayerWatermarkOff", imageFormat, extension));
+    }
+    catch (MgException* e)
+    {
+        STRING message = e->GetDetails(TEST_LOCALE);
+        SAFE_RELEASE(e);
+        CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
+    }
+    catch (...)
+    {
+        throw;
+    }
+}
+
 void TestRenderingService::TestCase_QueryFeatures()
 {
     try

Modified: trunk/MgDev/Server/src/UnitTesting/TestRenderingService.h
===================================================================
--- trunk/MgDev/Server/src/UnitTesting/TestRenderingService.h	2014-03-31 12:31:54 UTC (rev 8007)
+++ trunk/MgDev/Server/src/UnitTesting/TestRenderingService.h	2014-04-01 13:17:43 UTC (rev 8008)
@@ -49,6 +49,7 @@
     CPPUNIT_TEST(TestCase_RenderLegendMultiCTSWithThemePNG);
     CPPUNIT_TEST(TestCase_RenderLegendMultiFTSSingleCTSPNG);
     CPPUNIT_TEST(TestCase_RenderLegendSingleFTSMultiCTSPNG);
+    CPPUNIT_TEST(TestCase_LayerWatermarkPNG);
 
     CPPUNIT_TEST(TestCase_StylizationFunctionsPNG8);
 
@@ -74,6 +75,7 @@
     CPPUNIT_TEST(TestCase_RenderLegendMultiCTSWithThemePNG8);
     CPPUNIT_TEST(TestCase_RenderLegendMultiFTSSingleCTSPNG8);
     CPPUNIT_TEST(TestCase_RenderLegendSingleFTSMultiCTSPNG8);
+    CPPUNIT_TEST(TestCase_LayerWatermarkPNG8);
 
     CPPUNIT_TEST(TestCase_StylizationFunctionsGIF);
 
@@ -99,6 +101,7 @@
     CPPUNIT_TEST(TestCase_RenderLegendMultiCTSWithThemeGIF);
     CPPUNIT_TEST(TestCase_RenderLegendMultiFTSSingleCTSGIF);
     CPPUNIT_TEST(TestCase_RenderLegendSingleFTSMultiCTSGIF);
+    CPPUNIT_TEST(TestCase_LayerWatermarkGIF);
 
     CPPUNIT_TEST(TestCase_StylizationFunctionsJPG);
 
@@ -124,6 +127,7 @@
     CPPUNIT_TEST(TestCase_RenderLegendMultiCTSWithThemeJPG);
     CPPUNIT_TEST(TestCase_RenderLegendMultiFTSSingleCTSJPG);
     CPPUNIT_TEST(TestCase_RenderLegendSingleFTSMultiCTSJPG);
+    CPPUNIT_TEST(TestCase_LayerWatermarkJPG);
 
     CPPUNIT_TEST(TestCase_QueryFeatures);
 
@@ -156,6 +160,8 @@
     void TestCase_RenderLegendMultiCTSWithTheme(CREFSTRING imageFormat, CREFSTRING extension);
     void TestCase_RenderLegendMultiFTSSingleCTS(CREFSTRING imageFormat, CREFSTRING extension);
     void TestCase_RenderLegendSingleFTSMultiCTS(CREFSTRING imageFormat, CREFSTRING extension);
+
+    void TestCase_LayerWatermark(CREFSTRING imageFormat, CREFSTRING extension);
     
     void TestCase_SymbologyPoints(CREFSTRING imageFormat, CREFSTRING extension);
     void TestCase_SymbologyPointsParam(CREFSTRING imageFormat, CREFSTRING extension);
@@ -191,6 +197,7 @@
     void TestCase_RenderLegendMultiFTSSingleCTSPNG() { TestCase_RenderLegendMultiFTSSingleCTS(L"PNG", L"png"); }
     void TestCase_RenderLegendSingleFTSMultiCTSPNG() { TestCase_RenderLegendSingleFTSMultiCTS(L"PNG", L"png"); }
     void TestCase_StylizationFunctionsPNG() { TestCase_StylizationFunctions(L"PNG", L"png"); }
+    void TestCase_LayerWatermarkPNG() { TestCase_LayerWatermark(L"PNG", L"png"); }
 
     //PNG8 output tests
     void TestCase_RenderDynamicOverlayPNG8() { TestCase_RenderDynamicOverlay(L"PNG8", L"png"); }
@@ -214,6 +221,7 @@
     void TestCase_RenderLegendMultiFTSSingleCTSPNG8() { TestCase_RenderLegendMultiFTSSingleCTS(L"PNG8", L"png"); }
     void TestCase_RenderLegendSingleFTSMultiCTSPNG8() { TestCase_RenderLegendSingleFTSMultiCTS(L"PNG8", L"png"); }
     void TestCase_StylizationFunctionsPNG8() { TestCase_StylizationFunctions(L"PNG8", L"png"); }
+    void TestCase_LayerWatermarkPNG8() { TestCase_LayerWatermark(L"PNG8", L"png"); }
 
     //GIF output tests
     void TestCase_RenderDynamicOverlayGIF() { TestCase_RenderDynamicOverlay(L"GIF", L"gif"); }
@@ -237,6 +245,7 @@
     void TestCase_RenderLegendMultiFTSSingleCTSGIF() { TestCase_RenderLegendMultiFTSSingleCTS(L"GIF", L"gif"); }
     void TestCase_RenderLegendSingleFTSMultiCTSGIF() { TestCase_RenderLegendSingleFTSMultiCTS(L"GIF", L"gif"); }
     void TestCase_StylizationFunctionsGIF() { TestCase_StylizationFunctions(L"GIF", L"gif"); }
+    void TestCase_LayerWatermarkGIF() { TestCase_LayerWatermark(L"GIF", L"gif"); }
 
     //JPG output tests
     void TestCase_RenderDynamicOverlayJPG() { TestCase_RenderDynamicOverlay(L"JPG", L"jpg"); }
@@ -260,6 +269,7 @@
     void TestCase_RenderLegendMultiFTSSingleCTSJPG() { TestCase_RenderLegendMultiFTSSingleCTS(L"JPG", L"jpg"); }
     void TestCase_RenderLegendSingleFTSMultiCTSJPG() { TestCase_RenderLegendSingleFTSMultiCTS(L"JPG", L"jpg"); }
     void TestCase_StylizationFunctionsJPG() { TestCase_StylizationFunctions(L"JPG", L"jpg"); }
+    void TestCase_LayerWatermarkJPG() { TestCase_LayerWatermark(L"JPG", L"jpg"); }
 
     //void TestCase_RendererPerformance();
 

Added: trunk/MgDev/UnitTest/TestData/MappingService/UT_Rail.wdf
===================================================================
--- trunk/MgDev/UnitTest/TestData/MappingService/UT_Rail.wdf	                        (rev 0)
+++ trunk/MgDev/UnitTest/TestData/MappingService/UT_Rail.wdf	2014-04-01 13:17:43 UTC (rev 8008)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<WatermarkDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="WatermarkDefinition-2.3.0.xsd" version="2.3.0">
+  <Content>
+    <SimpleSymbolDefinition>
+      <Name>Watermark Text</Name>
+      <Graphics>
+        <Text>
+          <Content>'Rail'</Content>
+          <FontName>'Times New Roman'</FontName>
+          <Bold>True</Bold>
+          <Italic>True</Italic>
+          <Underlined>True</Underlined>
+          <Height>6.35</Height>
+          <HorizontalAlignment>'Left'</HorizontalAlignment>
+          <TextColor>0xFF800000</TextColor>
+        </Text>
+      </Graphics>
+      <PointUsage />
+      <ParameterDefinition />
+    </SimpleSymbolDefinition>
+  </Content>
+  <Appearance>
+    <Transparency>34</Transparency>
+  </Appearance>
+  <Position>
+    <TilePosition>
+      <TileWidth>300</TileWidth>
+      <TileHeight>300</TileHeight>
+      <HorizontalPosition>
+        <Offset>20</Offset>
+        <Unit>Pixels</Unit>
+        <Alignment>Left</Alignment>
+      </HorizontalPosition>
+      <VerticalPosition>
+        <Offset>20</Offset>
+        <Unit>Pixels</Unit>
+        <Alignment>Top</Alignment>
+      </VerticalPosition>
+    </TilePosition>
+  </Position>
+</WatermarkDefinition>
\ No newline at end of file

Added: trunk/MgDev/UnitTest/TestData/MappingService/UT_Rail_Watermark.ldf
===================================================================
--- trunk/MgDev/UnitTest/TestData/MappingService/UT_Rail_Watermark.ldf	                        (rev 0)
+++ trunk/MgDev/UnitTest/TestData/MappingService/UT_Rail_Watermark.ldf	2014-04-01 13:17:43 UTC (rev 8008)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LayerDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="LayerDefinition-2.4.0.xsd" version="2.4.0">
+  <VectorLayerDefinition>
+    <ResourceId>Library://UnitTests/Data/Rail.FeatureSource</ResourceId>
+    <Watermarks>
+      <Watermark>
+        <Name>Rail</Name>
+        <ResourceId>Library://UnitTests/Watermarks/Rail.WatermarkDefinition</ResourceId>
+      </Watermark>
+    </Watermarks>
+    <FeatureName>SHP_Schema:Rail</FeatureName>
+    <FeatureNameType>FeatureClass</FeatureNameType>
+    <Geometry>SHPGEOM</Geometry>
+    <VectorScaleRange>
+      <LineTypeStyle>
+        <LineRule>
+          <LegendLabel/>
+          <LineSymbolization2D>
+            <LineStyle>Rail</LineStyle>
+            <Thickness>0.0</Thickness>
+            <Color>FFFF0000</Color>
+            <Unit>Centimeters</Unit>
+            <SizeContext>DeviceUnits</SizeContext>
+          </LineSymbolization2D>
+        </LineRule>
+      </LineTypeStyle>
+    </VectorScaleRange>
+  </VectorLayerDefinition>
+</LayerDefinition>



More information about the mapguide-commits mailing list