[mapguide-commits] r6428 - in trunk/Tools/Maestro: MaestroAPITestRunner MaestroAPITestRunner/MGOS22 MaestroAPITests OSGeo.MapGuide.MaestroAPI.Native

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Fri Jan 13 12:07:19 EST 2012


Author: jng
Date: 2012-01-13 09:07:18 -0800 (Fri, 13 Jan 2012)
New Revision: 6428

Added:
   trunk/Tools/Maestro/MaestroAPITestRunner/MGOS22/
   trunk/Tools/Maestro/MaestroAPITestRunner/MGOS22/webconfig.ini
Modified:
   trunk/Tools/Maestro/MaestroAPITestRunner/ConnectionProviders.xml
   trunk/Tools/Maestro/MaestroAPITestRunner/MaestroAPITestRunner.csproj
   trunk/Tools/Maestro/MaestroAPITestRunner/Program.cs
   trunk/Tools/Maestro/MaestroAPITests/LocalNativeFeatureTests.cs
   trunk/Tools/Maestro/MaestroAPITests/MaestroAPITests.csproj
   trunk/Tools/Maestro/MaestroAPITests/RuntimeMapTests.cs
   trunk/Tools/Maestro/MaestroAPITests/TestControl.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Native/LocalNativeConnection.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Native/OSGeo.MapGuide.MaestroAPI.Native32-2.2.0.csproj
Log:
#1914: Fix slow performance for ResourceExists(). The problem is that our lazy loaded SiteVersion property takes 1s to load, which may not be apparent if the connection itself lives for a long time, but is readily apparent in an environment like ASP.net where each call is from a fresh connection instance. Also fix a whole bunch of broken local native unit tests for #1912 after activating them for the purpose of debugging this issue (local native unit tests are disabled by default because their libraries conflict with the mg-desktop libraries. local and local native unit tests are mutually exclusive)

Modified: trunk/Tools/Maestro/MaestroAPITestRunner/ConnectionProviders.xml
===================================================================
--- trunk/Tools/Maestro/MaestroAPITestRunner/ConnectionProviders.xml	2012-01-13 05:53:32 UTC (rev 6427)
+++ trunk/Tools/Maestro/MaestroAPITestRunner/ConnectionProviders.xml	2012-01-13 17:07:18 UTC (rev 6428)
@@ -6,19 +6,11 @@
         <Assembly>OSGeo.MapGuide.MaestroAPI.Http.dll</Assembly>
         <Type>OSGeo.MapGuide.MaestroAPI.HttpServerConnection</Type>
     </ConnectionProvider>
-    <!-- 
-    If you want to use the Maestro.LocalNative provider, you need to set up
-    assembly binding redirection by editing Maestro.exe.config. See these links
-    below for more information:
     
-    http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI/MapGuideDotNetApiVersions
-    
-    http://themapguyde.blogspot.com/2010/10/using-maestro-in-native-mode-with.html
-    -->
     <ConnectionProvider>
         <Name>Maestro.LocalNative</Name>
         <Description>Connection using the MapGuide Web API</Description>
-        <Assembly>OSGeo.MapGuide.MaestroAPI.Native.dll</Assembly>
+        <Assembly>MGOS22\OSGeo.MapGuide.MaestroAPI.Native32-2.2.0.dll</Assembly>
         <Type>OSGeo.MapGuide.MaestroAPI.LocalNativeConnection</Type>
     </ConnectionProvider>
 

Added: trunk/Tools/Maestro/MaestroAPITestRunner/MGOS22/webconfig.ini
===================================================================
--- trunk/Tools/Maestro/MaestroAPITestRunner/MGOS22/webconfig.ini	                        (rev 0)
+++ trunk/Tools/Maestro/MaestroAPITestRunner/MGOS22/webconfig.ini	2012-01-13 17:07:18 UTC (rev 6428)
@@ -0,0 +1,188 @@
+# *****************************************************************************
+# MapGuide Web Configuration File
+#
+# WARNING: BE VERY CAREFUL WHEN MODIFYING THIS FILE AS IT COULD
+#          ADVERSLY IMPACT SERVER PERFORMANCE
+# *****************************************************************************
+# COMMON VALIDATION INFORMATION
+#
+# (Unless otherwise noted under the property description)
+# -----------------------------------------------------------------------------
+# String Property                  Range of String Length   Reserved Characters
+# -----------------------------------------------------------------------------
+# File Name                        0 <  Length <= 128       \/:*?"<>|
+# Folder Name                      0 <  Length <= 128       \/:*?"<>|
+# Log Parameters                   0 <= Length <= 1024
+# Password                         0 <= Length <= 64        \t\r\n\v\f
+# Path                             0 <  Length <= 255       *?"<>|
+# -----------------------------------------------------------------------------
+# Numeric Property                 Range of Numeric Value
+# -----------------------------------------------------------------------------
+# Port Number                      0 <= Value <= 65535
+# *****************************************************************************
+
+[GeneralProperties]
+# *****************************************************************************
+# G E N E R A L
+#
+# Property Name                    Description
+# -----------------------------------------------------------------------------
+# DefaultMessageLocale             ISO 639-1 name for the message locale
+#                                       Length = 2
+#                                       Example: en
+#                                  or
+#                                       Length = 5
+#                                       Example: en-US
+#
+#                                  WARNING: if a 5 character locale is specified
+#                                           the first 2 characters must be lower
+#                                           case and the last 2 characters must
+#                                           be upper case.
+#
+# LogsPath                         Path where log files are stored 
+# ResourcesPath                    Path where the localization resource files are stored
+# TcpIpMtu                         The TCP/IP maximum transmission unit
+#                                       0 < Value <= 65535
+# TempPath                         Path where the temporary files are stored
+# FailoverRetryTime                Time in seconds for when to retry connecting
+#                                  to a MapGuide server that has gone offline.
+#                                  Note: For a single Web Tier and MapGuide server 
+#                                        pair use 1. For a load balanced 
+#                                        configuration with multiple MapGuide 
+#                                        servers use 60. Values other than 1 will 
+#                                        cause a delay when re-establishing a 
+#                                        connection with the Web Tier after 
+#                                        restarting a MapGuide server.
+#
+# *****************************************************************************
+DefaultMessageLocale               = en
+LogsPath                           = Logs/
+ResourcesPath                      =C:\Program Files\OSGeo\MapGuide\Web\www\mapagent\Resources
+TcpIpMtu                           = 1460
+TempPath                           =C:\Program Files\OSGeo\MapGuide\Web\Temp\
+FailoverRetryTime                  = 1
+
+[AdministrativeConnectionProperties]
+# *****************************************************************************
+# A D M I N I S T R A T I V E  C O N N E C T I O N
+#
+# Property Name                    Description
+# -----------------------------------------------------------------------------
+# MaxConnections                   The maximum allowed concurrent connections for this port.
+#                                  Default value of 2 is for a typical load when the web 
+#                                  is connected to a quad core server machine.
+#
+# Port                             The port to use for administration operations
+#
+#                                  WARNING: If you change the port # here you
+#                                           must also change the corresponding
+#                                           port # for the server configuration
+#                                           file.
+#
+# *****************************************************************************
+MaxConnections                     = 2
+Port                               =2810
+
+[ClientConnectionProperties]
+# *****************************************************************************
+# C L I E N T  C O N N E C T I O N
+#
+# Property Name                    Description
+# -----------------------------------------------------------------------------
+# MaxConnections                   The maximum allowed concurrent connections for this port.
+#                                  Default value of 12 is for a typical load when the web 
+#                                  is connected to a quad core server machine.
+#
+# Port                             The port to use for client operations
+#
+#                                  WARNING: If you change the port # here you
+#                                           must also change the corresponding
+#                                           port # for the server configuration
+#                                           file.
+#
+# *****************************************************************************
+MaxConnections                     = 12
+Port                               =2811
+
+[SiteConnectionProperties]
+# *****************************************************************************
+# S I T E  C O N N E C T I O N
+#
+# Property Name                    Description
+# -----------------------------------------------------------------------------
+# IpAddress                        The IP address of the site server
+#                                       0 < Length <= 255
+#
+# MaxConnections                   The maximum allowed concurrent connections for this port.
+#                                  Default value of 6 is for a typical load when the web 
+#                                  is connected to a quad core server machine.
+#
+# Port                             The port to use for site operations
+#
+#                                  WARNING: If you change the port # here you
+#                                           must also change the corresponding
+#                                           port # for the server configuration
+#                                           file.
+#
+# *****************************************************************************
+IpAddress                          =127.0.0.1
+MaxConnections                     = 6
+Port                               =2812
+
+[AgentProperties]
+# *****************************************************************************
+# M A P  A G E N T
+#
+# Property Name                     Description
+# -----------------------------------------------------------------------------
+# DebugPause                       Number of seconds the agent pauses before
+#                                  each request, for debugging purpose
+#                                       0 <= Value <= 86400
+# DisableAuthoring                 Disables Authoring HTTP requests
+#                                       0 = false and 1 = true
+# DisableWfs                       Disables OGC Wfs HTTP requests
+#                                       0 = false and 1 = true
+# DisableWms                       Disables OGC Wms HTTP requests
+#                                       0 = false and 1 = true
+# ErrorLogEnabled                  0 = log disabled, 1 = log enabled  
+# ErrorLogFilename                 Name of the log file  
+# RequestLogEnabled                0 = log disabled, 1 = log enabled  
+# RequestLogFilename               Name of the log file  
+# *****************************************************************************
+DebugPause                         = 0
+DisableAuthoring                   = 0
+DisableWfs                         = 0
+DisableWms                         = 0
+ErrorLogEnabled                    = 0
+ErrorLogFilename                   = Error.log
+RequestLogEnabled                  = 0
+RequestLogFilename                 = Request.log
+
+[OgcProperties]
+# *****************************************************************************
+# O G C  S E T T I N G S
+#
+# Property Name                    Description
+# -----------------------------------------------------------------------------
+# WfsPassword                      Password to be used for credentials in WFS
+#                                  requests
+# WmsPassword                      Password to be used for credentials in WMS
+#                                  requests
+# *****************************************************************************
+WfsPassword                        = wfs
+WmsPassword                        = wms
+
+[WebApplicationProperties]
+# *****************************************************************************
+# W E B   A P P L I C A T I O N   S E T T I N G S
+#
+# Property Name                    Description
+# -----------------------------------------------------------------------------
+# TemplateRootFolder               The root folder containing the viewer
+#                                  templates
+# WidgetInfoFolder                 The folder containing widget info files
+# ContainerInfoFolder              The folder containing container info files
+# *****************************************************************************
+TemplateRootFolder                 =C:\Program Files\OSGeo\MapGuide\Web\www\fusion\templates\mapguide 
+WidgetInfoFolder                   =C:\Program Files\OSGeo\MapGuide\Web\www\fusion\widgets\widgetinfo 
+ContainerInfoFolder                =C:\Program Files\OSGeo\MapGuide\Web\www\fusion\containerinfo 

Modified: trunk/Tools/Maestro/MaestroAPITestRunner/MaestroAPITestRunner.csproj
===================================================================
--- trunk/Tools/Maestro/MaestroAPITestRunner/MaestroAPITestRunner.csproj	2012-01-13 05:53:32 UTC (rev 6427)
+++ trunk/Tools/Maestro/MaestroAPITestRunner/MaestroAPITestRunner.csproj	2012-01-13 17:07:18 UTC (rev 6428)
@@ -69,11 +69,38 @@
   </ItemGroup>
   <ItemGroup>
     <None Include="App.config" />
+    <None Include="MGOS22\webconfig.ini">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
     <None Include="Platform.ini">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
   </ItemGroup>
   <ItemGroup>
+    <Content Include="..\SDK\bin\OSGeo.MapGuide.MaestroAPI.Native32-2.2.0.dll">
+      <Link>MGOS22\OSGeo.MapGuide.MaestroAPI.Native32-2.2.0.dll</Link>
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\Thirdparty\MGOS_2_2_0_x86\OSGeo.MapGuide.Foundation.dll">
+      <Link>MGOS22\OSGeo.MapGuide.Foundation.dll</Link>
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\Thirdparty\MGOS_2_2_0_x86\OSGeo.MapGuide.Geometry.dll">
+      <Link>MGOS22\OSGeo.MapGuide.Geometry.dll</Link>
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\Thirdparty\MGOS_2_2_0_x86\OSGeo.MapGuide.MapGuideCommon.dll">
+      <Link>MGOS22\OSGeo.MapGuide.MapGuideCommon.dll</Link>
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\Thirdparty\MGOS_2_2_0_x86\OSGeo.MapGuide.PlatformBase.dll">
+      <Link>MGOS22\OSGeo.MapGuide.PlatformBase.dll</Link>
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\Thirdparty\MGOS_2_2_0_x86\OSGeo.MapGuide.Web.dll">
+      <Link>MGOS22\OSGeo.MapGuide.Web.dll</Link>
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <Content Include="ConnectionProviders.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>

Modified: trunk/Tools/Maestro/MaestroAPITestRunner/Program.cs
===================================================================
--- trunk/Tools/Maestro/MaestroAPITestRunner/Program.cs	2012-01-13 05:53:32 UTC (rev 6427)
+++ trunk/Tools/Maestro/MaestroAPITestRunner/Program.cs	2012-01-13 17:07:18 UTC (rev 6428)
@@ -22,6 +22,8 @@
 using System.Linq;
 using System.Text;
 using System.Diagnostics;
+using System.Reflection;
+using System.Runtime.InteropServices;
 
 namespace MaestroAPITestRunner
 {
@@ -33,6 +35,29 @@
     {
         static void Main(string[] args)
         {
+            //NOTE: Maestro.Local and Maestro.LocalNative unit tests cannot be run at the
+            //same time. They are mutually exclusive. You will need to remove the postbuild
+            //and change the TestControl settings if you want to activate the Maestro.LocalNative tests
+            //
+            //For reference, this is the postbuild required for Maestro.Local tests
+
+            /*
+IF EXIST "$(ProjectDir)Setup" XCOPY /Y /I "$(ProjectDir)Setup\*.*" "$(ProjectDir)$(OutDir)"
+IF NOT EXIST "$(OutDir)Dictionaries" XCOPY /S /Y /I "$(SolutionDir)..\Maestro.AddIn.Local\Dictionaries\*.*" "$(ProjectDir)$(OutDir)Dictionaries"
+IF NOT EXIST "$(OutDir)FDO" XCOPY /S /Y /I "$(SolutionDir)..\Maestro.AddIn.Local\FDO\*.*" "$(ProjectDir)$(OutDir)FDO"
+IF NOT EXIST "$(OutDir)Resources" XCOPY /S /Y /I "$(SolutionDir)..\Maestro.AddIn.Local\Resources\*.res" "$(ProjectDir)$(OutDir)Resources"
+COPY /Y "$(SolutionDir)..\Maestro.AddIn.Local\*.dll" "$(ProjectDir)$(OutDir)"
+             */
+            /*
+            Environment.SetEnvironmentVariable("PATH", Environment.GetEnvironmentVariable("PATH") + ";C:\\Program Files\\OSGeo\\MapGuide\\Web\\www\\mapviewernet\\bin");
+            Environment.SetEnvironmentVariable("MENTOR_DICTIONARY_PATH", "C:\\Program Files\\OSGeo\\MapGuide\\CS-Map\\Dictionaries");
+
+            Assembly.LoadFrom("MGOS22\\OSGeo.MapGuide.Foundation.dll");
+            Assembly.LoadFrom("MGOS22\\OSGeo.MapGuide.Geometry.dll");
+            Assembly.LoadFrom("MGOS22\\OSGeo.MapGuide.PlatformBase.dll");
+            Assembly.LoadFrom("MGOS22\\OSGeo.MapGuide.MapGuideCommon.dll");
+            Assembly.LoadFrom("MGOS22\\OSGeo.MapGuide.Web.dll");
+            */
             NUnit.ConsoleRunner.Runner.Main(args);
         }
     }

Modified: trunk/Tools/Maestro/MaestroAPITests/LocalNativeFeatureTests.cs
===================================================================
--- trunk/Tools/Maestro/MaestroAPITests/LocalNativeFeatureTests.cs	2012-01-13 05:53:32 UTC (rev 6427)
+++ trunk/Tools/Maestro/MaestroAPITests/LocalNativeFeatureTests.cs	2012-01-13 17:07:18 UTC (rev 6428)
@@ -294,6 +294,45 @@
         }
     }
 
+    [TestFixture(Ignore = TestControl.IgnoreLocalNativeFeatureTests)]
+    public class LocalNativeFeatureTests : LocalNativeFeatureTestsBase
+    {
+        protected override IServerConnection CreateTestConnection()
+        {
+            return LocalNativeConnectionUtil.CreateTestConnection();
+        }
+
+        [Test]
+        public override void TestApplySchema()
+        {
+            base.TestApplySchema();
+        }
+
+        [Test]
+        public override void TestCreateDataStore()
+        {
+            base.TestCreateDataStore();
+        }
+
+        [Test]
+        public override void TestDeleteFeatures()
+        {
+            base.TestDeleteFeatures();
+        }
+
+        [Test]
+        public override void TestInsertFeatures()
+        {
+            base.TestInsertFeatures();
+        }
+
+        [Test]
+        public override void TestUpdateFeatures()
+        {
+            base.TestUpdateFeatures();
+        }
+    }
+
     [TestFixture(Ignore = TestControl.IgnoreLocalFeatureTests)]
     public class LocalFeatureTests : LocalNativeFeatureTestsBase
     {

Modified: trunk/Tools/Maestro/MaestroAPITests/MaestroAPITests.csproj
===================================================================
--- trunk/Tools/Maestro/MaestroAPITests/MaestroAPITests.csproj	2012-01-13 05:53:32 UTC (rev 6427)
+++ trunk/Tools/Maestro/MaestroAPITests/MaestroAPITests.csproj	2012-01-13 17:07:18 UTC (rev 6428)
@@ -77,6 +77,7 @@
     <Compile Include="HttpConnectionTests.cs" />
     <Compile Include="HttpSiteTests.cs" />
     <Compile Include="LocalNativeFeatureTests.cs" />
+    <Compile Include="LocalNativePerformanceTests.cs" />
     <Compile Include="ObjectTests.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Properties\Resources.Designer.cs">

Modified: trunk/Tools/Maestro/MaestroAPITests/RuntimeMapTests.cs
===================================================================
--- trunk/Tools/Maestro/MaestroAPITests/RuntimeMapTests.cs	2012-01-13 05:53:32 UTC (rev 6427)
+++ trunk/Tools/Maestro/MaestroAPITests/RuntimeMapTests.cs	2012-01-13 17:07:18 UTC (rev 6428)
@@ -1148,15 +1148,12 @@
         }
     }
 
-    [TestFixture(Ignore = TestControl.IgnoreLocalRuntimeMapTests)]
+    [TestFixture(Ignore = TestControl.IgnoreLocalNativeRuntimeMapTests)]
     public class LocalRuntimeMapTests : RuntimeMapTests
     {
         protected override IServerConnection CreateTestConnection()
         {
-            return ConnectionProviderRegistry.CreateConnection("Maestro.LocalNative",
-                "ConfigFile", "webconfig.ini",
-                "Username", "Administrator",
-                "Password", "admin");
+            return LocalNativeConnectionUtil.CreateTestConnection();
         }
 
         [Test]

Modified: trunk/Tools/Maestro/MaestroAPITests/TestControl.cs
===================================================================
--- trunk/Tools/Maestro/MaestroAPITests/TestControl.cs	2012-01-13 05:53:32 UTC (rev 6427)
+++ trunk/Tools/Maestro/MaestroAPITests/TestControl.cs	2012-01-13 17:07:18 UTC (rev 6428)
@@ -37,17 +37,29 @@
         public const bool IgnoreObjectTests = false;
         public const bool IgnoreResourceTests = false;
         public const bool IgnoreHttpRuntimeMapTests = false;
-        public const bool IgnoreLocalRuntimeMapTests = true;
+        public const bool IgnoreLocalNativeRuntimeMapTests = true;
+        public const bool IgnoreLocalNativePerformanceTests = true;
+        public const bool IgnoreLocalNativeFeatureTests = true;
         public const bool IgnoreLocalFeatureTests = false;
-        public const bool IgnoreLocalNativeFeatureTests = false;
         public const bool IgnoreSchemaTests = false;
         public const bool IgnoreSerializationTests = false;
         public const bool IgnoreValidationTests = false;
     }
 
+    public class LocalNativeConnectionUtil
+    {
+        public static IServerConnection CreateTestConnection()
+        {
+            return ConnectionProviderRegistry.CreateConnection("Maestro.LocalNative",
+                    "ConfigFile", "MGOS22\\webconfig.ini",
+                    "Username", "Administrator",
+                    "Password", "admin");
+        }
+    }
+
     public class ConnectionUtil
     {
-        public static string Port { get { return "8008"; } }
+        public static string Port { get { return ""; } }
 
         public static IServerConnection CreateTestHttpConnection()
         {

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Native/LocalNativeConnection.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Native/LocalNativeConnection.cs	2012-01-13 05:53:32 UTC (rev 6427)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Native/LocalNativeConnection.cs	2012-01-13 17:07:18 UTC (rev 6428)
@@ -406,6 +406,14 @@
 		{
 			get
 			{
+#if MG220
+                return SiteVersions.GetVersion(KnownSiteVersions.MapGuideOS2_2);
+#elif MG210
+                return SiteVersions.GetVersion(KnownSiteVersions.MapGuideOS2_1);
+#elif MG202
+                return SiteVersions.GetVersion(KnownSiteVersions.MapGuideOS2_0_2);
+#else
+
                 if (m_siteVersion != null)
                     return m_siteVersion;
 
@@ -433,21 +441,13 @@
                 {
                 }
 
-
                 //Default
                 if (m_siteVersion == null)
                 {
-#if MG220
-                    m_siteVersion = SiteVersions.GetVersion(KnownSiteVersions.MapGuideOS2_2);
-#elif MG210
-                    m_siteVersion = SiteVersions.GetVersion(KnownSiteVersions.MapGuideOS2_2);
-#elif MG200
-                    m_siteVersion = SiteVersions.GetVersion(KnownSiteVersions.MapGuideOS2_0_2);
-#else
                     m_siteVersion = SiteVersions.GetVersion(KnownSiteVersions.MapGuideOS1_2);
-#endif
                 }
                 return m_siteVersion;
+#endif
             }
 		}
 
@@ -833,7 +833,8 @@
         public override bool ResourceExists(string resourceid)
         {
             //API is safe to call in MG 2.1 and newer
-            if (this.SiteVersion >= new Version(2, 1))
+            var version = this.SiteVersion;
+            if (version >= new Version(2, 1))
             {
                 MgResourceService res = this.Connection.CreateService(MgServiceType.ResourceService) as MgResourceService;
                 var result = res.ResourceExists(new MgResourceIdentifier(resourceid));
@@ -913,14 +914,16 @@
             {
                 case CommandType.GetResourceContents:
                     return new LocalGetResourceContents(this);
+                case CommandType.CreateDataStore:
+                    return new LocalNativeCreateDataStore(this);
                 case CommandType.ApplySchema:
                     return new LocalNativeApplySchema(this);
                 case CommandType.DeleteFeatures:
                     return new LocalNativeDelete(this);
                 case CommandType.InsertFeature:
-                    return new LocalNativeDelete(this);
+                    return new LocalNativeInsert(this);
                 case CommandType.UpdateFeatures:
-                    return new LocalNativeDelete(this);
+                    return new LocalNativeUpdate(this);
             }
             return base.CreateCommand(cmdType);
         }

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Native/OSGeo.MapGuide.MaestroAPI.Native32-2.2.0.csproj
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Native/OSGeo.MapGuide.MaestroAPI.Native32-2.2.0.csproj	2012-01-13 05:53:32 UTC (rev 6427)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI.Native/OSGeo.MapGuide.MaestroAPI.Native32-2.2.0.csproj	2012-01-13 17:07:18 UTC (rev 6428)
@@ -21,7 +21,7 @@
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
     <OutputPath>..\SDK\bin\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DefineConstants>TRACE;DEBUG;MG220</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>



More information about the mapguide-commits mailing list