[mapguide-commits] r1376 - trunk/MgDev/Server/src/Common/Manager
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon Mar 26 13:39:50 EDT 2007
Author: brucedechant
Date: 2007-03-26 13:39:32 -0400 (Mon, 26 Mar 2007)
New Revision: 1376
Modified:
trunk/MgDev/Server/src/Common/Manager/FdoConnectionManager.cpp
Log:
Fix defect where out of date feature source cache entry was not being removed when it was supposed to.
Modified: trunk/MgDev/Server/src/Common/Manager/FdoConnectionManager.cpp
===================================================================
--- trunk/MgDev/Server/src/Common/Manager/FdoConnectionManager.cpp 2007-03-26 15:29:56 UTC (rev 1375)
+++ trunk/MgDev/Server/src/Common/Manager/FdoConnectionManager.cpp 2007-03-26 17:39:32 UTC (rev 1376)
@@ -416,7 +416,7 @@
delete pFdoConnectionCacheEntry;
pFdoConnectionCacheEntry = NULL;
- STRING cacheKey = iter->first;
+ STRING resourceId = iter->first;
// Remove any feature service cache entries for this resource
MgServiceManager* serviceManager = MgServiceManager::GetInstance();
@@ -424,7 +424,7 @@
try
{
- Ptr<MgResourceIdentifier> resource = new MgResourceIdentifier(cacheKey);
+ Ptr<MgResourceIdentifier> resource = new MgResourceIdentifier(resourceId);
serviceManager->RemoveFeatureServiceCacheEntry(resource);
}
catch(MgInvalidRepositoryTypeException* e)
@@ -434,6 +434,19 @@
SAFE_RELEASE(e);
}
+ // Remove Feature Source cache entry
+ FeatureSourceCache::iterator iterFeatureSource = m_FeatureSourceCache.find(resourceId);
+ if(m_FeatureSourceCache.end() != iterFeatureSource)
+ {
+ MdfModel::FeatureSource* featureSource = iterFeatureSource->second;
+ if(featureSource)
+ {
+ delete featureSource;
+ }
+
+ m_FeatureSourceCache.erase(iterFeatureSource);
+ }
+
fdoConnectionCache->erase(iter++);
ACE_DEBUG ((LM_DEBUG, ACE_TEXT("MgFdoConnectionManager.RemoveExpiredConnections() - Found expired cached FDO connection.\n")));
@@ -1029,6 +1042,19 @@
SAFE_RELEASE(e);
}
+ // Remove Feature Source cache entry
+ FeatureSourceCache::iterator iterFeatureSource = m_FeatureSourceCache.find(key);
+ if(m_FeatureSourceCache.end() != iterFeatureSource)
+ {
+ MdfModel::FeatureSource* featureSource = iterFeatureSource->second;
+ if(featureSource)
+ {
+ delete featureSource;
+ }
+
+ m_FeatureSourceCache.erase(iterFeatureSource);
+ }
+
fdoConnectionCache->erase(iter++);
connectionsRemoved++;
More information about the mapguide-commits
mailing list