[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