[mapguide-commits] r8109 - in trunk/Tools/Maestro: Generated Maestro.Editors/Diff OSGeo.MapGuide.MaestroAPI

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue May 6 11:22:49 PDT 2014


Author: jng
Date: 2014-05-06 11:22:49 -0700 (Tue, 06 May 2014)
New Revision: 8109

Modified:
   trunk/Tools/Maestro/Generated/ApplicationDefinition-1.0.0.designer.cs
   trunk/Tools/Maestro/Generated/DrawingSource-1.0.0.designer.cs
   trunk/Tools/Maestro/Generated/FeatureSource-1.0.0.designer.cs
   trunk/Tools/Maestro/Generated/LayerDefinition-1.0.0.designer.cs
   trunk/Tools/Maestro/Generated/LayerDefinition-1.1.0.designer.cs
   trunk/Tools/Maestro/Generated/LayerDefinition-1.2.0.designer.cs
   trunk/Tools/Maestro/Generated/LayerDefinition-1.3.0.designer.cs
   trunk/Tools/Maestro/Generated/LayerDefinition-2.3.0.designer.cs
   trunk/Tools/Maestro/Generated/LayerDefinition-2.4.0.designer.cs
   trunk/Tools/Maestro/Generated/LoadProcedure-1.0.0.designer.cs
   trunk/Tools/Maestro/Generated/LoadProcedure-1.1.0.designer.cs
   trunk/Tools/Maestro/Generated/LoadProcedure-2.2.0.designer.cs
   trunk/Tools/Maestro/Generated/MapDefinition-1.0.0.designer.cs
   trunk/Tools/Maestro/Generated/MapDefinition-2.3.0.designer.cs
   trunk/Tools/Maestro/Generated/MapDefinition-2.4.0.designer.cs
   trunk/Tools/Maestro/Generated/PrintLayout-1.0.0.designer.cs
   trunk/Tools/Maestro/Generated/SymbolDefinition-1.0.0.designer.cs
   trunk/Tools/Maestro/Generated/SymbolDefinition-1.1.0.designer.cs
   trunk/Tools/Maestro/Generated/SymbolDefinition-2.4.0.designer.cs
   trunk/Tools/Maestro/Generated/SymbolLibrary-1.0.0.designer.cs
   trunk/Tools/Maestro/Generated/WatermarkDefinition-2.3.0.designer.cs
   trunk/Tools/Maestro/Generated/WatermarkDefinition-2.4.0.designer.cs
   trunk/Tools/Maestro/Generated/WebLayout-1.0.0.designer.cs
   trunk/Tools/Maestro/Generated/WebLayout-1.1.0.designer.cs
   trunk/Tools/Maestro/Maestro.Editors/Diff/XmlCompareUtil.cs
   trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs
Log:
#2440: Fix false positive XML diffs due to whitespace, encoding and attribute ordering of the root element. Instead of reading the raw XML directly, funnel both source and target XML content through its IResource object representation, which will give us our desired normalized XML when we write back from its object form. Also for root IResource objects, their Serialize() method implementations now all call a new Utility.NormalizedSerialize() method that will return a UTF-8 encoded XML string that's also free of any BOM markers. This ensures the same XML prolog in both sides of the diff.

Modified: trunk/Tools/Maestro/Generated/ApplicationDefinition-1.0.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/ApplicationDefinition-1.0.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/ApplicationDefinition-1.0.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -155,23 +155,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/DrawingSource-1.0.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/DrawingSource-1.0.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/DrawingSource-1.0.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -124,23 +124,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/FeatureSource-1.0.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/FeatureSource-1.0.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/FeatureSource-1.0.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -222,23 +222,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/LayerDefinition-1.0.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/LayerDefinition-1.0.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/LayerDefinition-1.0.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -78,23 +78,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/LayerDefinition-1.1.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/LayerDefinition-1.1.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/LayerDefinition-1.1.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -81,23 +81,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/LayerDefinition-1.2.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/LayerDefinition-1.2.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/LayerDefinition-1.2.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -81,23 +81,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/LayerDefinition-1.3.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/LayerDefinition-1.3.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/LayerDefinition-1.3.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -80,23 +80,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/LayerDefinition-2.3.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/LayerDefinition-2.3.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/LayerDefinition-2.3.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -81,23 +81,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/LayerDefinition-2.4.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/LayerDefinition-2.4.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/LayerDefinition-2.4.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -81,23 +81,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/LoadProcedure-1.0.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/LoadProcedure-1.0.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/LoadProcedure-1.0.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -52,23 +52,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/LoadProcedure-1.1.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/LoadProcedure-1.1.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/LoadProcedure-1.1.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -78,23 +78,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/LoadProcedure-2.2.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/LoadProcedure-2.2.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/LoadProcedure-2.2.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -78,23 +78,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/MapDefinition-1.0.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/MapDefinition-1.0.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/MapDefinition-1.0.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -55,23 +55,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/MapDefinition-2.3.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/MapDefinition-2.3.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/MapDefinition-2.3.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -75,23 +75,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/MapDefinition-2.4.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/MapDefinition-2.4.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/MapDefinition-2.4.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -75,23 +75,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/PrintLayout-1.0.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/PrintLayout-1.0.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/PrintLayout-1.0.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -135,23 +135,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/SymbolDefinition-1.0.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/SymbolDefinition-1.0.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/SymbolDefinition-1.0.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -246,23 +246,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/SymbolDefinition-1.1.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/SymbolDefinition-1.1.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/SymbolDefinition-1.1.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -246,23 +246,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/SymbolDefinition-2.4.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/SymbolDefinition-2.4.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/SymbolDefinition-2.4.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -246,23 +246,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/SymbolLibrary-1.0.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/SymbolLibrary-1.0.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/SymbolLibrary-1.0.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -91,23 +91,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/WatermarkDefinition-2.3.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/WatermarkDefinition-2.3.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/WatermarkDefinition-2.3.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -81,23 +81,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/WatermarkDefinition-2.4.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/WatermarkDefinition-2.4.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/WatermarkDefinition-2.4.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -80,23 +80,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/WebLayout-1.0.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/WebLayout-1.0.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/WebLayout-1.0.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -238,23 +238,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Generated/WebLayout-1.1.0.designer.cs
===================================================================
--- trunk/Tools/Maestro/Generated/WebLayout-1.1.0.designer.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Generated/WebLayout-1.1.0.designer.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -390,23 +390,7 @@
         /// </summary>
         /// <returns>string XML value</returns>
         public virtual string Serialize() {
-            System.IO.StreamReader streamReader = null;
-            System.IO.MemoryStream memoryStream = null;
-            try {
-                memoryStream = new System.IO.MemoryStream();
-                Serializer.Serialize(memoryStream, this);
-                memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
-                streamReader = new System.IO.StreamReader(memoryStream);
-                return streamReader.ReadToEnd();
-            }
-            finally {
-                if ((streamReader != null)) {
-                    streamReader.Dispose();
-                }
-                if ((memoryStream != null)) {
-                    memoryStream.Dispose();
-                }
-            }
+            return OSGeo.MapGuide.MaestroAPI.Utility.NormalizedSerialize(Serializer, this);
         }
         
         /// <summary>

Modified: trunk/Tools/Maestro/Maestro.Editors/Diff/XmlCompareUtil.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.Editors/Diff/XmlCompareUtil.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/Maestro.Editors/Diff/XmlCompareUtil.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -17,6 +17,8 @@
 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 // 
 #endregion
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.MaestroAPI.Resource;
 using OSGeo.MapGuide.MaestroAPI.Resource.Comparison;
 using OSGeo.MapGuide.MaestroAPI.Services;
 using System;
@@ -56,15 +58,22 @@
             //not throw us off
             var sourceFile = Path.GetTempFileName();
             var targetFile = Path.GetTempFileName();
-            using (var sourceStream = resSvc.GetResourceXmlData(sourceId))
-            using (var targetStream = resSvc.GetResourceXmlData(targetId))
+
+            IResource source = resSvc.GetResource(sourceId);
+            IResource target = resSvc.GetResource(targetId);
+
+            var sourceDoc = new XmlDocument();
+            var targetDoc = new XmlDocument();
+
+            using (var sourceStream = ResourceTypeRegistry.Serialize(source))
+            using (var targetStream = ResourceTypeRegistry.Serialize(target))
             {
-                var sourceDoc = new XmlDocument();
-                var targetDoc = new XmlDocument();
-
                 sourceDoc.Load(sourceStream);
                 targetDoc.Load(targetStream);
 
+                sourceDoc.Normalize();
+                targetDoc.Normalize();
+
                 using (var fs = File.OpenWrite(sourceFile))
                 using (var ft = File.OpenWrite(targetFile))
                 {

Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs	2014-05-06 13:03:32 UTC (rev 8108)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Utility.cs	2014-05-06 18:22:49 UTC (rev 8109)
@@ -34,6 +34,8 @@
 using System.Text.RegularExpressions;
 using OSGeo.MapGuide.ObjectModels.Capabilities;
 using System.ComponentModel;
+using System.Xml.Serialization;
+using System.IO;
 
 namespace OSGeo.MapGuide.MaestroAPI
 {
@@ -489,6 +491,30 @@
         }
 
         /// <summary>
+        /// Serializes the given object as a UTF-8 encoded XML string. Any BOM is stripped from the XML string
+        /// </summary>
+        /// <param name="serializer"></param>
+        /// <param name="o"></param>
+        /// <returns></returns>
+        public static string NormalizedSerialize(XmlSerializer serializer, object o)
+        {
+            using (var ms = new MemoryStream())
+            {
+                using (var xw = new Utf8XmlWriter(ms))
+                {
+                    serializer.Serialize(xw, o);
+                    using (var ms2 = RemoveUTF8BOM(ms))
+                    {
+                        using (var sr = new StreamReader(ms2))
+                        {
+                            return sr.ReadToEnd();
+                        }
+                    }
+                }
+            }
+        }
+
+        /// <summary>
         /// Creates a copy of the stream, with removed Utf8 BOM, if any
         /// </summary>
         /// <param name="ms">The stream to fix</param>



More information about the mapguide-commits mailing list