[mapguide-commits] r9562 - in trunk/MgDev: Common/MapGuideCommon/MapLayer Server/src/Services/Tile Server/src/UnitTesting

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Jun 25 16:04:13 PDT 2019


Author: jng
Date: 2019-06-25 16:04:13 -0700 (Tue, 25 Jun 2019)
New Revision: 9562

Modified:
   trunk/MgDev/Common/MapGuideCommon/MapLayer/Map.cpp
   trunk/MgDev/Common/MapGuideCommon/MapLayer/Map.h
   trunk/MgDev/Server/src/Services/Tile/TileCacheDefault.cpp
   trunk/MgDev/Server/src/Services/Tile/TileCacheDefault.h
   trunk/MgDev/Server/src/Services/Tile/TileCacheDefaultProvider.cpp
   trunk/MgDev/Server/src/Services/Tile/TileCacheXYZProvider.cpp
   trunk/MgDev/Server/src/UnitTesting/TestCoordinateSystem.cpp
   trunk/MgDev/Server/src/UnitTesting/TestTileService.cpp
   trunk/MgDev/Server/src/UnitTesting/TestTileService.h
Log:
Remove strict flag in MgMap::Create() as we now unconditionally allow creating MgMap instances from XYZ tilesets or Map Definitions that link to it.

This renders the TestCase_MgMapFromXYZTileSetStrict obsolete, so it has been removed.

Modified: trunk/MgDev/Common/MapGuideCommon/MapLayer/Map.cpp
===================================================================
--- trunk/MgDev/Common/MapGuideCommon/MapLayer/Map.cpp	2019-06-25 16:48:43 UTC (rev 9561)
+++ trunk/MgDev/Common/MapGuideCommon/MapLayer/Map.cpp	2019-06-25 23:04:13 UTC (rev 9562)
@@ -111,17 +111,12 @@
 //
 void MgMap::Create(MgResourceService* resourceService, MgResourceIdentifier* resource, CREFSTRING mapName)
 {
-    Create(resourceService, resource, mapName, true);
-}
-
-void MgMap::Create(MgResourceService* resourceService, MgResourceIdentifier* resource, CREFSTRING mapName, bool strict)
-{
     MG_TRY()
 
     if (resource->GetResourceType() == MgResourceType::MapDefinition)
         CreateFromMapDefinition(resourceService, resource, mapName);
     else if (resource->GetResourceType() == MgResourceType::TileSetDefinition)
-        CreateFromTileSet(resourceService, resource, mapName, strict);
+        CreateFromTileSet(resourceService, resource, mapName);
     else
         throw new MgInvalidResourceTypeException(L"MgMap.Create", __LINE__, __WFILE__, NULL, L"", NULL);
 
@@ -216,7 +211,7 @@
         tdef.reset(parser.DetachTileSetDefinition());
         assert(tdef.get() != NULL);
 
-        m_srs = GetCoordinateSystemFromTileSet(tdef.get(), true);
+        m_srs = GetCoordinateSystemFromTileSet(tdef.get());
 
         auto tsp = tdef->GetTileStoreParameters();
         m_tileSetProvider = tsp->GetTileProvider();
@@ -546,7 +541,7 @@
     if (NULL != tdef.get())
     {
         FINITESCALES fScales;
-        GetFiniteDisplayScalesFromTileSet(tdef.get(), fScales, true);
+        GetFiniteDisplayScalesFromTileSet(tdef.get(), fScales);
         for (FINITESCALES::iterator it = fScales.begin(); it != fScales.end(); it++)
         {
             double scale = *it;
@@ -601,7 +596,7 @@
     MG_CATCH_AND_THROW(L"MgMap.CreateFromMapDefinition")
 }
 
-void MgMap::CreateFromTileSet(MgResourceService* resourceService, MgResourceIdentifier* tileSetDefId, CREFSTRING mapName, bool strict)
+void MgMap::CreateFromTileSet(MgResourceService* resourceService, MgResourceIdentifier* tileSetDefId, CREFSTRING mapName)
 {
     MG_TRY()
 
@@ -668,7 +663,7 @@
     Ptr<MgCoordinate> coordCenter = gf.CreateCoordinateXY(extent.GetMinX() + (extent.GetMaxX() - extent.GetMinX()) / 2,
                                                           extent.GetMinY() + (extent.GetMaxY() - extent.GetMinY()) / 2);
     m_center = gf.CreatePoint(coordCenter);
-    m_srs = GetCoordinateSystemFromTileSet(tdef.get(), strict);
+    m_srs = GetCoordinateSystemFromTileSet(tdef.get());
 
     //Calculate the meter per unit for the given coordinate system
     m_metersPerUnit = 1.0; // assume a default value
@@ -794,7 +789,7 @@
     // build the sorted list of finite display scales
     SORTEDSCALES sortedScales;
     FINITESCALES displayScales;
-    GetFiniteDisplayScalesFromTileSet(tdef.get(), displayScales, strict);
+    GetFiniteDisplayScalesFromTileSet(tdef.get(), displayScales);
     if (displayScales.size() > 0)
     {
         for (FINITESCALES::iterator it = displayScales.begin(); it != displayScales.end(); it++)
@@ -827,7 +822,7 @@
     MG_CATCH_AND_THROW(L"MgMap.CreateFromTileSet")
 }
 
-STRING MgMap::GetCoordinateSystemFromTileSet(MdfModel::TileSetDefinition* tileset, bool strict)
+STRING MgMap::GetCoordinateSystemFromTileSet(MdfModel::TileSetDefinition* tileset)
 {
     //Yes, this is hard-coded against specific providers. Revisit if we do want
     //to FDO-ize this tile provider concept.
@@ -851,19 +846,10 @@
         Ptr<MgCoordinateSystemFactory> csFactory = new MgCoordinateSystemFactory();
         return csFactory->ConvertCoordinateSystemCodeToWkt(L"WGS84.PseudoMercator"); //NOXLATE
     }
-    if (strict)
-    {
-        MgStringCollection args;
-        args.Add(storeParams->GetTileProvider());
-        throw new MgUnsupportedTileProviderException(L"MgMap.GetCoordinateSystemFromTileSet", __LINE__, __WFILE__, &args, L"", NULL);
-    }
-    else
-    {
-        return L"";
-    }
+    return L"";
 }
 
-void MgMap::GetFiniteDisplayScalesFromTileSet(MdfModel::TileSetDefinition* tileset, FINITESCALES& scales, bool strict)
+void MgMap::GetFiniteDisplayScalesFromTileSet(MdfModel::TileSetDefinition* tileset, FINITESCALES& scales)
 {
     //Yes, this is hard-coded against specific providers. Revisit if we do want
     //to FDO-ize this tile provider concept.

Modified: trunk/MgDev/Common/MapGuideCommon/MapLayer/Map.h
===================================================================
--- trunk/MgDev/Common/MapGuideCommon/MapLayer/Map.h	2019-06-25 16:48:43 UTC (rev 9561)
+++ trunk/MgDev/Common/MapGuideCommon/MapLayer/Map.h	2019-06-25 23:04:13 UTC (rev 9562)
@@ -777,8 +777,6 @@
     ///
     virtual void SetWatermarkUsage(INT32 watermarkUsage);
 
-    virtual void Create(MgResourceService* resourceService, MgResourceIdentifier* mapDefinition, CREFSTRING mapName, bool strict);
-
     /// \brief
     /// compute the coordinates of a tile, increase size by meta tiling Factor sm_useMetaTiles
     ///
@@ -833,10 +831,10 @@
 
 private:
     void CreateFromMapDefinition(MgResourceService* resourceService, MgResourceIdentifier* resource, CREFSTRING mapName);
-    void CreateFromTileSet(MgResourceService* resourceService, MgResourceIdentifier* resource, CREFSTRING mapName, bool strict);
+    void CreateFromTileSet(MgResourceService* resourceService, MgResourceIdentifier* resource, CREFSTRING mapName);
 
-    STRING GetCoordinateSystemFromTileSet(MdfModel::TileSetDefinition* tileset, bool strict);
-    void GetFiniteDisplayScalesFromTileSet(MdfModel::TileSetDefinition* tileset, FINITESCALES& scales, bool strict);
+    STRING GetCoordinateSystemFromTileSet(MdfModel::TileSetDefinition* tileset);
+    void GetFiniteDisplayScalesFromTileSet(MdfModel::TileSetDefinition* tileset, FINITESCALES& scales);
 
     // Version for serialization
     static const int m_serializeVersion = (4<<16) + 0;

Modified: trunk/MgDev/Server/src/Services/Tile/TileCacheDefault.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Tile/TileCacheDefault.cpp	2019-06-25 16:48:43 UTC (rev 9561)
+++ trunk/MgDev/Server/src/Services/Tile/TileCacheDefault.cpp	2019-06-25 23:04:13 UTC (rev 9562)
@@ -262,7 +262,7 @@
             {
                 ACE_OS::fclose(lockFile);
             }
-            GetMapFromDefinition(resource, scaleIndex, map, false /* Allow MgMap to be created from any tile provider if resource is tile set */);
+            GetMapFromDefinition(resource, scaleIndex, map);
         }   // end of mutex scope
 
         // Render the tile and cache it.
@@ -899,7 +899,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 /// helper to retrieve map
 ///////////////////////////////////////////////////////////////////////////////
-void MgTileCacheDefault::GetMapFromDefinition(MgResourceIdentifier* mapDefinition, INT32 scaleIndex, Ptr<MgMap> &map, bool bStrictCreate)
+void MgTileCacheDefault::GetMapFromDefinition(MgResourceIdentifier* mapDefinition, INT32 scaleIndex, Ptr<MgMap> &map)
 {
     // Attempt use a cached & serialized MgMap object
     Ptr<MgMemoryStreamHelper> cachedMap;
@@ -921,7 +921,7 @@
         Ptr<MgSiteConnection> siteConn = new MgSiteConnection();
         siteConn->Open(MgUserInformation::GetCurrentUserInfo());
         map = new MgMap(siteConn);
-        map->Create(resourceService, mapDefinition, mapString, bStrictCreate);
+        map->Create(resourceService, mapDefinition, mapString);
         cachedMap = new MgMemoryStreamHelper();
         Ptr<MgStream> stream = new MgStream(cachedMap);
         map->Serialize(stream);

Modified: trunk/MgDev/Server/src/Services/Tile/TileCacheDefault.h
===================================================================
--- trunk/MgDev/Server/src/Services/Tile/TileCacheDefault.h	2019-06-25 16:48:43 UTC (rev 9561)
+++ trunk/MgDev/Server/src/Services/Tile/TileCacheDefault.h	2019-06-25 23:04:13 UTC (rev 9562)
@@ -79,7 +79,7 @@
     void Set(MgByteReader* img, CREFSTRING path);
     MgByteReader* Get(CREFSTRING path);
 
-    void GetMapFromDefinition(MgResourceIdentifier* mapDefinition, INT32 scaleIndex, Ptr<MgMap> &map, bool bStrictCreate = true);
+    void GetMapFromDefinition(MgResourceIdentifier* mapDefinition, INT32 scaleIndex, Ptr<MgMap> &map);
 
     bool DetectTileLockFile(CREFSTRING lockPathname);
 

Modified: trunk/MgDev/Server/src/Services/Tile/TileCacheDefaultProvider.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Tile/TileCacheDefaultProvider.cpp	2019-06-25 16:48:43 UTC (rev 9561)
+++ trunk/MgDev/Server/src/Services/Tile/TileCacheDefaultProvider.cpp	2019-06-25 23:04:13 UTC (rev 9562)
@@ -301,7 +301,7 @@
                 }
             }
             //=========================================================================
-            GetMapFromDefinition(resource, scaleIndex, map, false);
+            GetMapFromDefinition(resource, scaleIndex, map);
         }   // end of mutex scope
 
         // Render the larger meta tile but do not cache it yet! (m_metaTileFactor [prohibits caching in GetTile)

Modified: trunk/MgDev/Server/src/Services/Tile/TileCacheXYZProvider.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Tile/TileCacheXYZProvider.cpp	2019-06-25 16:48:43 UTC (rev 9561)
+++ trunk/MgDev/Server/src/Services/Tile/TileCacheXYZProvider.cpp	2019-06-25 23:04:13 UTC (rev 9562)
@@ -395,7 +395,7 @@
                 }
             }
             //=========================================================================
-            GetMapFromDefinition(resource, -1 /* Don't set view scale from index for XYZ*/, map, false);
+            GetMapFromDefinition(resource, -1 /* Don't set view scale from index for XYZ*/, map);
         }   // end of mutex scope
 
         // Render the larger meta tile but do not cache it yet! (m_metaTileFactor [prohibits caching in GetTile)

Modified: trunk/MgDev/Server/src/UnitTesting/TestCoordinateSystem.cpp
===================================================================
--- trunk/MgDev/Server/src/UnitTesting/TestCoordinateSystem.cpp	2019-06-25 16:48:43 UTC (rev 9561)
+++ trunk/MgDev/Server/src/UnitTesting/TestCoordinateSystem.cpp	2019-06-25 23:04:13 UTC (rev 9562)
@@ -6360,19 +6360,19 @@
         CPPUNIT_ASSERT(factory);
 
         ogcWkt = factory->ConvertCoordinateSystemCodeToWkt(L"EPSG:4326");
-        CPPUNIT_ASSERT(ogcWkt == EPSG_4326_Wkt);
+        CPPUNIT_ASSERT_MESSAGE(MgUtil::WideCharToMultiByte(ogcWkt), ogcWkt == EPSG_4326_Wkt);
 
         ogcWkt = factory->ConvertCoordinateSystemCodeToWkt(L"ePsG:4326");
-        CPPUNIT_ASSERT(ogcWkt == EPSG_4326_Wkt);
+        CPPUNIT_ASSERT_MESSAGE(MgUtil::WideCharToMultiByte(ogcWkt), ogcWkt == EPSG_4326_Wkt);
 
         CPPUNIT_ASSERT_THROW_MG(ogcWkt = factory->ConvertCoordinateSystemCodeToWkt(L"test:4000"), MgCoordinateSystemLoadFailedException*);
 
         ogcWkt = factory->ConvertEpsgCodeToWkt(4326);
-        CPPUNIT_ASSERT(ogcWkt == EPSG_4326_Wkt);
+        CPPUNIT_ASSERT_MESSAGE(MgUtil::WideCharToMultiByte(ogcWkt), ogcWkt == EPSG_4326_Wkt);
 
         ogcWkt = factory->ConvertEpsgCodeToWkt(0);
         // TODO: This should be throwing an exception because the conversion failed.
-        CPPUNIT_ASSERT(ogcWkt == L"");
+        CPPUNIT_ASSERT_MESSAGE(MgUtil::WideCharToMultiByte(ogcWkt), ogcWkt == L"");
 
         INT32 epsg = factory->ConvertWktToEpsgCode(EPSG_4326_Wkt);
         CPPUNIT_ASSERT(epsg == 4326);

Modified: trunk/MgDev/Server/src/UnitTesting/TestTileService.cpp
===================================================================
--- trunk/MgDev/Server/src/UnitTesting/TestTileService.cpp	2019-06-25 16:48:43 UTC (rev 9561)
+++ trunk/MgDev/Server/src/UnitTesting/TestTileService.cpp	2019-06-25 23:04:13 UTC (rev 9562)
@@ -1591,30 +1591,6 @@
     }
 }
 
-void TestTileService::TestCase_MgMapFromXYZTileSetStrict()
-{
-    try
-    {
-        // make a runtime map
-        Ptr<MgResourceIdentifier> tsdres = new MgResourceIdentifier(L"Library://UnitTests/TileSets/XYZ.TileSetDefinition");
-        MgMap* map = new MgMap(m_siteConnection);
-        map->Create(tsdres, L"XYZTileSet");
-
-        CPPUNIT_FAIL("MgUnsupportedTileProviderException should've been thrown");
-    }
-    catch (MgException* e)
-    {
-        bool isCorrectException = e->IsOfClass(MapGuide_Exception_MgUnsupportedTileProviderException);
-        STRING message = e->GetDetails(TEST_LOCALE);
-        SAFE_RELEASE(e);
-        CPPUNIT_ASSERT_MESSAGE(MG_WCHAR_TO_CHAR(message), isCorrectException);
-    }
-    catch (...)
-    {
-        throw;
-    }
-}
-
 void TestTileService::TestCase_MgMapFromXYZTileSetLoose()
 {
     try
@@ -1622,7 +1598,7 @@
         // make a runtime map
         Ptr<MgResourceIdentifier> tsdres = new MgResourceIdentifier(L"Library://UnitTests/TileSets/XYZ.TileSetDefinition");
         MgMap* map = new MgMap(m_siteConnection);
-        map->Create(m_svcResource, tsdres, L"XYZTileSet", false);
+        map->Create(m_svcResource, tsdres, L"XYZTileSet");
 
         CPPUNIT_ASSERT(0 == map->GetFiniteDisplayScaleCount());
     }

Modified: trunk/MgDev/Server/src/UnitTesting/TestTileService.h
===================================================================
--- trunk/MgDev/Server/src/UnitTesting/TestTileService.h	2019-06-25 16:48:43 UTC (rev 9561)
+++ trunk/MgDev/Server/src/UnitTesting/TestTileService.h	2019-06-25 23:04:13 UTC (rev 9562)
@@ -32,7 +32,6 @@
     CPPUNIT_TEST(TestCase_MgMap_Inline);
     CPPUNIT_TEST(TestCase_MgMap_Linked);
     CPPUNIT_TEST(TestCase_MgMap_LinkedSameCS);
-    CPPUNIT_TEST(TestCase_MgMapFromXYZTileSetStrict);
     CPPUNIT_TEST(TestCase_MgMapFromXYZTileSetLoose);
     CPPUNIT_TEST(TestCase_MgMapFromTileSet);
     CPPUNIT_TEST(TestCase_GetTile);
@@ -61,7 +60,6 @@
     void TestCase_MgMap_Inline();
     void TestCase_MgMap_Linked();
     void TestCase_MgMap_LinkedSameCS();
-    void TestCase_MgMapFromXYZTileSetStrict();
     void TestCase_MgMapFromXYZTileSetLoose();
     void TestCase_MgMapFromTileSet();
     void TestCase_GetTile();



More information about the mapguide-commits mailing list