[mapguide-commits] r5047 - in sandbox/maestro-3.0: . ExtendedModels ExtendedModels/LayerDefinition-1.1.0 ExtendedModels/LayerDefinition-1.1.0/Properties ExtendedModels/LayerDefinition-1.2.0 ExtendedModels/LayerDefinition-1.2.0/Properties ExtendedModels/LayerDefinition-1.3.0 ExtendedModels/LayerDefinition-1.3.0/Properties ExtendedModels/LoadProcedure-1.1.0 ExtendedModels/LoadProcedure-1.1.0/Properties ExtendedModels/LoadProcedure-2.2.0 ExtendedModels/LoadProcedure-2.2.0/Properties ExtendedModels/SymbolDefinition-1.1.0 ExtendedModels/SymbolDefinition-1.1.0/Properties ExtendedModels/WebLayout-1.1.0 ExtendedModels/WebLayout-1.1.0/Properties Generated Maestro Maestro.AddIn.LayerDefinition-1.1.0 Maestro.AddIn.LayerDefinition-1.1.0/Commands Maestro.AddIn.LayerDefinition-1.1.0/Properties Maestro.AddIn.LayerDefinition-1.2.0 Maestro.AddIn.LayerDefinition-1.2.0/Commands Maestro.AddIn.LayerDefinition-1.2.0/Properties Maestro.AddIn.LayerDefinition-1.3.0 Maestro.AddIn.LayerDefinition-1.3.0/Commands Maestro.AddIn.LayerDefinition-1.3.0/Properties OSGeo.MapGuide.MaestroAPI OSGeo.MapGuide.MaestroAPI/ObjectModels OSGeo.MapGuide.MaestroAPI/Properties

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Jul 22 00:10:36 EDT 2010


Author: jng
Date: 2010-07-22 04:10:35 +0000 (Thu, 22 Jul 2010)
New Revision: 5047

Added:
   sandbox/maestro-3.0/ExtendedModels/
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/LayerDefinition.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/LayerDefinitionValidator.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/AssemblyInfo.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/Resources.Designer.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/Resources.resx
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/LayerDefinition.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/LayerDefinitionValidator.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/AssemblyInfo.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/Resources.Designer.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/Resources.resx
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/LayerDefinition.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/LayerDefinitionValidator.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/AssemblyInfo.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/Resources.Designer.cs
   sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/Resources.resx
   sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0/
   sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0/OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0.csproj
   sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0/Properties/
   sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0/Properties/AssemblyInfo.cs
   sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0/
   sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0/OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0.csproj
   sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0/Properties/
   sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0/Properties/AssemblyInfo.cs
   sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/
   sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj
   sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/Properties/
   sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/Properties/AssemblyInfo.cs
   sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/
   sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0.csproj
   sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/Properties/
   sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/Properties/AssemblyInfo.cs
   sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/WebLayoutType.cs
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Commands/
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Commands/StartupCommand.cs
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Maestro.AddIn.LayerDefinition-1.1.0.csproj
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Manifest.addin
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Properties/
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Properties/AssemblyInfo.cs
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Commands/
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Commands/StartupCommand.cs
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Maestro.AddIn.LayerDefinition-1.2.0.csproj
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Manifest.addin
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Properties/
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Properties/AssemblyInfo.cs
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Commands/
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Commands/StartupCommand.cs
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Maestro.AddIn.LayerDefinition-1.3.0.csproj
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Manifest.addin
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Properties/
   sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Properties/AssemblyInfo.cs
Removed:
   sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.1.0.cs
   sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.2.0.cs
   sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.3.0.cs
   sandbox/maestro-3.0/Generated/AssemblyInfoLoadProc-1.1.0.cs
   sandbox/maestro-3.0/Generated/AssemblyInfoLoadProc-2.2.0.cs
   sandbox/maestro-3.0/Generated/AssemblyInfoSymbolDef-1.1.0.cs
   sandbox/maestro-3.0/Generated/AssemblyInfoWebLayout-1.1.0.cs
   sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj
   sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj
   sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj
   sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0.csproj
   sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0.csproj
   sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj
   sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0.csproj
Modified:
   sandbox/maestro-3.0/Generated/LayerDefinition-1.1.0.designer.cs
   sandbox/maestro-3.0/Generated/LayerDefinition-1.2.0.designer.cs
   sandbox/maestro-3.0/Generated/LayerDefinition-1.3.0.designer.cs
   sandbox/maestro-3.0/Generated/WebLayout-1.1.0.designer.cs
   sandbox/maestro-3.0/Maestro/Maestro.sln
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerDefinition.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Properties/Resources.Designer.cs
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Properties/Resources.resx
   sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ResourceTypeRegistry.cs
Log:
This submission incorporates some of the extended object model into the Maestro application. This submission adds serialization and validator support for:

 - LayerDefinition v1.1.0
 - LayerDefinition v1.2.0
 - LayerDefinition v1.3.0

The addin infrastructure and resource interfaces insulates the Maestro application (or other consuming applications) from having to reference or know anything about these assemblies. Each version of the LayerDefinition (beyond 1.0.0) has its own addin that registers the serializer and validator for that specific version, eventually these addins will also have their own specialized editor (to support the new features of that particular version) and default item templates.


Property changes on: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0
___________________________________________________________________
Added: svn:ignore
   + bin
obj


Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/LayerDefinition.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/LayerDefinition.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/LayerDefinition.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,240 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OSGeo.MapGuide.ObjectModels.Common;
+using System.Xml.Serialization;
+using System.ComponentModel;
+using OSGeo.MapGuide.MaestroAPI.Resource;
+using OSGeo.MapGuide.MaestroAPI;
+using Ldf = OSGeo.MapGuide.ObjectModels.LayerDefinition;
+
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_1_0
+{
+    abstract partial class BaseLayerDefinitionType : Ldf.ISubLayerDefinition
+    {
+        [XmlIgnore]
+        public abstract Ldf.LayerType LayerType { get; }
+    }
+
+    partial class VectorLayerDefinitionType : Ldf.IVectorLayerDefinition
+    {
+        public override Ldf.LayerType LayerType
+        {
+            get { return Ldf.LayerType.Vector; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.FeatureSourceID
+        {
+            get { return this.ResourceId; }
+            set { this.ResourceId = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.FullQualifiedClassName
+        {
+            get { return this.FeatureName; }
+            set { this.FeatureName = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.GeometryProperty
+        {
+            get { return this.Geometry; }
+            set { this.Geometry = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.Url
+        {
+            get { return this.Url; }
+            set { this.Url = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.ToolTip
+        {
+            get { return this.ToolTip; }
+            set { this.ToolTip = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.Filter
+        {
+            get { return this.Filter; }
+            set { this.Filter = value; }
+        }
+    }
+
+    partial class GridLayerDefinitionType : Ldf.IRasterLayerDefinition
+    {
+        public override Ldf.LayerType LayerType
+        {
+            get { return Ldf.LayerType.Raster; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IRasterLayerDefinition.FeatureSourceID
+        {
+            get { return this.ResourceId; }
+            set { this.ResourceId = value; }
+        }
+    }
+
+    partial class DrawingLayerDefinitionType : Ldf.IDrawingLayerDefinition
+    {
+        public override Ldf.LayerType LayerType
+        {
+            get { return Ldf.LayerType.Drawing; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IDrawingLayerDefinition.DrawingSourceID
+        {
+            get { return this.ResourceId; }
+            set { this.ResourceId = value; }
+        }
+    }
+
+    partial class VectorScaleRangeType
+    {
+        #region Missing generated stuff
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        private bool minScaleFieldSpecified;
+
+        [System.Xml.Serialization.XmlIgnoreAttribute()]
+        public bool MinScaleSpecified
+        {
+            get
+            {
+                return this.minScaleFieldSpecified;
+            }
+            set
+            {
+                if ((minScaleFieldSpecified.Equals(value) != true))
+                {
+                    this.minScaleFieldSpecified = value;
+                    this.OnPropertyChanged("MinScaleSpecified");
+                }
+            }
+        }
+        #endregion
+    }
+
+    partial class LayerDefinition : Ldf.ILayerDefinition
+    {
+        private static readonly Version RES_VERSION = new Version(1, 1, 0);
+
+        [XmlIgnore]
+        public OSGeo.MapGuide.MaestroAPI.IServerConnection CurrentConnection
+        {
+            get;
+            set;
+        }
+
+        private string _resId;
+
+        [XmlIgnore]
+        public string ResourceID
+        {
+            get
+            {
+                return _resId;
+            }
+            set
+            {
+                if (!ResourceIdentifier.Validate(value))
+                    throw new InvalidOperationException("Not a valid resource identifier"); //LOCALIZE
+
+                var res = new ResourceIdentifier(value);
+                if (res.Extension != ResourceTypes.LayerDefinition.ToString())
+                    throw new InvalidOperationException("Invalid resource identifier for this type of object: " + res.Extension); //LOCALIZE
+
+                _resId = value;
+                this.OnPropertyChanged("ResourceID");
+            }
+        }
+
+        [XmlIgnore]
+        public ResourceTypes ResourceType
+        {
+            get
+            {
+                return ResourceTypes.LayerDefinition;
+            }
+        }
+
+        [XmlIgnore]
+        public Version ResourceVersion
+        {
+            get
+            {
+                return RES_VERSION;
+            }
+        }
+
+        object ICloneable.Clone()
+        {
+            return this.Clone();
+        }
+
+        [XmlAttribute("noNamespaceSchemaLocation", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
+        public string ValidatingSchema
+        {
+            get { return "LayerDefinition-1.1.0.xsd"; }
+            set { }
+        }
+
+        [XmlIgnore]
+        public bool IsStronglyTyped
+        {
+            get { return true; }
+        }
+
+        /// <summary>
+        /// Returns the spatial extent of the data. 
+        /// This is calculated by asking the underlying featuresource for the minimum rectangle that
+        /// contains all the features in the specified table. If the <paramref name="allowFallbackToContextInformation"/>
+        /// is set to true, and the query fails, the code will attempt to read this information
+        /// from the spatial context information instead.
+        /// </summary>
+        /// <param name="allowFallbackToContextInformation">True to allow reading spatial extents from the spatial context information, if the spatial query fails.</param>
+        /// <returns>The envelope for the data in the table</returns>
+        public Envelope GetSpatialExtent(bool allowFallbackToContextInformation)
+        {
+            if (this.CurrentConnection == null)
+                throw new System.Exception("No server set for object");
+
+            if (this.Item as VectorLayerDefinitionType != null)
+                return this.CurrentConnection.FeatureService.GetSpatialExtent(this.Item.ResourceId, (this.Item as VectorLayerDefinitionType).FeatureName, (this.Item as VectorLayerDefinitionType).Geometry, allowFallbackToContextInformation);
+            else if (this.Item as GridLayerDefinitionType != null)
+                return this.CurrentConnection.FeatureService.GetSpatialExtent(this.Item.ResourceId, (this.Item as GridLayerDefinitionType).FeatureName, (this.Item as GridLayerDefinitionType).Geometry, allowFallbackToContextInformation);
+            else
+                return null;
+        }
+
+        public Ldf.ISubLayerDefinition SubLayer
+        {
+            get { return this.Item; }
+        }
+    }
+}

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/LayerDefinitionValidator.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/LayerDefinitionValidator.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/LayerDefinitionValidator.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,174 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OSGeo.MapGuide.MaestroAPI.Resource;
+using OSGeo.MapGuide.ObjectModels.FeatureSource;
+using OSGeo.MapGuide.MaestroAPI;
+
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_1_0
+{
+    public class LayerDefinitionValidator : IResourceValidator
+    {
+        public ResourceTypeDescriptor SupportedResourceAndVersion
+        {
+            get { return new ResourceTypeDescriptor(OSGeo.MapGuide.MaestroAPI.ResourceTypes.LayerDefinition, "1.1.0"); }
+        }
+
+        public ValidationIssue[] Validate(IResource resource, bool recurse)
+        {
+            if (resource.ResourceType != OSGeo.MapGuide.MaestroAPI.ResourceTypes.LayerDefinition)
+                return null;
+
+            if (resource.ResourceVersion != new Version(1, 1, 0))
+                return null;
+
+            LayerDefinition ldef = resource as LayerDefinition;
+            VectorLayerDefinitionType vldef = ldef.Item as VectorLayerDefinitionType;
+            GridLayerDefinitionType gldef = ldef.Item as GridLayerDefinitionType;
+            DrawingLayerDefinitionType dldef = ldef.Item as DrawingLayerDefinitionType;
+
+            List<ValidationIssue> issues = new List<ValidationIssue>();
+
+            if (ldef.Item == null)
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_LayerNullError));
+            else if (vldef == null && gldef == null)
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_DrawingLayerDefinitionNotSupportedWarning));
+
+            if (vldef != null)
+            {
+                if (string.IsNullOrEmpty(vldef.FeatureName))
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingFeatureSourceError));
+                if (string.IsNullOrEmpty(vldef.Geometry))
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingGeometryError));
+
+                if (vldef.VectorScaleRange == null || vldef.VectorScaleRange.Count == 0)
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingScaleRangesError));
+                else
+                {
+                    //Test for overlapping scale ranges
+                    List<KeyValuePair<double, double>> ranges = new List<KeyValuePair<double, double>>();
+                    foreach (VectorScaleRangeType vsr in vldef.VectorScaleRange)
+                        ranges.Add(new KeyValuePair<double, double>(
+                            vsr.MaxScaleSpecified ? vsr.MaxScale : double.PositiveInfinity,
+                            vsr.MinScaleSpecified ? vsr.MinScale : double.NegativeInfinity));
+
+                    double min = double.PositiveInfinity;
+                    double max = double.NegativeInfinity;
+                    foreach (KeyValuePair<double, double> sr in ranges)
+                    {
+                        min = Math.Min(min, sr.Value);
+                        max = Math.Max(max, sr.Key);
+                        if (sr.Key < sr.Value)
+                            issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_MinAndMaxScaleSwappedError, sr.Value, sr.Key)));
+                    }
+
+                    //TODO: Detect gaps in scale ranges
+                    for (int i = 0; i < ranges.Count; i++)
+                        for (int j = i + 1; j < ranges.Count; j++)
+                            if (ranges[i].Key > ranges[j].Value || ranges[i].Value > ranges[j].Value)
+                                issues.Add(new ValidationIssue(resource, ValidationStatus.Information, string.Format(Properties.Resources.LDF_ScaleRangesOverlapInformation, ranges[i].Value, ranges[i].Key, ranges[j].Value, ranges[j].Key)));
+
+                }
+            }
+            else if (gldef != null)
+            {
+                if (gldef.GridScaleRange == null || gldef.GridScaleRange.Count == 0)
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingScaleRangesError));
+                else if (gldef.GridScaleRange.Count != 1)
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_MultipleScaleRangesWarning));
+            }
+            else if (dldef != null)
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_DrawingLayerNotSupportedWarning));
+            else
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_UnsupportedLayerTypeWarning));
+
+            if (recurse)
+            {
+                try
+                {
+                    FeatureSourceType fs = (FeatureSourceType)ldef.CurrentConnection.ResourceService.GetResource(ldef.Item.ResourceId);
+                    issues.AddRange(ResourceValidatorSet.Validate(fs, recurse));
+
+                    try
+                    {
+                        if (vldef != null || gldef != null)
+                        {
+                            string schema = vldef == null ? gldef.FeatureName : vldef.FeatureName;
+                            string geometry = vldef == null ? gldef.Geometry : vldef.Geometry;
+
+                            bool foundSchema = false;
+                            bool foundGeometry = false;
+
+                            FeatureSourceDescription desc = fs.Describe();
+                            foreach (FeatureSourceDescription.FeatureSourceSchema scm in desc.Schemas)
+                                if (scm.FullnameDecoded == schema)
+                                {
+                                    foundSchema = true;
+
+                                    foreach (FeatureSetColumn col in scm.Columns)
+                                        if (col.Name == geometry)
+                                        {
+                                            foundGeometry = true;
+                                            break;
+                                        }
+
+
+                                    if (vldef != null && vldef.PropertyMapping != null)
+                                        foreach (NameStringPairType s in vldef.PropertyMapping)
+                                        {
+                                            bool found = false;
+                                            foreach (FeatureSetColumn col in scm.Columns)
+                                                if (col.Name == s.Name)
+                                                {
+                                                    found = true;
+                                                    break;
+                                                }
+
+                                            if (!found)
+                                                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_SchemaMissingError, schema, fs.ResourceID)));
+
+                                        }
+
+                                    break;
+                                }
+
+                            if (!foundSchema)
+                                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_SchemaMissingError, schema, fs.ResourceID)));
+                            else if (!foundGeometry)
+                                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_GeometryMissingError, geometry, schema, fs.ResourceID)));
+                        }
+                    }
+                    catch (Exception)
+                    {
+                        issues.Add(new ValidationIssue(fs, ValidationStatus.Error, string.Format(Properties.Resources.LDF_SchemaAndColumnReadFailedError)));
+                    }
+                }
+                catch (Exception)
+                {
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_FeatureSourceLoadError)));
+                }
+            }
+
+            return issues.ToArray();
+        }
+    }
+}

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>OSGeo.MapGuide.ObjectModels.LayerDefinition_1_1_0</RootNamespace>
+    <AssemblyName>OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\Generated\LayerDefinition-1.1.0.designer.cs">
+      <Link>LayerDefinition-1.1.0.designer.cs</Link>
+    </Compile>
+    <Compile Include="LayerDefinition.cs" />
+    <Compile Include="LayerDefinitionValidator.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\OSGeo.MapGuide.MaestroAPI\OSGeo.MapGuide.MaestroAPI.csproj">
+      <Project>{80FA3158-8B5F-48D1-A393-0378AFE48A7E}</Project>
+      <Name>OSGeo.MapGuide.MaestroAPI</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/AssemblyInfo.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/AssemblyInfo.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,37 @@
+using System.Reflection;
+
+using System.Reflection;
+using System.Runtime.InteropServices;
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+
+[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0")]
+[assembly: AssemblyCopyright("Copyright ©  2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("FCCE9608-F62D-4110-82F0-DC4CC5B0E737")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/Resources.Designer.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/Resources.Designer.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/Resources.Designer.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,189 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:2.0.50727.4927
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_1_0.Properties {
+    using System;
+    
+    
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources() {
+        }
+        
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OSGeo.MapGuide.ObjectModels.LayerDefinition_1_1_0.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Only vector layers and raster layers are currently validated.
+        /// </summary>
+        internal static string LDF_DrawingLayerDefinitionNotSupportedWarning {
+            get {
+                return ResourceManager.GetString("LDF_DrawingLayerDefinitionNotSupportedWarning", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Maestro does not support DrawingLayers.
+        /// </summary>
+        internal static string LDF_DrawingLayerNotSupportedWarning {
+            get {
+                return ResourceManager.GetString("LDF_DrawingLayerNotSupportedWarning", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to load featuresource.
+        /// </summary>
+        internal static string LDF_FeatureSourceLoadError {
+            get {
+                return ResourceManager.GetString("LDF_FeatureSourceLoadError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to find geometry column {0} in schema {1} on featuresource {2}.
+        /// </summary>
+        internal static string LDF_GeometryMissingError {
+            get {
+                return ResourceManager.GetString("LDF_GeometryMissingError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Layer is missing core information.
+        /// </summary>
+        internal static string LDF_LayerNullError {
+            get {
+                return ResourceManager.GetString("LDF_LayerNullError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to The minimum scale ({0}) is larger than the maximum scale ({1}).
+        /// </summary>
+        internal static string LDF_MinAndMaxScaleSwappedError {
+            get {
+                return ResourceManager.GetString("LDF_MinAndMaxScaleSwappedError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No FeatureSource is assigned to the layer.
+        /// </summary>
+        internal static string LDF_MissingFeatureSourceError {
+            get {
+                return ResourceManager.GetString("LDF_MissingFeatureSourceError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No Geometry is assigned to the layer.
+        /// </summary>
+        internal static string LDF_MissingGeometryError {
+            get {
+                return ResourceManager.GetString("LDF_MissingGeometryError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No scale ranges are defined, no data can be displayed.
+        /// </summary>
+        internal static string LDF_MissingScaleRangesError {
+            get {
+                return ResourceManager.GetString("LDF_MissingScaleRangesError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to More than one scale ranges is defined, this is valid, but unsupported by Maestro.
+        /// </summary>
+        internal static string LDF_MultipleScaleRangesWarning {
+            get {
+                return ResourceManager.GetString("LDF_MultipleScaleRangesWarning", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to The scale range {0}-{1} overlaps the range {2}-{3}.
+        /// </summary>
+        internal static string LDF_ScaleRangesOverlapInformation {
+            get {
+                return ResourceManager.GetString("LDF_ScaleRangesOverlapInformation", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to validate column and schema.
+        /// </summary>
+        internal static string LDF_SchemaAndColumnReadFailedError {
+            get {
+                return ResourceManager.GetString("LDF_SchemaAndColumnReadFailedError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to find schema {0} in featuresource {1}.
+        /// </summary>
+        internal static string LDF_SchemaMissingError {
+            get {
+                return ResourceManager.GetString("LDF_SchemaMissingError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to The layer has no type, or the type is unsupported by Maestro.
+        /// </summary>
+        internal static string LDF_UnsupportedLayerTypeWarning {
+            get {
+                return ResourceManager.GetString("LDF_UnsupportedLayerTypeWarning", resourceCulture);
+            }
+        }
+    }
+}

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/Resources.resx
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/Resources.resx	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.1.0/Properties/Resources.resx	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="LDF_DrawingLayerDefinitionNotSupportedWarning" xml:space="preserve">
+    <value>Only vector layers and raster layers are currently validated</value>
+    <comment>A warning message that is displayed if the layer is not Grid or Vector</comment>
+  </data>
+  <data name="LDF_DrawingLayerNotSupportedWarning" xml:space="preserve">
+    <value>Maestro does not support DrawingLayers</value>
+    <comment>A warning message that is displayed if the layer is a DrawingLayer type</comment>
+  </data>
+  <data name="LDF_FeatureSourceLoadError" xml:space="preserve">
+    <value>Failed to load featuresource</value>
+    <comment>An error message that is displayed if the featuresource fails to load</comment>
+  </data>
+  <data name="LDF_GeometryMissingError" xml:space="preserve">
+    <value>Failed to find geometry column {0} in schema {1} on featuresource {2}</value>
+    <comment>An error message that is displayed if the geometry is not present in the selected schema</comment>
+  </data>
+  <data name="LDF_LayerNullError" xml:space="preserve">
+    <value>Layer is missing core information</value>
+    <comment>An error message that is displayed if the layer has a null reference</comment>
+  </data>
+  <data name="LDF_MinAndMaxScaleSwappedError" xml:space="preserve">
+    <value>The minimum scale ({0}) is larger than the maximum scale ({1})</value>
+    <comment>An error message that is displayed if the scale ranges are reversed</comment>
+  </data>
+  <data name="LDF_MissingFeatureSourceError" xml:space="preserve">
+    <value>No FeatureSource is assigned to the layer</value>
+    <comment>An error message that is displayed if the layer has no FeatureSource</comment>
+  </data>
+  <data name="LDF_MissingGeometryError" xml:space="preserve">
+    <value>No Geometry is assigned to the layer</value>
+    <comment>An error message that is displayed if the layer has no geometry column selected</comment>
+  </data>
+  <data name="LDF_MissingScaleRangesError" xml:space="preserve">
+    <value>No scale ranges are defined, no data can be displayed</value>
+    <comment>An error message that is displayed if there are no scale ranges defined</comment>
+  </data>
+  <data name="LDF_MultipleScaleRangesWarning" xml:space="preserve">
+    <value>More than one scale ranges is defined, this is valid, but unsupported by Maestro</value>
+    <comment>A warning message that is displayed if a raster layer has multiple scale ranges defined</comment>
+  </data>
+  <data name="LDF_ScaleRangesOverlapInformation" xml:space="preserve">
+    <value>The scale range {0}-{1} overlaps the range {2}-{3}</value>
+    <comment>A warning message that is displayed if two scaleranges overlap</comment>
+  </data>
+  <data name="LDF_SchemaAndColumnReadFailedError" xml:space="preserve">
+    <value>Failed to validate column and schema</value>
+    <comment>An error message that is displayed if the schema and column read fails</comment>
+  </data>
+  <data name="LDF_SchemaMissingError" xml:space="preserve">
+    <value>Failed to find schema {0} in featuresource {1}</value>
+    <comment>An error message that is displayed if the selected schema is not present in the FeatureSource</comment>
+  </data>
+  <data name="LDF_UnsupportedLayerTypeWarning" xml:space="preserve">
+    <value>The layer has no type, or the type is unsupported by Maestro</value>
+    <comment>A  warning message that is displayed if the layer type is unknown</comment>
+  </data>
+</root>
\ No newline at end of file


Property changes on: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0
___________________________________________________________________
Added: svn:ignore
   + bin
obj


Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/LayerDefinition.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/LayerDefinition.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/LayerDefinition.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,240 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OSGeo.MapGuide.ObjectModels.Common;
+using System.Xml.Serialization;
+using System.ComponentModel;
+using OSGeo.MapGuide.MaestroAPI.Resource;
+using OSGeo.MapGuide.MaestroAPI;
+using Ldf = OSGeo.MapGuide.ObjectModels.LayerDefinition;
+
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_2_0
+{
+    abstract partial class BaseLayerDefinitionType : Ldf.ISubLayerDefinition
+    {
+        [XmlIgnore]
+        public abstract Ldf.LayerType LayerType { get; }
+    }
+
+    partial class VectorLayerDefinitionType : Ldf.IVectorLayerDefinition
+    {
+        public override Ldf.LayerType LayerType
+        {
+            get { return Ldf.LayerType.Vector; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.FeatureSourceID
+        {
+            get { return this.ResourceId; }
+            set { this.ResourceId = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.FullQualifiedClassName
+        {
+            get { return this.FeatureName; }
+            set { this.FeatureName = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.GeometryProperty
+        {
+            get { return this.Geometry; }
+            set { this.Geometry = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.Url
+        {
+            get { return this.Url; }
+            set { this.Url = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.ToolTip
+        {
+            get { return this.ToolTip; }
+            set { this.ToolTip = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.Filter
+        {
+            get { return this.Filter; }
+            set { this.Filter = value; }
+        }
+    }
+
+    partial class GridLayerDefinitionType : Ldf.IRasterLayerDefinition
+    {
+        public override Ldf.LayerType LayerType
+        {
+            get { return Ldf.LayerType.Raster; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IRasterLayerDefinition.FeatureSourceID
+        {
+            get { return this.ResourceId; }
+            set { this.ResourceId = value; }
+        }
+    }
+
+    partial class DrawingLayerDefinitionType : Ldf.IDrawingLayerDefinition
+    {
+        public override Ldf.LayerType LayerType
+        {
+            get { return Ldf.LayerType.Drawing; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IDrawingLayerDefinition.DrawingSourceID
+        {
+            get { return this.ResourceId; }
+            set { this.ResourceId = value; }
+        }
+    }
+
+    partial class VectorScaleRangeType
+    {
+        #region Missing generated stuff
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        private bool minScaleFieldSpecified;
+
+        [System.Xml.Serialization.XmlIgnoreAttribute()]
+        public bool MinScaleSpecified
+        {
+            get
+            {
+                return this.minScaleFieldSpecified;
+            }
+            set
+            {
+                if ((minScaleFieldSpecified.Equals(value) != true))
+                {
+                    this.minScaleFieldSpecified = value;
+                    this.OnPropertyChanged("MinScaleSpecified");
+                }
+            }
+        }
+        #endregion
+    }
+
+    partial class LayerDefinition : Ldf.ILayerDefinition
+    {
+        private static readonly Version RES_VERSION = new Version(1, 2, 0);
+
+        [XmlIgnore]
+        public OSGeo.MapGuide.MaestroAPI.IServerConnection CurrentConnection
+        {
+            get;
+            set;
+        }
+
+        private string _resId;
+
+        [XmlIgnore]
+        public string ResourceID
+        {
+            get
+            {
+                return _resId;
+            }
+            set
+            {
+                if (!ResourceIdentifier.Validate(value))
+                    throw new InvalidOperationException("Not a valid resource identifier"); //LOCALIZE
+
+                var res = new ResourceIdentifier(value);
+                if (res.Extension != ResourceTypes.LayerDefinition.ToString())
+                    throw new InvalidOperationException("Invalid resource identifier for this type of object: " + res.Extension); //LOCALIZE
+
+                _resId = value;
+                this.OnPropertyChanged("ResourceID");
+            }
+        }
+
+        [XmlIgnore]
+        public ResourceTypes ResourceType
+        {
+            get
+            {
+                return ResourceTypes.LayerDefinition;
+            }
+        }
+
+        [XmlIgnore]
+        public Version ResourceVersion
+        {
+            get
+            {
+                return RES_VERSION;
+            }
+        }
+
+        object ICloneable.Clone()
+        {
+            return this.Clone();
+        }
+
+        [XmlAttribute("noNamespaceSchemaLocation", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
+        public string ValidatingSchema
+        {
+            get { return "LayerDefinition-1.2.0.xsd"; }
+            set { }
+        }
+
+        [XmlIgnore]
+        public bool IsStronglyTyped
+        {
+            get { return true; }
+        }
+
+        /// <summary>
+        /// Returns the spatial extent of the data. 
+        /// This is calculated by asking the underlying featuresource for the minimum rectangle that
+        /// contains all the features in the specified table. If the <paramref name="allowFallbackToContextInformation"/>
+        /// is set to true, and the query fails, the code will attempt to read this information
+        /// from the spatial context information instead.
+        /// </summary>
+        /// <param name="allowFallbackToContextInformation">True to allow reading spatial extents from the spatial context information, if the spatial query fails.</param>
+        /// <returns>The envelope for the data in the table</returns>
+        public Envelope GetSpatialExtent(bool allowFallbackToContextInformation)
+        {
+            if (this.CurrentConnection == null)
+                throw new System.Exception("No server set for object");
+
+            if (this.Item as VectorLayerDefinitionType != null)
+                return this.CurrentConnection.FeatureService.GetSpatialExtent(this.Item.ResourceId, (this.Item as VectorLayerDefinitionType).FeatureName, (this.Item as VectorLayerDefinitionType).Geometry, allowFallbackToContextInformation);
+            else if (this.Item as GridLayerDefinitionType != null)
+                return this.CurrentConnection.FeatureService.GetSpatialExtent(this.Item.ResourceId, (this.Item as GridLayerDefinitionType).FeatureName, (this.Item as GridLayerDefinitionType).Geometry, allowFallbackToContextInformation);
+            else
+                return null;
+        }
+
+        public Ldf.ISubLayerDefinition SubLayer
+        {
+            get { return this.Item; }
+        }
+    }
+}

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/LayerDefinitionValidator.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/LayerDefinitionValidator.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/LayerDefinitionValidator.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,174 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OSGeo.MapGuide.MaestroAPI.Resource;
+using OSGeo.MapGuide.ObjectModels.FeatureSource;
+using OSGeo.MapGuide.MaestroAPI;
+
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_2_0
+{
+    public class LayerDefinitionValidator : IResourceValidator
+    {
+        public ResourceTypeDescriptor SupportedResourceAndVersion
+        {
+            get { return new ResourceTypeDescriptor(OSGeo.MapGuide.MaestroAPI.ResourceTypes.LayerDefinition, "1.2.0"); }
+        }
+
+        public ValidationIssue[] Validate(IResource resource, bool recurse)
+        {
+            if (resource.ResourceType != OSGeo.MapGuide.MaestroAPI.ResourceTypes.LayerDefinition)
+                return null;
+
+            if (resource.ResourceVersion != new Version(1, 2, 0))
+                return null;
+
+            LayerDefinition ldef = resource as LayerDefinition;
+            VectorLayerDefinitionType vldef = ldef.Item as VectorLayerDefinitionType;
+            GridLayerDefinitionType gldef = ldef.Item as GridLayerDefinitionType;
+            DrawingLayerDefinitionType dldef = ldef.Item as DrawingLayerDefinitionType;
+
+            List<ValidationIssue> issues = new List<ValidationIssue>();
+
+            if (ldef.Item == null)
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_LayerNullError));
+            else if (vldef == null && gldef == null)
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_DrawingLayerDefinitionNotSupportedWarning));
+
+            if (vldef != null)
+            {
+                if (string.IsNullOrEmpty(vldef.FeatureName))
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingFeatureSourceError));
+                if (string.IsNullOrEmpty(vldef.Geometry))
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingGeometryError));
+
+                if (vldef.VectorScaleRange == null || vldef.VectorScaleRange.Count == 0)
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingScaleRangesError));
+                else
+                {
+                    //Test for overlapping scale ranges
+                    List<KeyValuePair<double, double>> ranges = new List<KeyValuePair<double, double>>();
+                    foreach (VectorScaleRangeType vsr in vldef.VectorScaleRange)
+                        ranges.Add(new KeyValuePair<double, double>(
+                            vsr.MaxScaleSpecified ? vsr.MaxScale : double.PositiveInfinity,
+                            vsr.MinScaleSpecified ? vsr.MinScale : double.NegativeInfinity));
+
+                    double min = double.PositiveInfinity;
+                    double max = double.NegativeInfinity;
+                    foreach (KeyValuePair<double, double> sr in ranges)
+                    {
+                        min = Math.Min(min, sr.Value);
+                        max = Math.Max(max, sr.Key);
+                        if (sr.Key < sr.Value)
+                            issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_MinAndMaxScaleSwappedError, sr.Value, sr.Key)));
+                    }
+
+                    //TODO: Detect gaps in scale ranges
+                    for (int i = 0; i < ranges.Count; i++)
+                        for (int j = i + 1; j < ranges.Count; j++)
+                            if (ranges[i].Key > ranges[j].Value || ranges[i].Value > ranges[j].Value)
+                                issues.Add(new ValidationIssue(resource, ValidationStatus.Information, string.Format(Properties.Resources.LDF_ScaleRangesOverlapInformation, ranges[i].Value, ranges[i].Key, ranges[j].Value, ranges[j].Key)));
+
+                }
+            }
+            else if (gldef != null)
+            {
+                if (gldef.GridScaleRange == null || gldef.GridScaleRange.Count == 0)
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingScaleRangesError));
+                else if (gldef.GridScaleRange.Count != 1)
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_MultipleScaleRangesWarning));
+            }
+            else if (dldef != null)
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_DrawingLayerNotSupportedWarning));
+            else
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_UnsupportedLayerTypeWarning));
+
+            if (recurse)
+            {
+                try
+                {
+                    FeatureSourceType fs = (FeatureSourceType)ldef.CurrentConnection.ResourceService.GetResource(ldef.Item.ResourceId);
+                    issues.AddRange(ResourceValidatorSet.Validate(fs, recurse));
+
+                    try
+                    {
+                        if (vldef != null || gldef != null)
+                        {
+                            string schema = vldef == null ? gldef.FeatureName : vldef.FeatureName;
+                            string geometry = vldef == null ? gldef.Geometry : vldef.Geometry;
+
+                            bool foundSchema = false;
+                            bool foundGeometry = false;
+
+                            FeatureSourceDescription desc = fs.Describe();
+                            foreach (FeatureSourceDescription.FeatureSourceSchema scm in desc.Schemas)
+                                if (scm.FullnameDecoded == schema)
+                                {
+                                    foundSchema = true;
+
+                                    foreach (FeatureSetColumn col in scm.Columns)
+                                        if (col.Name == geometry)
+                                        {
+                                            foundGeometry = true;
+                                            break;
+                                        }
+
+
+                                    if (vldef != null && vldef.PropertyMapping != null)
+                                        foreach (NameStringPairType s in vldef.PropertyMapping)
+                                        {
+                                            bool found = false;
+                                            foreach (FeatureSetColumn col in scm.Columns)
+                                                if (col.Name == s.Name)
+                                                {
+                                                    found = true;
+                                                    break;
+                                                }
+
+                                            if (!found)
+                                                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_SchemaMissingError, schema, fs.ResourceID)));
+
+                                        }
+
+                                    break;
+                                }
+
+                            if (!foundSchema)
+                                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_SchemaMissingError, schema, fs.ResourceID)));
+                            else if (!foundGeometry)
+                                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_GeometryMissingError, geometry, schema, fs.ResourceID)));
+                        }
+                    }
+                    catch (Exception)
+                    {
+                        issues.Add(new ValidationIssue(fs, ValidationStatus.Error, string.Format(Properties.Resources.LDF_SchemaAndColumnReadFailedError)));
+                    }
+                }
+                catch (Exception)
+                {
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_FeatureSourceLoadError)));
+                }
+            }
+
+            return issues.ToArray();
+        }
+    }
+}

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{EDDB0F74-6FE7-4969-80B0-817A629722CD}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>OSGeo.MapGuide.ObjectModels.LayerDefinition_1_2_0</RootNamespace>
+    <AssemblyName>OSGeo.MapGuide.ObjectModels.LayerDefinition-1.0.0</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\Generated\LayerDefinition-1.2.0.designer.cs">
+      <Link>LayerDefinition-1.2.0.designer.cs</Link>
+    </Compile>
+    <Compile Include="LayerDefinition.cs" />
+    <Compile Include="LayerDefinitionValidator.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\OSGeo.MapGuide.MaestroAPI\OSGeo.MapGuide.MaestroAPI.csproj">
+      <Project>{80FA3158-8B5F-48D1-A393-0378AFE48A7E}</Project>
+      <Name>OSGeo.MapGuide.MaestroAPI</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/AssemblyInfo.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/AssemblyInfo.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+
+[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0")]
+[assembly: AssemblyCopyright("Copyright ©  2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("624166AF-4576-42d3-9EBB-6B9D79A84E9F")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/Resources.Designer.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/Resources.Designer.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/Resources.Designer.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,189 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:2.0.50727.4927
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_2_0.Properties {
+    using System;
+    
+    
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources() {
+        }
+        
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OSGeo.MapGuide.ObjectModels.LayerDefinition_1_2_0.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Only vector layers and raster layers are currently validated.
+        /// </summary>
+        internal static string LDF_DrawingLayerDefinitionNotSupportedWarning {
+            get {
+                return ResourceManager.GetString("LDF_DrawingLayerDefinitionNotSupportedWarning", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Maestro does not support DrawingLayers.
+        /// </summary>
+        internal static string LDF_DrawingLayerNotSupportedWarning {
+            get {
+                return ResourceManager.GetString("LDF_DrawingLayerNotSupportedWarning", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to load featuresource.
+        /// </summary>
+        internal static string LDF_FeatureSourceLoadError {
+            get {
+                return ResourceManager.GetString("LDF_FeatureSourceLoadError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to find geometry column {0} in schema {1} on featuresource {2}.
+        /// </summary>
+        internal static string LDF_GeometryMissingError {
+            get {
+                return ResourceManager.GetString("LDF_GeometryMissingError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Layer is missing core information.
+        /// </summary>
+        internal static string LDF_LayerNullError {
+            get {
+                return ResourceManager.GetString("LDF_LayerNullError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to The minimum scale ({0}) is larger than the maximum scale ({1}).
+        /// </summary>
+        internal static string LDF_MinAndMaxScaleSwappedError {
+            get {
+                return ResourceManager.GetString("LDF_MinAndMaxScaleSwappedError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No FeatureSource is assigned to the layer.
+        /// </summary>
+        internal static string LDF_MissingFeatureSourceError {
+            get {
+                return ResourceManager.GetString("LDF_MissingFeatureSourceError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No Geometry is assigned to the layer.
+        /// </summary>
+        internal static string LDF_MissingGeometryError {
+            get {
+                return ResourceManager.GetString("LDF_MissingGeometryError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No scale ranges are defined, no data can be displayed.
+        /// </summary>
+        internal static string LDF_MissingScaleRangesError {
+            get {
+                return ResourceManager.GetString("LDF_MissingScaleRangesError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to More than one scale ranges is defined, this is valid, but unsupported by Maestro.
+        /// </summary>
+        internal static string LDF_MultipleScaleRangesWarning {
+            get {
+                return ResourceManager.GetString("LDF_MultipleScaleRangesWarning", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to The scale range {0}-{1} overlaps the range {2}-{3}.
+        /// </summary>
+        internal static string LDF_ScaleRangesOverlapInformation {
+            get {
+                return ResourceManager.GetString("LDF_ScaleRangesOverlapInformation", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to validate column and schema.
+        /// </summary>
+        internal static string LDF_SchemaAndColumnReadFailedError {
+            get {
+                return ResourceManager.GetString("LDF_SchemaAndColumnReadFailedError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to find schema {0} in featuresource {1}.
+        /// </summary>
+        internal static string LDF_SchemaMissingError {
+            get {
+                return ResourceManager.GetString("LDF_SchemaMissingError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to The layer has no type, or the type is unsupported by Maestro.
+        /// </summary>
+        internal static string LDF_UnsupportedLayerTypeWarning {
+            get {
+                return ResourceManager.GetString("LDF_UnsupportedLayerTypeWarning", resourceCulture);
+            }
+        }
+    }
+}

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/Resources.resx
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/Resources.resx	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.2.0/Properties/Resources.resx	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="LDF_DrawingLayerDefinitionNotSupportedWarning" xml:space="preserve">
+    <value>Only vector layers and raster layers are currently validated</value>
+    <comment>A warning message that is displayed if the layer is not Grid or Vector</comment>
+  </data>
+  <data name="LDF_DrawingLayerNotSupportedWarning" xml:space="preserve">
+    <value>Maestro does not support DrawingLayers</value>
+    <comment>A warning message that is displayed if the layer is a DrawingLayer type</comment>
+  </data>
+  <data name="LDF_FeatureSourceLoadError" xml:space="preserve">
+    <value>Failed to load featuresource</value>
+    <comment>An error message that is displayed if the featuresource fails to load</comment>
+  </data>
+  <data name="LDF_GeometryMissingError" xml:space="preserve">
+    <value>Failed to find geometry column {0} in schema {1} on featuresource {2}</value>
+    <comment>An error message that is displayed if the geometry is not present in the selected schema</comment>
+  </data>
+  <data name="LDF_LayerNullError" xml:space="preserve">
+    <value>Layer is missing core information</value>
+    <comment>An error message that is displayed if the layer has a null reference</comment>
+  </data>
+  <data name="LDF_MinAndMaxScaleSwappedError" xml:space="preserve">
+    <value>The minimum scale ({0}) is larger than the maximum scale ({1})</value>
+    <comment>An error message that is displayed if the scale ranges are reversed</comment>
+  </data>
+  <data name="LDF_MissingFeatureSourceError" xml:space="preserve">
+    <value>No FeatureSource is assigned to the layer</value>
+    <comment>An error message that is displayed if the layer has no FeatureSource</comment>
+  </data>
+  <data name="LDF_MissingGeometryError" xml:space="preserve">
+    <value>No Geometry is assigned to the layer</value>
+    <comment>An error message that is displayed if the layer has no geometry column selected</comment>
+  </data>
+  <data name="LDF_MissingScaleRangesError" xml:space="preserve">
+    <value>No scale ranges are defined, no data can be displayed</value>
+    <comment>An error message that is displayed if there are no scale ranges defined</comment>
+  </data>
+  <data name="LDF_MultipleScaleRangesWarning" xml:space="preserve">
+    <value>More than one scale ranges is defined, this is valid, but unsupported by Maestro</value>
+    <comment>A warning message that is displayed if a raster layer has multiple scale ranges defined</comment>
+  </data>
+  <data name="LDF_ScaleRangesOverlapInformation" xml:space="preserve">
+    <value>The scale range {0}-{1} overlaps the range {2}-{3}</value>
+    <comment>A warning message that is displayed if two scaleranges overlap</comment>
+  </data>
+  <data name="LDF_SchemaAndColumnReadFailedError" xml:space="preserve">
+    <value>Failed to validate column and schema</value>
+    <comment>An error message that is displayed if the schema and column read fails</comment>
+  </data>
+  <data name="LDF_SchemaMissingError" xml:space="preserve">
+    <value>Failed to find schema {0} in featuresource {1}</value>
+    <comment>An error message that is displayed if the selected schema is not present in the FeatureSource</comment>
+  </data>
+  <data name="LDF_UnsupportedLayerTypeWarning" xml:space="preserve">
+    <value>The layer has no type, or the type is unsupported by Maestro</value>
+    <comment>A  warning message that is displayed if the layer type is unknown</comment>
+  </data>
+</root>
\ No newline at end of file


Property changes on: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0
___________________________________________________________________
Added: svn:ignore
   + bin
obj


Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/LayerDefinition.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/LayerDefinition.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/LayerDefinition.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,240 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OSGeo.MapGuide.ObjectModels.Common;
+using System.Xml.Serialization;
+using System.ComponentModel;
+using OSGeo.MapGuide.MaestroAPI.Resource;
+using OSGeo.MapGuide.MaestroAPI;
+using Ldf = OSGeo.MapGuide.ObjectModels.LayerDefinition;
+
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_3_0
+{
+    abstract partial class BaseLayerDefinitionType : Ldf.ISubLayerDefinition
+    {
+        [XmlIgnore]
+        public abstract Ldf.LayerType LayerType { get; }
+    }
+
+    partial class VectorLayerDefinitionType : Ldf.IVectorLayerDefinition
+    {
+        public override Ldf.LayerType LayerType
+        {
+            get { return Ldf.LayerType.Vector; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.FeatureSourceID
+        {
+            get { return this.ResourceId; }
+            set { this.ResourceId = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.FullQualifiedClassName
+        {
+            get { return this.FeatureName; }
+            set { this.FeatureName = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.GeometryProperty
+        {
+            get { return this.Geometry; }
+            set { this.Geometry = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.Url
+        {
+            get { return this.Url; }
+            set { this.Url = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.ToolTip
+        {
+            get { return this.ToolTip; }
+            set { this.ToolTip = value; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IVectorLayerDefinition.Filter
+        {
+            get { return this.Filter; }
+            set { this.Filter = value; }
+        }
+    }
+
+    partial class GridLayerDefinitionType : Ldf.IRasterLayerDefinition
+    {
+        public override Ldf.LayerType LayerType
+        {
+            get { return Ldf.LayerType.Raster; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IRasterLayerDefinition.FeatureSourceID
+        {
+            get { return this.ResourceId; }
+            set { this.ResourceId = value; }
+        }
+    }
+
+    partial class DrawingLayerDefinitionType : Ldf.IDrawingLayerDefinition
+    {
+        public override Ldf.LayerType LayerType
+        {
+            get { return Ldf.LayerType.Drawing; }
+        }
+
+        [XmlIgnore]
+        string Ldf.IDrawingLayerDefinition.DrawingSourceID
+        {
+            get { return this.ResourceId; }
+            set { this.ResourceId = value; }
+        }
+    }
+
+    partial class VectorScaleRangeType
+    {
+        #region Missing generated stuff
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        private bool minScaleFieldSpecified;
+
+        [System.Xml.Serialization.XmlIgnoreAttribute()]
+        public bool MinScaleSpecified
+        {
+            get
+            {
+                return this.minScaleFieldSpecified;
+            }
+            set
+            {
+                if ((minScaleFieldSpecified.Equals(value) != true))
+                {
+                    this.minScaleFieldSpecified = value;
+                    this.OnPropertyChanged("MinScaleSpecified");
+                }
+            }
+        }
+        #endregion
+    }
+
+    partial class LayerDefinition : Ldf.ILayerDefinition
+    {
+        private static readonly Version RES_VERSION = new Version(1, 3, 0);
+
+        [XmlIgnore]
+        public OSGeo.MapGuide.MaestroAPI.IServerConnection CurrentConnection
+        {
+            get;
+            set;
+        }
+
+        private string _resId;
+
+        [XmlIgnore]
+        public string ResourceID
+        {
+            get
+            {
+                return _resId;
+            }
+            set
+            {
+                if (!ResourceIdentifier.Validate(value))
+                    throw new InvalidOperationException("Not a valid resource identifier"); //LOCALIZE
+
+                var res = new ResourceIdentifier(value);
+                if (res.Extension != ResourceTypes.LayerDefinition.ToString())
+                    throw new InvalidOperationException("Invalid resource identifier for this type of object: " + res.Extension); //LOCALIZE
+
+                _resId = value;
+                this.OnPropertyChanged("ResourceID");
+            }
+        }
+
+        [XmlIgnore]
+        public ResourceTypes ResourceType
+        {
+            get
+            {
+                return ResourceTypes.LayerDefinition;
+            }
+        }
+
+        [XmlIgnore]
+        public Version ResourceVersion
+        {
+            get
+            {
+                return RES_VERSION;
+            }
+        }
+
+        object ICloneable.Clone()
+        {
+            return this.Clone();
+        }
+
+        [XmlAttribute("noNamespaceSchemaLocation", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
+        public string ValidatingSchema
+        {
+            get { return "LayerDefinition-1.3.0.xsd"; }
+            set { }
+        }
+
+        [XmlIgnore]
+        public bool IsStronglyTyped
+        {
+            get { return true; }
+        }
+
+        /// <summary>
+        /// Returns the spatial extent of the data. 
+        /// This is calculated by asking the underlying featuresource for the minimum rectangle that
+        /// contains all the features in the specified table. If the <paramref name="allowFallbackToContextInformation"/>
+        /// is set to true, and the query fails, the code will attempt to read this information
+        /// from the spatial context information instead.
+        /// </summary>
+        /// <param name="allowFallbackToContextInformation">True to allow reading spatial extents from the spatial context information, if the spatial query fails.</param>
+        /// <returns>The envelope for the data in the table</returns>
+        public Envelope GetSpatialExtent(bool allowFallbackToContextInformation)
+        {
+            if (this.CurrentConnection == null)
+                throw new System.Exception("No server set for object");
+
+            if (this.Item as VectorLayerDefinitionType != null)
+                return this.CurrentConnection.FeatureService.GetSpatialExtent(this.Item.ResourceId, (this.Item as VectorLayerDefinitionType).FeatureName, (this.Item as VectorLayerDefinitionType).Geometry, allowFallbackToContextInformation);
+            else if (this.Item as GridLayerDefinitionType != null)
+                return this.CurrentConnection.FeatureService.GetSpatialExtent(this.Item.ResourceId, (this.Item as GridLayerDefinitionType).FeatureName, (this.Item as GridLayerDefinitionType).Geometry, allowFallbackToContextInformation);
+            else
+                return null;
+        }
+
+        public Ldf.ISubLayerDefinition SubLayer
+        {
+            get { return this.Item; }
+        }
+    }
+}

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/LayerDefinitionValidator.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/LayerDefinitionValidator.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/LayerDefinitionValidator.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,174 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OSGeo.MapGuide.MaestroAPI.Resource;
+using OSGeo.MapGuide.ObjectModels.FeatureSource;
+using OSGeo.MapGuide.MaestroAPI;
+
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_3_0
+{
+    public class LayerDefinitionValidator : IResourceValidator
+    {
+        public ResourceTypeDescriptor SupportedResourceAndVersion
+        {
+            get { return new ResourceTypeDescriptor(OSGeo.MapGuide.MaestroAPI.ResourceTypes.LayerDefinition, "1.3.0"); }
+        }
+
+        public ValidationIssue[] Validate(IResource resource, bool recurse)
+        {
+            if (resource.ResourceType != OSGeo.MapGuide.MaestroAPI.ResourceTypes.LayerDefinition)
+                return null;
+
+            if (resource.ResourceVersion != new Version(1, 3, 0))
+                return null;
+
+            LayerDefinition ldef = resource as LayerDefinition;
+            VectorLayerDefinitionType vldef = ldef.Item as VectorLayerDefinitionType;
+            GridLayerDefinitionType gldef = ldef.Item as GridLayerDefinitionType;
+            DrawingLayerDefinitionType dldef = ldef.Item as DrawingLayerDefinitionType;
+
+            List<ValidationIssue> issues = new List<ValidationIssue>();
+
+            if (ldef.Item == null)
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_LayerNullError));
+            else if (vldef == null && gldef == null)
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_DrawingLayerDefinitionNotSupportedWarning));
+
+            if (vldef != null)
+            {
+                if (string.IsNullOrEmpty(vldef.FeatureName))
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingFeatureSourceError));
+                if (string.IsNullOrEmpty(vldef.Geometry))
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingGeometryError));
+
+                if (vldef.VectorScaleRange == null || vldef.VectorScaleRange.Count == 0)
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingScaleRangesError));
+                else
+                {
+                    //Test for overlapping scale ranges
+                    List<KeyValuePair<double, double>> ranges = new List<KeyValuePair<double, double>>();
+                    foreach (VectorScaleRangeType vsr in vldef.VectorScaleRange)
+                        ranges.Add(new KeyValuePair<double, double>(
+                            vsr.MaxScaleSpecified ? vsr.MaxScale : double.PositiveInfinity,
+                            vsr.MinScaleSpecified ? vsr.MinScale : double.NegativeInfinity));
+
+                    double min = double.PositiveInfinity;
+                    double max = double.NegativeInfinity;
+                    foreach (KeyValuePair<double, double> sr in ranges)
+                    {
+                        min = Math.Min(min, sr.Value);
+                        max = Math.Max(max, sr.Key);
+                        if (sr.Key < sr.Value)
+                            issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_MinAndMaxScaleSwappedError, sr.Value, sr.Key)));
+                    }
+
+                    //TODO: Detect gaps in scale ranges
+                    for (int i = 0; i < ranges.Count; i++)
+                        for (int j = i + 1; j < ranges.Count; j++)
+                            if (ranges[i].Key > ranges[j].Value || ranges[i].Value > ranges[j].Value)
+                                issues.Add(new ValidationIssue(resource, ValidationStatus.Information, string.Format(Properties.Resources.LDF_ScaleRangesOverlapInformation, ranges[i].Value, ranges[i].Key, ranges[j].Value, ranges[j].Key)));
+
+                }
+            }
+            else if (gldef != null)
+            {
+                if (gldef.GridScaleRange == null || gldef.GridScaleRange.Count == 0)
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, Properties.Resources.LDF_MissingScaleRangesError));
+                else if (gldef.GridScaleRange.Count != 1)
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_MultipleScaleRangesWarning));
+            }
+            else if (dldef != null)
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_DrawingLayerNotSupportedWarning));
+            else
+                issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, Properties.Resources.LDF_UnsupportedLayerTypeWarning));
+
+            if (recurse)
+            {
+                try
+                {
+                    FeatureSourceType fs = (FeatureSourceType)ldef.CurrentConnection.ResourceService.GetResource(ldef.Item.ResourceId);
+                    issues.AddRange(ResourceValidatorSet.Validate(fs, recurse));
+
+                    try
+                    {
+                        if (vldef != null || gldef != null)
+                        {
+                            string schema = vldef == null ? gldef.FeatureName : vldef.FeatureName;
+                            string geometry = vldef == null ? gldef.Geometry : vldef.Geometry;
+
+                            bool foundSchema = false;
+                            bool foundGeometry = false;
+
+                            FeatureSourceDescription desc = fs.Describe();
+                            foreach (FeatureSourceDescription.FeatureSourceSchema scm in desc.Schemas)
+                                if (scm.FullnameDecoded == schema)
+                                {
+                                    foundSchema = true;
+
+                                    foreach (FeatureSetColumn col in scm.Columns)
+                                        if (col.Name == geometry)
+                                        {
+                                            foundGeometry = true;
+                                            break;
+                                        }
+
+
+                                    if (vldef != null && vldef.PropertyMapping != null)
+                                        foreach (NameStringPairType s in vldef.PropertyMapping)
+                                        {
+                                            bool found = false;
+                                            foreach (FeatureSetColumn col in scm.Columns)
+                                                if (col.Name == s.Name)
+                                                {
+                                                    found = true;
+                                                    break;
+                                                }
+
+                                            if (!found)
+                                                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_SchemaMissingError, schema, fs.ResourceID)));
+
+                                        }
+
+                                    break;
+                                }
+
+                            if (!foundSchema)
+                                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_SchemaMissingError, schema, fs.ResourceID)));
+                            else if (!foundGeometry)
+                                issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_GeometryMissingError, geometry, schema, fs.ResourceID)));
+                        }
+                    }
+                    catch (Exception)
+                    {
+                        issues.Add(new ValidationIssue(fs, ValidationStatus.Error, string.Format(Properties.Resources.LDF_SchemaAndColumnReadFailedError)));
+                    }
+                }
+                catch (Exception)
+                {
+                    issues.Add(new ValidationIssue(resource, ValidationStatus.Error, string.Format(Properties.Resources.LDF_FeatureSourceLoadError)));
+                }
+            }
+
+            return issues.ToArray();
+        }
+    }
+}

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{AC5068F6-CFBE-4BCD-B68B-062725E424D4}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>OSGeo.MapGuide.ObjectModels.LayerDefinition_1_3_0</RootNamespace>
+    <AssemblyName>OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\Generated\LayerDefinition-1.3.0.designer.cs">
+      <Link>LayerDefinition-1.3.0.designer.cs</Link>
+    </Compile>
+    <Compile Include="LayerDefinition.cs" />
+    <Compile Include="LayerDefinitionValidator.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\OSGeo.MapGuide.MaestroAPI\OSGeo.MapGuide.MaestroAPI.csproj">
+      <Project>{80FA3158-8B5F-48D1-A393-0378AFE48A7E}</Project>
+      <Name>OSGeo.MapGuide.MaestroAPI</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/AssemblyInfo.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/AssemblyInfo.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+
+[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0")]
+[assembly: AssemblyCopyright("Copyright ©  2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("26445A6B-5701-47ea-860F-105E4F02B086")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/Resources.Designer.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/Resources.Designer.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/Resources.Designer.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,189 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:2.0.50727.4927
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_3_0.Properties {
+    using System;
+    
+    
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources() {
+        }
+        
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OSGeo.MapGuide.ObjectModels.LayerDefinition_1_3_0.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Only vector layers and raster layers are currently validated.
+        /// </summary>
+        internal static string LDF_DrawingLayerDefinitionNotSupportedWarning {
+            get {
+                return ResourceManager.GetString("LDF_DrawingLayerDefinitionNotSupportedWarning", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Maestro does not support DrawingLayers.
+        /// </summary>
+        internal static string LDF_DrawingLayerNotSupportedWarning {
+            get {
+                return ResourceManager.GetString("LDF_DrawingLayerNotSupportedWarning", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to load featuresource.
+        /// </summary>
+        internal static string LDF_FeatureSourceLoadError {
+            get {
+                return ResourceManager.GetString("LDF_FeatureSourceLoadError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to find geometry column {0} in schema {1} on featuresource {2}.
+        /// </summary>
+        internal static string LDF_GeometryMissingError {
+            get {
+                return ResourceManager.GetString("LDF_GeometryMissingError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Layer is missing core information.
+        /// </summary>
+        internal static string LDF_LayerNullError {
+            get {
+                return ResourceManager.GetString("LDF_LayerNullError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to The minimum scale ({0}) is larger than the maximum scale ({1}).
+        /// </summary>
+        internal static string LDF_MinAndMaxScaleSwappedError {
+            get {
+                return ResourceManager.GetString("LDF_MinAndMaxScaleSwappedError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No FeatureSource is assigned to the layer.
+        /// </summary>
+        internal static string LDF_MissingFeatureSourceError {
+            get {
+                return ResourceManager.GetString("LDF_MissingFeatureSourceError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No Geometry is assigned to the layer.
+        /// </summary>
+        internal static string LDF_MissingGeometryError {
+            get {
+                return ResourceManager.GetString("LDF_MissingGeometryError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No scale ranges are defined, no data can be displayed.
+        /// </summary>
+        internal static string LDF_MissingScaleRangesError {
+            get {
+                return ResourceManager.GetString("LDF_MissingScaleRangesError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to More than one scale ranges is defined, this is valid, but unsupported by Maestro.
+        /// </summary>
+        internal static string LDF_MultipleScaleRangesWarning {
+            get {
+                return ResourceManager.GetString("LDF_MultipleScaleRangesWarning", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to The scale range {0}-{1} overlaps the range {2}-{3}.
+        /// </summary>
+        internal static string LDF_ScaleRangesOverlapInformation {
+            get {
+                return ResourceManager.GetString("LDF_ScaleRangesOverlapInformation", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to validate column and schema.
+        /// </summary>
+        internal static string LDF_SchemaAndColumnReadFailedError {
+            get {
+                return ResourceManager.GetString("LDF_SchemaAndColumnReadFailedError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Failed to find schema {0} in featuresource {1}.
+        /// </summary>
+        internal static string LDF_SchemaMissingError {
+            get {
+                return ResourceManager.GetString("LDF_SchemaMissingError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to The layer has no type, or the type is unsupported by Maestro.
+        /// </summary>
+        internal static string LDF_UnsupportedLayerTypeWarning {
+            get {
+                return ResourceManager.GetString("LDF_UnsupportedLayerTypeWarning", resourceCulture);
+            }
+        }
+    }
+}

Added: sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/Resources.resx
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/Resources.resx	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LayerDefinition-1.3.0/Properties/Resources.resx	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="LDF_DrawingLayerDefinitionNotSupportedWarning" xml:space="preserve">
+    <value>Only vector layers and raster layers are currently validated</value>
+    <comment>A warning message that is displayed if the layer is not Grid or Vector</comment>
+  </data>
+  <data name="LDF_DrawingLayerNotSupportedWarning" xml:space="preserve">
+    <value>Maestro does not support DrawingLayers</value>
+    <comment>A warning message that is displayed if the layer is a DrawingLayer type</comment>
+  </data>
+  <data name="LDF_FeatureSourceLoadError" xml:space="preserve">
+    <value>Failed to load featuresource</value>
+    <comment>An error message that is displayed if the featuresource fails to load</comment>
+  </data>
+  <data name="LDF_GeometryMissingError" xml:space="preserve">
+    <value>Failed to find geometry column {0} in schema {1} on featuresource {2}</value>
+    <comment>An error message that is displayed if the geometry is not present in the selected schema</comment>
+  </data>
+  <data name="LDF_LayerNullError" xml:space="preserve">
+    <value>Layer is missing core information</value>
+    <comment>An error message that is displayed if the layer has a null reference</comment>
+  </data>
+  <data name="LDF_MinAndMaxScaleSwappedError" xml:space="preserve">
+    <value>The minimum scale ({0}) is larger than the maximum scale ({1})</value>
+    <comment>An error message that is displayed if the scale ranges are reversed</comment>
+  </data>
+  <data name="LDF_MissingFeatureSourceError" xml:space="preserve">
+    <value>No FeatureSource is assigned to the layer</value>
+    <comment>An error message that is displayed if the layer has no FeatureSource</comment>
+  </data>
+  <data name="LDF_MissingGeometryError" xml:space="preserve">
+    <value>No Geometry is assigned to the layer</value>
+    <comment>An error message that is displayed if the layer has no geometry column selected</comment>
+  </data>
+  <data name="LDF_MissingScaleRangesError" xml:space="preserve">
+    <value>No scale ranges are defined, no data can be displayed</value>
+    <comment>An error message that is displayed if there are no scale ranges defined</comment>
+  </data>
+  <data name="LDF_MultipleScaleRangesWarning" xml:space="preserve">
+    <value>More than one scale ranges is defined, this is valid, but unsupported by Maestro</value>
+    <comment>A warning message that is displayed if a raster layer has multiple scale ranges defined</comment>
+  </data>
+  <data name="LDF_ScaleRangesOverlapInformation" xml:space="preserve">
+    <value>The scale range {0}-{1} overlaps the range {2}-{3}</value>
+    <comment>A warning message that is displayed if two scaleranges overlap</comment>
+  </data>
+  <data name="LDF_SchemaAndColumnReadFailedError" xml:space="preserve">
+    <value>Failed to validate column and schema</value>
+    <comment>An error message that is displayed if the schema and column read fails</comment>
+  </data>
+  <data name="LDF_SchemaMissingError" xml:space="preserve">
+    <value>Failed to find schema {0} in featuresource {1}</value>
+    <comment>An error message that is displayed if the selected schema is not present in the FeatureSource</comment>
+  </data>
+  <data name="LDF_UnsupportedLayerTypeWarning" xml:space="preserve">
+    <value>The layer has no type, or the type is unsupported by Maestro</value>
+    <comment>A  warning message that is displayed if the layer type is unknown</comment>
+  </data>
+</root>
\ No newline at end of file


Property changes on: sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0
___________________________________________________________________
Added: svn:ignore
   + bin
obj


Added: sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0/OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0.csproj
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0/OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0.csproj	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0/OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>OSGeo.MapGuide.ObjectModels.LoadProcedure</RootNamespace>
+    <AssemblyName>OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\Generated\LoadProcedure-1.1.0.designer.cs">
+      <Link>LoadProcedure-1.1.0.designer.cs</Link>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0/Properties/AssemblyInfo.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LoadProcedure-1.1.0/Properties/AssemblyInfo.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+
+[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0")]
+[assembly: AssemblyCopyright("Copyright ©  2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("1A2538B2-D67D-4f1e-B110-2D3691EEDF07")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]


Property changes on: sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0
___________________________________________________________________
Added: svn:ignore
   + bin
obj


Added: sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0/OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0.csproj
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0/OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0.csproj	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0/OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{D525B343-66D6-4D6B-9A55-78A173D94A51}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>OSGeo.MapGuide.ObjectModels.LoadProcedure</RootNamespace>
+    <AssemblyName>OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\Generated\LoadProcedure-2.2.0.designer.cs">
+      <Link>LoadProcedure-2.2.0.designer.cs</Link>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0/Properties/AssemblyInfo.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/LoadProcedure-2.2.0/Properties/AssemblyInfo.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+
+[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0")]
+[assembly: AssemblyCopyright("Copyright ©  2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("6FB5A22B-B211-42aa-8217-573999F91276")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]


Property changes on: sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0
___________________________________________________________________
Added: svn:ignore
   + bin
obj


Added: sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>OSGeo.MapGuide.ObjectModels.SymbolDefinition</RootNamespace>
+    <AssemblyName>OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\Generated\SymbolDefinition-1.1.0.designer.cs">
+      <Link>SymbolDefinition-1.1.0.designer.cs</Link>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/Properties/AssemblyInfo.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/Properties/AssemblyInfo.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+
+[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0")]
+[assembly: AssemblyCopyright("Copyright ©  2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("1E18DC05-595C-49b5-965D-105F2C29E13C")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]


Property changes on: sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0
___________________________________________________________________
Added: svn:ignore
   + bin
obj


Added: sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0.csproj
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0.csproj	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>OSGeo.MapGuide.ObjectModels.WebLayout_1_1_0</RootNamespace>
+    <AssemblyName>OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\Generated\WebLayout-1.1.0.designer.cs">
+      <Link>WebLayout-1.1.0.designer.cs</Link>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="WebLayoutType.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/Properties/AssemblyInfo.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/Properties/AssemblyInfo.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+
+[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0")]
+[assembly: AssemblyCopyright("Copyright ©  2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("92D37705-B476-438c-A808-2B6A6F94F9A3")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Added: sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/WebLayoutType.cs
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/WebLayoutType.cs	                        (rev 0)
+++ sandbox/maestro-3.0/ExtendedModels/WebLayout-1.1.0/WebLayoutType.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,29 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace OSGeo.MapGuide.ObjectModels.WebLayout_1_1_0
+{
+    partial class WebLayoutType
+    {
+    }
+}

Deleted: sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.1.0.cs
===================================================================
--- sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.1.0.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.1.0.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,37 +0,0 @@
-using System.Reflection;
-
-using System.Reflection;
-using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-
-[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0")]
-[assembly: AssemblyCopyright("Copyright ©  2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("FCCE9608-F62D-4110-82F0-DC4CC5B0E737")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

Deleted: sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.2.0.cs
===================================================================
--- sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.2.0.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.2.0.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-
-[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0")]
-[assembly: AssemblyCopyright("Copyright ©  2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("624166AF-4576-42d3-9EBB-6B9D79A84E9F")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

Deleted: sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.3.0.cs
===================================================================
--- sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.3.0.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/AssemblyInfoLayerDef-1.3.0.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-
-[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0")]
-[assembly: AssemblyCopyright("Copyright ©  2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("26445A6B-5701-47ea-860F-105E4F02B086")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

Deleted: sandbox/maestro-3.0/Generated/AssemblyInfoLoadProc-1.1.0.cs
===================================================================
--- sandbox/maestro-3.0/Generated/AssemblyInfoLoadProc-1.1.0.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/AssemblyInfoLoadProc-1.1.0.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-
-[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0")]
-[assembly: AssemblyCopyright("Copyright ©  2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("1A2538B2-D67D-4f1e-B110-2D3691EEDF07")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

Deleted: sandbox/maestro-3.0/Generated/AssemblyInfoLoadProc-2.2.0.cs
===================================================================
--- sandbox/maestro-3.0/Generated/AssemblyInfoLoadProc-2.2.0.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/AssemblyInfoLoadProc-2.2.0.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-
-[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0")]
-[assembly: AssemblyCopyright("Copyright ©  2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("6FB5A22B-B211-42aa-8217-573999F91276")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

Deleted: sandbox/maestro-3.0/Generated/AssemblyInfoSymbolDef-1.1.0.cs
===================================================================
--- sandbox/maestro-3.0/Generated/AssemblyInfoSymbolDef-1.1.0.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/AssemblyInfoSymbolDef-1.1.0.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-
-[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0")]
-[assembly: AssemblyCopyright("Copyright ©  2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("1E18DC05-595C-49b5-965D-105F2C29E13C")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

Deleted: sandbox/maestro-3.0/Generated/AssemblyInfoWebLayout-1.1.0.cs
===================================================================
--- sandbox/maestro-3.0/Generated/AssemblyInfoWebLayout-1.1.0.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/AssemblyInfoWebLayout-1.1.0.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-
-[assembly: AssemblyTitle("OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0")]
-[assembly: AssemblyCopyright("Copyright ©  2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("92D37705-B476-438c-A808-2B6A6F94F9A3")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

Modified: sandbox/maestro-3.0/Generated/LayerDefinition-1.1.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/LayerDefinition-1.1.0.designer.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/LayerDefinition-1.1.0.designer.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -4,7 +4,8 @@
 //    <NameSpace>OSGeo.MapGuide.ObjectModels.LayerDefinition</NameSpace><Collection>BindingList</Collection><codeType>CSharp</codeType><EnableDataBinding>True</EnableDataBinding><EnableLasyLoading>False</EnableLasyLoading><HidePrivateFieldInIDE>True</HidePrivateFieldInIDE><EnableSummaryComment>True</EnableSummaryComment><IncludeSerializeMethod>True</IncludeSerializeMethod><UseBaseClass>False</UseBaseClass><GenerateCloneMethod>True</GenerateCloneMethod><GenerateDataContracts>False</GenerateDataContracts><CodeBaseTag>Net20</CodeBaseTag><SerializeMethodName>Serialize</SerializeMethodName><DeserializeMethodName>Deserialize</DeserializeMethodName><SaveToFileMethodName>SaveToFile</SaveToFileMethodName><LoadFromFileMethodName>LoadFromFile</LoadFromFileMethodName><GenerateXMLAttributes>True</GenerateXMLAttributes><AutomaticProperties>False</AutomaticProperties><DisableDebug>False</DisableDebug><CustomUsings></CustomUsings><ExcludeIncludedTypes>False</ExcludeIncludedTypes><EnableInit
 ializeFields>False</EnableInitializeFields>
 //  </auto-generated>
 // ------------------------------------------------------------------------------
-namespace OSGeo.MapGuide.ObjectModels.LayerDefinition {
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_1_0
+{
     using System;
     using System.Diagnostics;
     using System.Xml.Serialization;

Modified: sandbox/maestro-3.0/Generated/LayerDefinition-1.2.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/LayerDefinition-1.2.0.designer.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/LayerDefinition-1.2.0.designer.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -4,7 +4,8 @@
 //    <NameSpace>OSGeo.MapGuide.ObjectModels.LayerDefinition</NameSpace><Collection>BindingList</Collection><codeType>CSharp</codeType><EnableDataBinding>True</EnableDataBinding><EnableLasyLoading>False</EnableLasyLoading><HidePrivateFieldInIDE>True</HidePrivateFieldInIDE><EnableSummaryComment>True</EnableSummaryComment><IncludeSerializeMethod>True</IncludeSerializeMethod><UseBaseClass>False</UseBaseClass><GenerateCloneMethod>True</GenerateCloneMethod><GenerateDataContracts>False</GenerateDataContracts><CodeBaseTag>Net20</CodeBaseTag><SerializeMethodName>Serialize</SerializeMethodName><DeserializeMethodName>Deserialize</DeserializeMethodName><SaveToFileMethodName>SaveToFile</SaveToFileMethodName><LoadFromFileMethodName>LoadFromFile</LoadFromFileMethodName><GenerateXMLAttributes>True</GenerateXMLAttributes><AutomaticProperties>False</AutomaticProperties><DisableDebug>False</DisableDebug><CustomUsings></CustomUsings><ExcludeIncludedTypes>False</ExcludeIncludedTypes><EnableInit
 ializeFields>False</EnableInitializeFields>
 //  </auto-generated>
 // ------------------------------------------------------------------------------
-namespace OSGeo.MapGuide.ObjectModels.LayerDefinition {
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_2_0
+{
     using System;
     using System.Diagnostics;
     using System.Xml.Serialization;

Modified: sandbox/maestro-3.0/Generated/LayerDefinition-1.3.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/LayerDefinition-1.3.0.designer.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/LayerDefinition-1.3.0.designer.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -4,7 +4,7 @@
 //    <NameSpace>OSGeo.MapGuide.ObjectModels.LayerDefinition</NameSpace><Collection>BindingList</Collection><codeType>CSharp</codeType><EnableDataBinding>True</EnableDataBinding><EnableLasyLoading>False</EnableLasyLoading><HidePrivateFieldInIDE>True</HidePrivateFieldInIDE><EnableSummaryComment>True</EnableSummaryComment><IncludeSerializeMethod>True</IncludeSerializeMethod><UseBaseClass>False</UseBaseClass><GenerateCloneMethod>True</GenerateCloneMethod><GenerateDataContracts>False</GenerateDataContracts><CodeBaseTag>Net20</CodeBaseTag><SerializeMethodName>Serialize</SerializeMethodName><DeserializeMethodName>Deserialize</DeserializeMethodName><SaveToFileMethodName>SaveToFile</SaveToFileMethodName><LoadFromFileMethodName>LoadFromFile</LoadFromFileMethodName><GenerateXMLAttributes>True</GenerateXMLAttributes><AutomaticProperties>False</AutomaticProperties><DisableDebug>False</DisableDebug><CustomUsings></CustomUsings><ExcludeIncludedTypes>False</ExcludeIncludedTypes><EnableInit
 ializeFields>False</EnableInitializeFields>
 //  </auto-generated>
 // ------------------------------------------------------------------------------
-namespace OSGeo.MapGuide.ObjectModels.LayerDefinition {
+namespace OSGeo.MapGuide.ObjectModels.LayerDefinition_1_3_0 {
     using System;
     using System.Diagnostics;
     using System.Xml.Serialization;

Deleted: sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj
===================================================================
--- sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>OSGeo.MapGuide.ObjectModels.LayerDefinition</RootNamespace>
-    <AssemblyName>OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfoLayerDef-1.1.0.cs" />
-    <Compile Include="LayerDefinition-1.1.0.designer.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

Deleted: sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj
===================================================================
--- sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{EDDB0F74-6FE7-4969-80B0-817A629722CD}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>OSGeo.MapGuide.ObjectModels.LayerDefinition</RootNamespace>
-    <AssemblyName>OSGeo.MapGuide.ObjectModels.LayerDefinition-1.0.0</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfoLayerDef-1.2.0.cs" />
-    <Compile Include="LayerDefinition-1.2.0.designer.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

Deleted: sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj
===================================================================
--- sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{AC5068F6-CFBE-4BCD-B68B-062725E424D4}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>OSGeo.MapGuide.ObjectModels.LayerDefinition</RootNamespace>
-    <AssemblyName>OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfoLayerDef-1.3.0.cs" />
-    <Compile Include="LayerDefinition-1.3.0.designer.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

Deleted: sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0.csproj
===================================================================
--- sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0.csproj	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>OSGeo.MapGuide.ObjectModels.LoadProcedure</RootNamespace>
-    <AssemblyName>OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfoLoadProc-1.1.0.cs" />
-    <Compile Include="LoadProcedure-1.1.0.designer.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

Deleted: sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0.csproj
===================================================================
--- sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0.csproj	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{D525B343-66D6-4D6B-9A55-78A173D94A51}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>OSGeo.MapGuide.ObjectModels.LoadProcedure</RootNamespace>
-    <AssemblyName>OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfoLoadProc-2.2.0.cs" />
-    <Compile Include="LoadProcedure-2.2.0.designer.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

Deleted: sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj
===================================================================
--- sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>OSGeo.MapGuide.ObjectModels.SymbolDefinition</RootNamespace>
-    <AssemblyName>OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfoSymbolDef-1.1.0.cs" />
-    <Compile Include="SymbolDefinition-1.1.0.designer.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

Deleted: sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0.csproj
===================================================================
--- sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0.csproj	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>OSGeo.MapGuide.ObjectModels.WebLayout</RootNamespace>
-    <AssemblyName>OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0</AssemblyName>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfoWebLayout-1.1.0.cs" />
-    <Compile Include="WebLayout-1.1.0.designer.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

Modified: sandbox/maestro-3.0/Generated/WebLayout-1.1.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/WebLayout-1.1.0.designer.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Generated/WebLayout-1.1.0.designer.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -4,7 +4,7 @@
 //    <NameSpace>OSGeo.MapGuide.ObjectModels.WebLayout</NameSpace><Collection>BindingList</Collection><codeType>CSharp</codeType><EnableDataBinding>True</EnableDataBinding><EnableLasyLoading>False</EnableLasyLoading><HidePrivateFieldInIDE>True</HidePrivateFieldInIDE><EnableSummaryComment>True</EnableSummaryComment><IncludeSerializeMethod>True</IncludeSerializeMethod><UseBaseClass>False</UseBaseClass><GenerateCloneMethod>True</GenerateCloneMethod><GenerateDataContracts>False</GenerateDataContracts><CodeBaseTag>Net20</CodeBaseTag><SerializeMethodName>Serialize</SerializeMethodName><DeserializeMethodName>Deserialize</DeserializeMethodName><SaveToFileMethodName>SaveToFile</SaveToFileMethodName><LoadFromFileMethodName>LoadFromFile</LoadFromFileMethodName><GenerateXMLAttributes>True</GenerateXMLAttributes><AutomaticProperties>False</AutomaticProperties><DisableDebug>False</DisableDebug><CustomUsings></CustomUsings><ExcludeIncludedTypes>False</ExcludeIncludedTypes><EnableInitialize
 Fields>False</EnableInitializeFields>
 //  </auto-generated>
 // ------------------------------------------------------------------------------
-namespace OSGeo.MapGuide.ObjectModels.WebLayout {
+namespace OSGeo.MapGuide.ObjectModels.WebLayout_1_1_0 {
     using System;
     using System.Diagnostics;
     using System.Xml.Serialization;

Modified: sandbox/maestro-3.0/Maestro/Maestro.sln
===================================================================
--- sandbox/maestro-3.0/Maestro/Maestro.sln	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/Maestro/Maestro.sln	2010-07-22 04:10:35 UTC (rev 5047)
@@ -25,20 +25,6 @@
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extended Object Models", "Extended Object Models", "{81BF310C-0BBC-41F0-ADA5-B201D9769AFC}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0", "..\Generated\OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj", "{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0", "..\Generated\OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj", "{EDDB0F74-6FE7-4969-80B0-817A629722CD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0", "..\Generated\OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj", "{AC5068F6-CFBE-4BCD-B68B-062725E424D4}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0", "..\Generated\OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0.csproj", "{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0", "..\Generated\OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0.csproj", "{D525B343-66D6-4D6B-9A55-78A173D94A51}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0", "..\Generated\OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj", "{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0", "..\Generated\OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0.csproj", "{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}"
-EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unit Tests", "Unit Tests", "{499D2A40-7BEB-4578-9148-0D19F45A1858}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MaestroAPITests", "..\MaestroAPITests\MaestroAPITests.csproj", "{351D49A3-2E4A-4EC3-AFC2-D56598F44F51}"
@@ -68,6 +54,26 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maestro.ResourceValidation", "..\Maestro.ResourceValidation\Maestro.ResourceValidation.csproj", "{3B29C138-666C-46D0-A55D-824E5192C091}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0", "..\ExtendedModels\LayerDefinition-1.1.0\OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj", "{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0", "..\ExtendedModels\LayerDefinition-1.2.0\OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj", "{EDDB0F74-6FE7-4969-80B0-817A629722CD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0", "..\ExtendedModels\LayerDefinition-1.3.0\OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj", "{AC5068F6-CFBE-4BCD-B68B-062725E424D4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0", "..\ExtendedModels\LoadProcedure-1.1.0\OSGeo.MapGuide.ObjectModels.LoadProcedure-1.1.0.csproj", "{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0", "..\ExtendedModels\LoadProcedure-2.2.0\OSGeo.MapGuide.ObjectModels.LoadProcedure-2.2.0.csproj", "{D525B343-66D6-4D6B-9A55-78A173D94A51}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0", "..\ExtendedModels\SymbolDefinition-1.1.0\OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj", "{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0", "..\ExtendedModels\WebLayout-1.1.0\OSGeo.MapGuide.ObjectModels.WebLayout-1.1.0.csproj", "{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maestro.AddIn.LayerDefinition-1.1.0", "..\Maestro.AddIn.LayerDefinition-1.1.0\Maestro.AddIn.LayerDefinition-1.1.0.csproj", "{CA7F688E-70A3-4FCB-BFB0-7E752B4A8DFC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maestro.AddIn.LayerDefinition-1.2.0", "..\Maestro.AddIn.LayerDefinition-1.2.0\Maestro.AddIn.LayerDefinition-1.2.0.csproj", "{1E489B7F-1BA1-4B1A-BC69-CE82EF2F5C5B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maestro.AddIn.LayerDefinition-1.3.0", "..\Maestro.AddIn.LayerDefinition-1.3.0\Maestro.AddIn.LayerDefinition-1.3.0.csproj", "{A49487F7-FCDD-4818-8C7E-2CADABA51B06}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -98,34 +104,6 @@
 		{6EF1E775-444B-4E5F-87FB-D687C43A68D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{6EF1E775-444B-4E5F-87FB-D687C43A68D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{6EF1E775-444B-4E5F-87FB-D687C43A68D7}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}.Release|Any CPU.Build.0 = Release|Any CPU
-		{EDDB0F74-6FE7-4969-80B0-817A629722CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{EDDB0F74-6FE7-4969-80B0-817A629722CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{EDDB0F74-6FE7-4969-80B0-817A629722CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{EDDB0F74-6FE7-4969-80B0-817A629722CD}.Release|Any CPU.Build.0 = Release|Any CPU
-		{AC5068F6-CFBE-4BCD-B68B-062725E424D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{AC5068F6-CFBE-4BCD-B68B-062725E424D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{AC5068F6-CFBE-4BCD-B68B-062725E424D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{AC5068F6-CFBE-4BCD-B68B-062725E424D4}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D525B343-66D6-4D6B-9A55-78A173D94A51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D525B343-66D6-4D6B-9A55-78A173D94A51}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D525B343-66D6-4D6B-9A55-78A173D94A51}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D525B343-66D6-4D6B-9A55-78A173D94A51}.Release|Any CPU.Build.0 = Release|Any CPU
-		{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}.Release|Any CPU.Build.0 = Release|Any CPU
 		{351D49A3-2E4A-4EC3-AFC2-D56598F44F51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{351D49A3-2E4A-4EC3-AFC2-D56598F44F51}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{351D49A3-2E4A-4EC3-AFC2-D56598F44F51}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -174,6 +152,46 @@
 		{3B29C138-666C-46D0-A55D-824E5192C091}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{3B29C138-666C-46D0-A55D-824E5192C091}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{3B29C138-666C-46D0-A55D-824E5192C091}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}.Release|Any CPU.Build.0 = Release|Any CPU
+		{EDDB0F74-6FE7-4969-80B0-817A629722CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EDDB0F74-6FE7-4969-80B0-817A629722CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EDDB0F74-6FE7-4969-80B0-817A629722CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{EDDB0F74-6FE7-4969-80B0-817A629722CD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AC5068F6-CFBE-4BCD-B68B-062725E424D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AC5068F6-CFBE-4BCD-B68B-062725E424D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AC5068F6-CFBE-4BCD-B68B-062725E424D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AC5068F6-CFBE-4BCD-B68B-062725E424D4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B2A1F69E-52AA-42A2-8DED-89ADB9B14A38}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D525B343-66D6-4D6B-9A55-78A173D94A51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D525B343-66D6-4D6B-9A55-78A173D94A51}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D525B343-66D6-4D6B-9A55-78A173D94A51}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D525B343-66D6-4D6B-9A55-78A173D94A51}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BF6E996E-27AF-44CD-B3CF-A40874E15B2E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0A93ACA8-5B21-44E6-B0B7-5D1E72D3A6A2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CA7F688E-70A3-4FCB-BFB0-7E752B4A8DFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{CA7F688E-70A3-4FCB-BFB0-7E752B4A8DFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CA7F688E-70A3-4FCB-BFB0-7E752B4A8DFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{CA7F688E-70A3-4FCB-BFB0-7E752B4A8DFC}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1E489B7F-1BA1-4B1A-BC69-CE82EF2F5C5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1E489B7F-1BA1-4B1A-BC69-CE82EF2F5C5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1E489B7F-1BA1-4B1A-BC69-CE82EF2F5C5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1E489B7F-1BA1-4B1A-BC69-CE82EF2F5C5B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A49487F7-FCDD-4818-8C7E-2CADABA51B06}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A49487F7-FCDD-4818-8C7E-2CADABA51B06}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A49487F7-FCDD-4818-8C7E-2CADABA51B06}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A49487F7-FCDD-4818-8C7E-2CADABA51B06}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -184,6 +202,9 @@
 		{E73BB233-D88B-44A7-A98F-D71EE158381D} = {EB18A52E-9245-4D60-8C68-3D6C6EEA38A7}
 		{F1E2F468-5030-4DBA-968C-9620284AFAA1} = {7C52C291-B8DC-40DC-9AFB-F4A9CADC442B}
 		{75D70A8D-03ED-439E-96E6-72A0F717A23B} = {7C52C291-B8DC-40DC-9AFB-F4A9CADC442B}
+		{CA7F688E-70A3-4FCB-BFB0-7E752B4A8DFC} = {7C52C291-B8DC-40DC-9AFB-F4A9CADC442B}
+		{1E489B7F-1BA1-4B1A-BC69-CE82EF2F5C5B} = {7C52C291-B8DC-40DC-9AFB-F4A9CADC442B}
+		{A49487F7-FCDD-4818-8C7E-2CADABA51B06} = {7C52C291-B8DC-40DC-9AFB-F4A9CADC442B}
 		{80FA3158-8B5F-48D1-A393-0378AFE48A7E} = {ED1D6D53-C3B5-4FE3-A5B1-CBA8472CE2FE}
 		{6EF1E775-444B-4E5F-87FB-D687C43A68D7} = {ED1D6D53-C3B5-4FE3-A5B1-CBA8472CE2FE}
 		{FCC83861-96C6-43CA-B33B-DB1D0DEC8E79} = {ED1D6D53-C3B5-4FE3-A5B1-CBA8472CE2FE}


Property changes on: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0
___________________________________________________________________
Added: svn:ignore
   + bin
obj


Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Commands/StartupCommand.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Commands/StartupCommand.cs	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Commands/StartupCommand.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,45 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ICSharpCode.Core;
+using Maestro.Base;
+using OSGeo.MapGuide.MaestroAPI.Resource;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition_1_1_0;
+using OSGeo.MapGuide.MaestroAPI;
+
+namespace Maestro.AddIn.LayerDefinition_1_1_0.Commands
+{
+    public class StartupCommand : AbstractCommand
+    {
+        public override void Run()
+        {
+            ResourceValidatorSet.RegisterValidator(new LayerDefinitionValidator());
+            ResourceTypeRegistry.RegisterResource(
+                new ResourceTypeDescriptor(ResourceTypes.LayerDefinition, "1.1.0"),
+                new ResourceSerializer()
+                {
+                    Serialize = (res) => { return res.SerializeToStream(); },
+                    Deserialize = (xml) => { return LayerDefinition.Deserialize(xml); }
+                });
+        }
+    }
+}

Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Maestro.AddIn.LayerDefinition-1.1.0.csproj
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Maestro.AddIn.LayerDefinition-1.1.0.csproj	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Maestro.AddIn.LayerDefinition-1.1.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{CA7F688E-70A3-4FCB-BFB0-7E752B4A8DFC}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Maestro.AddIn.LayerDefinition_1_1_0</RootNamespace>
+    <AssemblyName>Maestro.AddIn.LayerDefinition-1.1.0</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\out\Debug\AddIns\LayerDefinition-1.1.0\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>..\out\Release\AddIns\LayerDefinition-1.1.0\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Commands\StartupCommand.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\ExtendedModels\LayerDefinition-1.1.0\OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0.csproj">
+      <Project>{B5EA049C-6AB7-4686-A2F4-4BA2EAC0E585}</Project>
+      <Name>OSGeo.MapGuide.ObjectModels.LayerDefinition-1.1.0</Name>
+      <Private>True</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Maestro.Base\Maestro.Base.csproj">
+      <Project>{F1E2F468-5030-4DBA-968C-9620284AFAA1}</Project>
+      <Name>Maestro.Base</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Maestro.Editors\Maestro.Editors.csproj">
+      <Project>{5AD2CDBA-952E-4148-98A1-31D2E0D540D5}</Project>
+      <Name>Maestro.Editors</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Maestro.Shared.UI\Maestro.Shared.UI.csproj">
+      <Project>{CFD19053-2172-41D3-8460-0FD2123A1E88}</Project>
+      <Name>Maestro.Shared.UI</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\OSGeo.MapGuide.MaestroAPI\OSGeo.MapGuide.MaestroAPI.csproj">
+      <Project>{80FA3158-8B5F-48D1-A393-0378AFE48A7E}</Project>
+      <Name>OSGeo.MapGuide.MaestroAPI</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Thirdparty\SharpDevelop\ICSharpCode.Core\ICSharpCode.Core.csproj">
+      <Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project>
+      <Name>ICSharpCode.Core</Name>
+      <Private>False</Private>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Manifest.addin">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Manifest.addin
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Manifest.addin	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Manifest.addin	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,28 @@
+<AddIn name="Maestro.AddIn.LayerDefinition-1.1.0"
+       author="Jackie Ng"
+       url="http://trac.osgeo.org/mapguide/wiki/maestro"
+       description="MapGuide Maestro AddIn to support version 1.1.0 of the LayerDefinition schema"
+       addInManagerHidden="preinstalled">
+
+    <Manifest>
+        <Identity name="Maestro.AddIn.LayerDefinition_1_1_0" />
+    </Manifest>
+
+    <Runtime>
+        <Import assembly="../../Maestro.Base.dll" />
+        <Import assembly="Maestro.Addin.LayerDefinition-1.1.0.dll" />
+    </Runtime>
+
+    <!-- Registered editors -->
+    <Path name="/Maestro/Editors">
+    </Path>
+
+    <!-- Registered System Templates -->
+    <Path name="/Maestro/NewItemTemplates">
+    </Path>
+
+    <!-- Auto-start commands -->
+    <Path name="/Workspace/Autostart">
+        <Class id="Startup" class="Maestro.AddIn.LayerDefinition_1_1_0.Commands.StartupCommand" />
+    </Path>
+</AddIn>

Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Properties/AssemblyInfo.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.1.0/Properties/AssemblyInfo.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Maestro.AddIn.LayerDefinition-1.1.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("Maestro.AddIn.LayerDefinition-1.1.0")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("afa41c96-057b-40ac-86b6-c88344747711")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]


Property changes on: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0
___________________________________________________________________
Added: svn:ignore
   + bin
obj


Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Commands/StartupCommand.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Commands/StartupCommand.cs	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Commands/StartupCommand.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,45 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ICSharpCode.Core;
+using Maestro.Base;
+using OSGeo.MapGuide.MaestroAPI.Resource;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition_1_2_0;
+using OSGeo.MapGuide.MaestroAPI;
+
+namespace Maestro.AddIn.LayerDefinition_1_2_0.Commands
+{
+    public class StartupCommand : AbstractCommand
+    {
+        public override void Run()
+        {
+            ResourceValidatorSet.RegisterValidator(new LayerDefinitionValidator());
+            ResourceTypeRegistry.RegisterResource(
+                new ResourceTypeDescriptor(ResourceTypes.LayerDefinition, "1.2.0"),
+                new ResourceSerializer()
+                {
+                    Serialize = (res) => { return res.SerializeToStream(); },
+                    Deserialize = (xml) => { return LayerDefinition.Deserialize(xml); }
+                });
+        }
+    }
+}

Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Maestro.AddIn.LayerDefinition-1.2.0.csproj
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Maestro.AddIn.LayerDefinition-1.2.0.csproj	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Maestro.AddIn.LayerDefinition-1.2.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{1E489B7F-1BA1-4B1A-BC69-CE82EF2F5C5B}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Maestro.AddIn.LayerDefinition_1_2_0</RootNamespace>
+    <AssemblyName>Maestro.AddIn.LayerDefinition-1.2.0</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\out\Debug\AddIns\LayerDefinition-1.2.0\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>..\out\Release\AddIns\LayerDefinition-1.2.0\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Commands\StartupCommand.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\ExtendedModels\LayerDefinition-1.2.0\OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0.csproj">
+      <Project>{EDDB0F74-6FE7-4969-80B0-817A629722CD}</Project>
+      <Name>OSGeo.MapGuide.ObjectModels.LayerDefinition-1.2.0</Name>
+      <Private>True</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Maestro.Base\Maestro.Base.csproj">
+      <Project>{F1E2F468-5030-4DBA-968C-9620284AFAA1}</Project>
+      <Name>Maestro.Base</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Maestro.Editors\Maestro.Editors.csproj">
+      <Project>{5AD2CDBA-952E-4148-98A1-31D2E0D540D5}</Project>
+      <Name>Maestro.Editors</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Maestro.Shared.UI\Maestro.Shared.UI.csproj">
+      <Project>{CFD19053-2172-41D3-8460-0FD2123A1E88}</Project>
+      <Name>Maestro.Shared.UI</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\OSGeo.MapGuide.MaestroAPI\OSGeo.MapGuide.MaestroAPI.csproj">
+      <Project>{80FA3158-8B5F-48D1-A393-0378AFE48A7E}</Project>
+      <Name>OSGeo.MapGuide.MaestroAPI</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Thirdparty\SharpDevelop\ICSharpCode.Core\ICSharpCode.Core.csproj">
+      <Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project>
+      <Name>ICSharpCode.Core</Name>
+      <Private>False</Private>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Manifest.addin">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Manifest.addin
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Manifest.addin	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Manifest.addin	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,28 @@
+<AddIn name="Maestro.AddIn.LayerDefinition-1.2.0"
+       author="Jackie Ng"
+       url="http://trac.osgeo.org/mapguide/wiki/maestro"
+       description="MapGuide Maestro AddIn to support version 1.2.0 of the LayerDefinition schema"
+       addInManagerHidden="preinstalled">
+
+    <Manifest>
+        <Identity name="Maestro.AddIn.LayerDefinition_1_2_0" />
+    </Manifest>
+
+    <Runtime>
+        <Import assembly="../../Maestro.Base.dll" />
+        <Import assembly="Maestro.Addin.LayerDefinition-1.2.0.dll" />
+    </Runtime>
+
+    <!-- Registered editors -->
+    <Path name="/Maestro/Editors">
+    </Path>
+
+    <!-- Registered System Templates -->
+    <Path name="/Maestro/NewItemTemplates">
+    </Path>
+
+    <!-- Auto-start commands -->
+    <Path name="/Workspace/Autostart">
+        <Class id="Startup" class="Maestro.AddIn.LayerDefinition_1_2_0.Commands.StartupCommand" />
+    </Path>
+</AddIn>

Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Properties/AssemblyInfo.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.2.0/Properties/AssemblyInfo.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Maestro.AddIn.LayerDefinition-1.2.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("Maestro.AddIn.LayerDefinition-1.2.0")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("04408c9e-5ac3-4b63-8517-87c72b523d87")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]


Property changes on: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0
___________________________________________________________________
Added: svn:ignore
   + bin
obj


Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Commands/StartupCommand.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Commands/StartupCommand.cs	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Commands/StartupCommand.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,45 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ICSharpCode.Core;
+using Maestro.Base;
+using OSGeo.MapGuide.MaestroAPI.Resource;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition_1_3_0;
+using OSGeo.MapGuide.MaestroAPI;
+
+namespace Maestro.AddIn.LayerDefinition_1_3_0.Commands
+{
+    public class StartupCommand : AbstractCommand
+    {
+        public override void Run()
+        {
+            ResourceValidatorSet.RegisterValidator(new LayerDefinitionValidator());
+            ResourceTypeRegistry.RegisterResource(
+                new ResourceTypeDescriptor(ResourceTypes.LayerDefinition, "1.3.0"),
+                new ResourceSerializer()
+                {
+                    Serialize = (res) => { return res.SerializeToStream(); },
+                    Deserialize = (xml) => { return LayerDefinition.Deserialize(xml); }
+                });
+        }
+    }
+}

Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Maestro.AddIn.LayerDefinition-1.3.0.csproj
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Maestro.AddIn.LayerDefinition-1.3.0.csproj	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Maestro.AddIn.LayerDefinition-1.3.0.csproj	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{A49487F7-FCDD-4818-8C7E-2CADABA51B06}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Maestro.AddIn.LayerDefinition_1_3_0</RootNamespace>
+    <AssemblyName>Maestro.AddIn.LayerDefinition-1.3.0</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\out\Debug\AddIns\LayerDefinition-1.3.0\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>..\out\Release\AddIns\LayerDefinition-1.3.0\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Commands\StartupCommand.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\ExtendedModels\LayerDefinition-1.3.0\OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0.csproj">
+      <Project>{AC5068F6-CFBE-4BCD-B68B-062725E424D4}</Project>
+      <Name>OSGeo.MapGuide.ObjectModels.LayerDefinition-1.3.0</Name>
+      <Private>True</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Maestro.Base\Maestro.Base.csproj">
+      <Project>{F1E2F468-5030-4DBA-968C-9620284AFAA1}</Project>
+      <Name>Maestro.Base</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Maestro.Editors\Maestro.Editors.csproj">
+      <Project>{5AD2CDBA-952E-4148-98A1-31D2E0D540D5}</Project>
+      <Name>Maestro.Editors</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Maestro.Shared.UI\Maestro.Shared.UI.csproj">
+      <Project>{CFD19053-2172-41D3-8460-0FD2123A1E88}</Project>
+      <Name>Maestro.Shared.UI</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\OSGeo.MapGuide.MaestroAPI\OSGeo.MapGuide.MaestroAPI.csproj">
+      <Project>{80FA3158-8B5F-48D1-A393-0378AFE48A7E}</Project>
+      <Name>OSGeo.MapGuide.MaestroAPI</Name>
+      <Private>False</Private>
+    </ProjectReference>
+    <ProjectReference Include="..\Thirdparty\SharpDevelop\ICSharpCode.Core\ICSharpCode.Core.csproj">
+      <Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project>
+      <Name>ICSharpCode.Core</Name>
+      <Private>False</Private>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Manifest.addin">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Manifest.addin
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Manifest.addin	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Manifest.addin	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,28 @@
+<AddIn name="Maestro.AddIn.LayerDefinition-1.3.0"
+       author="Jackie Ng"
+       url="http://trac.osgeo.org/mapguide/wiki/maestro"
+       description="MapGuide Maestro AddIn to support version 1.3.0 of the LayerDefinition schema"
+       addInManagerHidden="preinstalled">
+
+    <Manifest>
+        <Identity name="Maestro.AddIn.LayerDefinition_1_3_0" />
+    </Manifest>
+
+    <Runtime>
+        <Import assembly="../../Maestro.Base.dll" />
+        <Import assembly="Maestro.Addin.LayerDefinition-1.3.0.dll" />
+    </Runtime>
+
+    <!-- Registered editors -->
+    <Path name="/Maestro/Editors">
+    </Path>
+
+    <!-- Registered System Templates -->
+    <Path name="/Maestro/NewItemTemplates">
+    </Path>
+
+    <!-- Auto-start commands -->
+    <Path name="/Workspace/Autostart">
+        <Class id="Startup" class="Maestro.AddIn.LayerDefinition_1_3_0.Commands.StartupCommand" />
+    </Path>
+</AddIn>

Added: sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Properties/AssemblyInfo.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Properties/AssemblyInfo.cs	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.AddIn.LayerDefinition-1.3.0/Properties/AssemblyInfo.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Maestro.AddIn.LayerDefinition-1.3.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("Maestro.AddIn.LayerDefinition-1.3.0")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("779c77a1-b97d-412f-b0c7-4c2a6307cba8")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerDefinition.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerDefinition.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerDefinition.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -47,12 +47,6 @@
         LayerType LayerType { get; } 
     }
 
-    abstract partial class BaseLayerDefinitionType : ISubLayerDefinition
-    {
-        [XmlIgnore]
-        public abstract LayerType LayerType { get; }
-    }
-
     public interface IVectorLayerDefinition : ISubLayerDefinition
     {
         string FeatureSourceID { get; set; }
@@ -78,6 +72,12 @@
         string DrawingSourceID { get; set; }
     }
 
+    abstract partial class BaseLayerDefinitionType : ISubLayerDefinition
+    {
+        [XmlIgnore]
+        public abstract LayerType LayerType { get; }
+    }
+
     partial class VectorLayerDefinitionType : IVectorLayerDefinition
     {
         public override LayerType LayerType
@@ -150,6 +150,7 @@
             get { return LayerType.Drawing; }
         }
 
+        [XmlIgnore]
         string IDrawingLayerDefinition.DrawingSourceID
         {
             get { return this.ResourceId; }

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Properties/Resources.Designer.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Properties/Resources.Designer.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Properties/Resources.Designer.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -158,5 +158,14 @@
                 return ResourceManager.GetString("ERR_RESOURCE_NOT_ATTACHED", resourceCulture);
             }
         }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to A resource serializer has already been registered for {0} v{1}.
+        /// </summary>
+        internal static string ERR_SERIALIZER_ALREADY_REGISTERED {
+            get {
+                return ResourceManager.GetString("ERR_SERIALIZER_ALREADY_REGISTERED", resourceCulture);
+            }
+        }
     }
 }

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Properties/Resources.resx
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Properties/Resources.resx	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/Properties/Resources.resx	2010-07-22 04:10:35 UTC (rev 5047)
@@ -151,4 +151,7 @@
   <data name="ERR_RESOURCE_NOT_ATTACHED" xml:space="preserve">
     <value>No connection attached to this resource</value>
   </data>
+  <data name="ERR_SERIALIZER_ALREADY_REGISTERED" xml:space="preserve">
+    <value>A resource serializer has already been registered for {0} v{1}</value>
+  </data>
 </root>
\ No newline at end of file

Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ResourceTypeRegistry.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ResourceTypeRegistry.cs	2010-07-21 15:44:03 UTC (rev 5046)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ResourceTypeRegistry.cs	2010-07-22 04:10:35 UTC (rev 5047)
@@ -166,6 +166,14 @@
                 });
         }
 
+        public static void RegisterResource(ResourceTypeDescriptor desc, ResourceSerializer serializer)
+        {
+            if (_serializers.ContainsKey(desc))
+                throw new ArgumentException(string.Format(Properties.Resources.ERR_SERIALIZER_ALREADY_REGISTERED, desc.ResourceType, desc.Version), "desc");
+
+            _serializers.Add(desc, serializer);
+        }
+
         internal static void Init() 
         { 
             //does nothing, it's just for kicking the static constructor into gear 



More information about the mapguide-commits mailing list