[mapguide-commits] r6906 - in branches/2.4/MgDev/Desktop/MgDesktop/Services: . Feature/Commands

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sun Jul 15 20:09:01 PDT 2012


Author: jng
Date: 2012-07-15 20:09:00 -0700 (Sun, 15 Jul 2012)
New Revision: 6906

Modified:
   branches/2.4/MgDev/Desktop/MgDesktop/Services/Feature/Commands/DescribeSchema.cpp
   branches/2.4/MgDev/Desktop/MgDesktop/Services/FeatureService.cpp
Log:
mg-desktop: More FeatureService cleanup

Modified: branches/2.4/MgDev/Desktop/MgDesktop/Services/Feature/Commands/DescribeSchema.cpp
===================================================================
--- branches/2.4/MgDev/Desktop/MgDesktop/Services/Feature/Commands/DescribeSchema.cpp	2012-07-16 02:14:39 UTC (rev 6905)
+++ branches/2.4/MgDev/Desktop/MgDesktop/Services/Feature/Commands/DescribeSchema.cpp	2012-07-16 03:09:00 UTC (rev 6906)
@@ -1026,6 +1026,8 @@
 
     MG_FEATURE_SERVICE_TRY()
 
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgDescribeSchema::GetClassDefinition");
+
     if (className.empty())
     {
         throw new MgClassNotFoundException(

Modified: branches/2.4/MgDev/Desktop/MgDesktop/Services/FeatureService.cpp
===================================================================
--- branches/2.4/MgDev/Desktop/MgDesktop/Services/FeatureService.cpp	2012-07-16 02:14:39 UTC (rev 6905)
+++ branches/2.4/MgDev/Desktop/MgDesktop/Services/FeatureService.cpp	2012-07-16 03:09:00 UTC (rev 6906)
@@ -1,27 +1,17 @@
 #include "FSDSAX2Parser.h"
 #include "FeatureService.h"
 #include "ResourceService.h"
-#include "Services/Feature/FeatureConnection.h"
-#include "Services/Feature/FeatureDefs.h"
-#include "Services/Feature/FeatureServiceCache.h"
-#include "Services/Feature/FdoForcedOneToOneFeatureReader.h"
-#include "Services/Feature/RdbmsFeatureSourceParams.h"
 #include "ServiceFactory.h"
 #include "Fdo.h"
-#include "FdoExpressionEngine.h"
-#include "FdoExpressionEngineCopyFilter.h"
 #include "PlatformBase.h"
-#include "Services/Feature/FeatureUtil.h"
+
 #include "FeatureReader.h"
 #include "ScrollableFeatureReader.h"
 #include "DataReader.h"
 #include "SqlReader.h"
 
-#include "Services/Feature/FeatureDistribution.h"
+#include "Services/Feature/FeatureUtil.h"
 #include "Services/Feature/ProjectedFeatureReader.h"
-#include "Services/Feature/GwsFeatureReader.h"
-#include "Services/Feature/GwsConnectionPool.h"
-#include "GwsQueryEngineImp.h"
 
 #include "Services/Feature/Commands/ApplySchema.h"
 #include "Services/Feature/Commands/CreateFeatureSource.h"
@@ -1438,15 +1428,9 @@
     if (sqlStatement.empty())
         throw new MgInvalidArgumentException(L"MgdFeatureService::ExecuteSqlQuery", __LINE__, __WFILE__, NULL, L"", NULL);
 
-	Ptr<MgFeatureConnection> connWrap = new MgFeatureConnection(resource);
-    FdoPtr<FdoIConnection> conn = connWrap->GetConnection();
+	MgSqlCommand cmd;
+    reader = cmd.ExecuteQuery(resource, sqlStatement, NULL, NULL);
 
-	FdoPtr<FdoISQLCommand> sql = (FdoISQLCommand*)conn->CreateCommand(FdoCommandType_SQLCommand);
-	sql->SetSQLStatement(sqlStatement.c_str());
-
-	FdoPtr<FdoISQLDataReader> fdoReader = sql->ExecuteReader();
-	reader = new MgdSqlDataReader(connWrap, fdoReader);
-
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
@@ -1854,8 +1838,14 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(className.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-	ret = GetClassDefinition(resource, schemaName, className, true);
+    MgDescribeSchema cmd;
+    Ptr<MgClassDefinition> clsDef = cmd.GetClassDefinition(resource, schemaName, className, true);
 
+    //In MapGuide Server returning this potentially cached copy is okay as a new instance is created
+    //travelling the server/webtier boundary. This is not the case in mg-desktop so we have to clone
+    //this result and return the clone instead.
+    ret = MgFeatureUtil::CloneMgClassDefinition(clsDef);
+
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 



More information about the mapguide-commits mailing list