[mapguide-commits] r6394 - in trunk/Tools/Maestro: Maestro
MaestroAPITests OSGeo.MapGuide.MaestroAPI/ObjectModels
OSGeo.MapGuide.MaestroAPI/Properties
OSGeo.MapGuide.MaestroAPI/Resource/Validation
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Sat Dec 31 10:48:43 EST 2011
Author: jng
Date: 2011-12-31 07:48:43 -0800 (Sat, 31 Dec 2011)
New Revision: 6394
Modified:
trunk/Tools/Maestro/Maestro/changelog.txt
trunk/Tools/Maestro/MaestroAPITests/HttpConnectionTests.cs
trunk/Tools/Maestro/MaestroAPITests/TestControl.cs
trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs
trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/VectorLayerDefinitionImpl.cs
trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Properties/Resources.Designer.cs
trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Properties/Resources.resx
trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/BaseLayerDefinitionValidator.cs
trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/BaseMapDefinitionValidator.cs
trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/ValidationStatusCode.cs
Log:
#1717: Add extra symbol definition validation rules. Also fix incorrect resource being flagged in map definition validation issues.
Modified: trunk/Tools/Maestro/Maestro/changelog.txt
===================================================================
--- trunk/Tools/Maestro/Maestro/changelog.txt 2011-12-31 13:48:10 UTC (rev 6393)
+++ trunk/Tools/Maestro/Maestro/changelog.txt 2011-12-31 15:48:43 UTC (rev 6394)
@@ -1,6 +1,13 @@
4.1
---
+ - Support for v2.4.0 resources (Web Layout, Map Definition, Layer Definition, Watermark Definition, Symbol Definition)
+ - Added extra symbol definition validation rules
+ - Fix: Select font link in Text Symbol Definition dialog does nothing
+ - Fix: Incorrect resource being flagged for Map Definition validation issues
+ - Fix: Size Context not being saved for composite lines in Line Style Editor
+ - Fix: Web Layout editor not persisting "Keep Connection Alive" option.
+ - Fix: Missing Symbol Definition 1.1.0 resource template
- Fix: Stylization functions not shown in Expression Editor
4.0
Modified: trunk/Tools/Maestro/MaestroAPITests/HttpConnectionTests.cs
===================================================================
--- trunk/Tools/Maestro/MaestroAPITests/HttpConnectionTests.cs 2011-12-31 13:48:10 UTC (rev 6393)
+++ trunk/Tools/Maestro/MaestroAPITests/HttpConnectionTests.cs 2011-12-31 15:48:43 UTC (rev 6394)
@@ -152,6 +152,8 @@
var resDataList = resSvc.EnumerateResourceData(source);
if (resDataList.ResourceData.Count == 1)
dataName = resDataList.ResourceData[0].Name;
+ else
+ resSvc.SetResourceData(source, dataName, ResourceDataType.File, File.OpenRead("TestData/MappingService/UT_HydrographicPolygons.sdf"));
resSvc.SetResourceData(target,
dataName,
Modified: trunk/Tools/Maestro/MaestroAPITests/TestControl.cs
===================================================================
--- trunk/Tools/Maestro/MaestroAPITests/TestControl.cs 2011-12-31 13:48:10 UTC (rev 6393)
+++ trunk/Tools/Maestro/MaestroAPITests/TestControl.cs 2011-12-31 15:48:43 UTC (rev 6394)
@@ -45,12 +45,24 @@
public class ConnectionUtil
{
+ public static string Port { get { return ""; } }
+
public static IServerConnection CreateTestHttpConnection()
{
- return ConnectionProviderRegistry.CreateConnection("Maestro.Http",
- "Url", "http://" + Environment.MachineName + "/mapguide/mapagent/mapagent.fcgi",
- "Username", "Administrator",
- "Password", "admin");
+ if (!string.IsNullOrEmpty(Port))
+ {
+ return ConnectionProviderRegistry.CreateConnection("Maestro.Http",
+ "Url", "http://" + Environment.MachineName + ":" + Port + "/mapguide/mapagent/mapagent.fcgi",
+ "Username", "Administrator",
+ "Password", "admin");
+ }
+ else
+ {
+ return ConnectionProviderRegistry.CreateConnection("Maestro.Http",
+ "Url", "http://" + Environment.MachineName + "/mapguide/mapagent/mapagent.fcgi",
+ "Username", "Administrator",
+ "Password", "admin");
+ }
}
}
}
Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs 2011-12-31 13:48:10 UTC (rev 6393)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs 2011-12-31 15:48:43 UTC (rev 6394)
@@ -1864,6 +1864,18 @@
IEnumerable<IParameterOverride> Override { get; }
/// <summary>
+ /// Gets the number of parameter overrides
+ /// </summary>
+ int Count { get; }
+
+ /// <summary>
+ /// Gets the parameter override at the specified index
+ /// </summary>
+ /// <param name="index"></param>
+ /// <returns></returns>
+ IParameterOverride this[int index] { get; }
+
+ /// <summary>
/// Adds the parameter override.
/// </summary>
/// <param name="ov">The parameter override</param>
Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/VectorLayerDefinitionImpl.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/VectorLayerDefinitionImpl.cs 2011-12-31 13:48:10 UTC (rev 6393)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/ObjectModels/VectorLayerDefinitionImpl.cs 2011-12-31 15:48:43 UTC (rev 6394)
@@ -2136,6 +2136,24 @@
}
}
+ [XmlIgnore]
+ public int Count
+ {
+ get { return this.Override.Count; }
+ }
+
+ [XmlIgnore]
+ public IParameterOverride this[int index]
+ {
+ get
+ {
+ if (index >= this.Override.Count)
+ throw new ArgumentOutOfRangeException();
+
+ return this.Override[index];
+ }
+ }
+
public void AddOverride(IParameterOverride ov)
{
var o = ov as Override;
Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Properties/Resources.Designer.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Properties/Resources.Designer.cs 2011-12-31 13:48:10 UTC (rev 6393)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Properties/Resources.Designer.cs 2011-12-31 15:48:43 UTC (rev 6394)
@@ -612,6 +612,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Referenced Symbol Definition {0} has an irrelevant usage context for this layer because this layer does not have features of type: {1}.
+ /// </summary>
+ internal static string LDF_IrrelevantUsageContext {
+ get {
+ return ResourceManager.GetString("LDF_IrrelevantUsageContext", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Layer is missing core information.
/// </summary>
internal static string LDF_LayerNullError {
@@ -711,6 +720,24 @@
}
/// <summary>
+ /// Looks up a localized string similar to The Layer Definition contains a Composite Rule pointing to a non-existent Symbol Definition: {0}.
+ /// </summary>
+ internal static string LDF_SymbolDefintionReferenceNotFound {
+ get {
+ return ResourceManager.GetString("LDF_SymbolDefintionReferenceNotFound", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The Layer Definition specifies a parameter override for {0} that does not exist ({1}).
+ /// </summary>
+ internal static string LDF_SymbolParameterOverrideToNonExistentParameter {
+ get {
+ return ResourceManager.GetString("LDF_SymbolParameterOverrideToNonExistentParameter", 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 {
Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Properties/Resources.resx
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Properties/Resources.resx 2011-12-31 13:48:10 UTC (rev 6393)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Properties/Resources.resx 2011-12-31 15:48:43 UTC (rev 6394)
@@ -548,4 +548,13 @@
<data name="BaseTemplate240_ApplicationDefinition" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\BaseTemplate.ApplicationDefinition1.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
+ <data name="LDF_SymbolDefintionReferenceNotFound" xml:space="preserve">
+ <value>The Layer Definition contains a Composite Rule pointing to a non-existent Symbol Definition: {0}</value>
+ </data>
+ <data name="LDF_SymbolParameterOverrideToNonExistentParameter" xml:space="preserve">
+ <value>The Layer Definition specifies a parameter override for {0} that does not exist ({1})</value>
+ </data>
+ <data name="LDF_IrrelevantUsageContext" xml:space="preserve">
+ <value>Referenced Symbol Definition {0} has an irrelevant usage context for this layer because this layer does not have features of type: {1}</value>
+ </data>
</root>
\ No newline at end of file
Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/BaseLayerDefinitionValidator.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/BaseLayerDefinitionValidator.cs 2011-12-31 13:48:10 UTC (rev 6393)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/BaseLayerDefinitionValidator.cs 2011-12-31 15:48:43 UTC (rev 6394)
@@ -26,6 +26,7 @@
using OSGeo.MapGuide.ObjectModels.Common;
using OSGeo.MapGuide.ObjectModels.DrawingSource;
using OSGeo.MapGuide.MaestroAPI.Schema;
+using OSGeo.MapGuide.ObjectModels.SymbolDefinition;
namespace OSGeo.MapGuide.MaestroAPI.Resource.Validation
{
@@ -75,7 +76,92 @@
if (ldef.SubLayer == null)
issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_LayerNull, Properties.Resources.LDF_LayerNullError));
-
+
+ ClassDefinition cls = null;
+ if (vldef != null || gldef != null)
+ {
+ //Load referenced feature source
+ IFeatureSource fs = null;
+
+ try
+ {
+ fs = (IFeatureSource)context.GetResource(ldef.SubLayer.ResourceId);
+ issues.AddRange(ResourceValidatorSet.Validate(context, fs, recurse));
+ }
+ catch (Exception)
+ {
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_FeatureSourceLoadError, string.Format(Properties.Resources.LDF_FeatureSourceLoadError)));
+ }
+
+ if (fs != null)
+ {
+ //Verify specified feature class and geometry check out
+ try
+ {
+ string qualClassName = vldef == null ? gldef.FeatureName : vldef.FeatureName;
+ string geometry = vldef == null ? gldef.Geometry : vldef.Geometry;
+
+ bool foundSchema = false;
+ bool foundGeometry = false;
+
+ FeatureSourceDescription desc = context.DescribeFeatureSource(ldef.SubLayer.ResourceId);
+ foreach (FeatureSchema fsc in desc.Schemas)
+ {
+ foreach (ClassDefinition scm in fsc.Classes)
+ {
+ if (scm.QualifiedName == qualClassName)
+ {
+ foundSchema = true;
+ cls = scm;
+ foreach (PropertyDefinition col in scm.Properties)
+ {
+ if (col.Name == geometry)
+ {
+ foundGeometry = true;
+ break;
+ }
+ }
+
+ if (vldef != null && vldef.PropertyMapping != null)
+ {
+ foreach (INameStringPair s in vldef.PropertyMapping)
+ {
+ bool found = false;
+ foreach (PropertyDefinition col in scm.Properties)
+ {
+ if (col.Name == s.Name)
+ {
+ found = true;
+ break;
+ }
+ }
+ if (!found)
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_ClassNotFound, string.Format(Properties.Resources.LDF_SchemaMissingError, qualClassName, fs.ResourceID)));
+ }
+ }
+
+ break;
+ }
+ }
+ }
+
+ if (!foundSchema)
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_ClassNotFound, string.Format(Properties.Resources.LDF_SchemaMissingError, qualClassName, fs.ResourceID)));
+ else if (!foundGeometry)
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_GeometryNotFound, string.Format(Properties.Resources.LDF_GeometryMissingError, geometry, qualClassName, fs.ResourceID)));
+ }
+ catch (Exception)
+ {
+ issues.Add(new ValidationIssue(fs, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_Generic, string.Format(Properties.Resources.LDF_SchemaAndColumnReadFailedError)));
+ }
+
+ if (recurse)
+ {
+ issues.AddRange(ResourceValidatorSet.Validate(context, fs, recurse));
+ }
+ }
+ }
+
if (vldef != null)
{
if (string.IsNullOrEmpty(vldef.FeatureName))
@@ -105,6 +191,86 @@
vsr2.MinScale.HasValue ? vsr2.MinScale.Value : 0,
vsr2.MaxScale.HasValue ? vsr2.MaxScale.Value.ToString() : Properties.Resources.Infinity)));
}
+
+ if (vsr2.CompositeStyleCount > 0)
+ {
+ foreach (var cs in vsr2.CompositeStyle)
+ {
+ foreach (var cr in cs.CompositeRule)
+ {
+ if (cr.CompositeSymbolization != null)
+ {
+ foreach (var si in cr.CompositeSymbolization.SymbolInstance)
+ {
+ //verify that symbol references point to valid symbol definitions
+ if (si.Reference.Type == SymbolInstanceType.Reference)
+ {
+ var symRef = (ISymbolInstanceReferenceLibrary)si.Reference;
+ if (!context.ResourceExists(symRef.ResourceId))
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_SymbolDefintionReferenceNotFound, string.Format(
+ Properties.Resources.LDF_SymbolDefintionReferenceNotFound, symRef.ResourceId)));
+
+
+ if (cls != null)
+ {
+ //warn if the symbol definition has usage contexts that are irrelevant against the layer's feature source
+ var prop = cls.FindProperty(vldef.Geometry) as GeometricPropertyDefinition;
+ if (prop != null)
+ {
+ var gtypes = new List<FeatureGeometricType>(prop.GetIndividualGeometricTypes());
+ var sym = context.GetResource(symRef.ResourceId) as ISimpleSymbolDefinition;
+ if (sym != null)
+ {
+ if (sym.LineUsage != null && !gtypes.Contains(FeatureGeometricType.Curve))
+ {
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Information, ValidationStatusCode.Info_LayerDefinition_IrrelevantUsageContext, string.Format(
+ Properties.Resources.LDF_IrrelevantUsageContext, symRef.ResourceId, FeatureGeometricType.Curve.ToString())));
+ }
+
+ if (sym.AreaUsage != null && !gtypes.Contains(FeatureGeometricType.Surface))
+ {
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Information, ValidationStatusCode.Info_LayerDefinition_IrrelevantUsageContext, string.Format(
+ Properties.Resources.LDF_IrrelevantUsageContext, symRef.ResourceId, FeatureGeometricType.Surface.ToString())));
+ }
+
+ if (sym.PointUsage != null && !gtypes.Contains(FeatureGeometricType.Point))
+ {
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Information, ValidationStatusCode.Info_LayerDefinition_IrrelevantUsageContext, string.Format(
+ Properties.Resources.LDF_IrrelevantUsageContext, symRef.ResourceId, FeatureGeometricType.Point.ToString())));
+ }
+ }
+ }
+ }
+ }
+
+ //verify that the overrides specified are for symbol parameters that actually exist
+ if (si.ParameterOverrides.Count > 0)
+ {
+ if (si.Reference.Type == SymbolInstanceType.Reference)
+ {
+ var symRef = (ISymbolInstanceReferenceLibrary)si.Reference;
+ var sym = (ISymbolDefinitionBase)context.GetResource(symRef.ResourceId);
+ var paramList = new Dictionary<string, IParameter>();
+ foreach (var p in sym.GetParameters())
+ {
+ paramList[p.Identifier] = p;
+ }
+
+ foreach (var ov in si.ParameterOverrides.Override)
+ {
+ if (!paramList.ContainsKey(ov.ParameterIdentifier))
+ {
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, ValidationStatusCode.Warning_LayerDefinition_SymbolParameterOverrideToNonExistentParameter, string.Format(
+ Properties.Resources.LDF_SymbolParameterOverrideToNonExistentParameter, symRef.ResourceId, ov.ParameterIdentifier)));
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
ranges.Add(new KeyValuePair<double, double>(
@@ -208,90 +374,6 @@
issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, ValidationStatusCode.Warning_LayerDefinition_UnsupportedLayerType, Properties.Resources.LDF_UnsupportedLayerTypeWarning));
}
- if (vldef != null || gldef != null)
- {
- //Load referenced feature source
- IFeatureSource fs = null;
-
- try
- {
- fs = (IFeatureSource)context.GetResource(ldef.SubLayer.ResourceId);
- issues.AddRange(ResourceValidatorSet.Validate(context, fs, recurse));
- }
- catch (Exception)
- {
- issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_FeatureSourceLoadError, string.Format(Properties.Resources.LDF_FeatureSourceLoadError)));
- }
-
- if (fs != null)
- {
- //Verify specified feature class and geometry check out
- try
- {
- string qualClassName = vldef == null ? gldef.FeatureName : vldef.FeatureName;
- string geometry = vldef == null ? gldef.Geometry : vldef.Geometry;
-
- bool foundSchema = false;
- bool foundGeometry = false;
-
- FeatureSourceDescription desc = context.DescribeFeatureSource(ldef.SubLayer.ResourceId);
- foreach (FeatureSchema fsc in desc.Schemas)
- {
- foreach (ClassDefinition scm in fsc.Classes)
- {
- if (scm.QualifiedName == qualClassName)
- {
- foundSchema = true;
-
- foreach (PropertyDefinition col in scm.Properties)
- {
- if (col.Name == geometry)
- {
- foundGeometry = true;
- break;
- }
- }
-
- if (vldef != null && vldef.PropertyMapping != null)
- {
- foreach (INameStringPair s in vldef.PropertyMapping)
- {
- bool found = false;
- foreach (PropertyDefinition col in scm.Properties)
- {
- if (col.Name == s.Name)
- {
- found = true;
- break;
- }
- }
- if (!found)
- issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_ClassNotFound, string.Format(Properties.Resources.LDF_SchemaMissingError, qualClassName, fs.ResourceID)));
- }
- }
-
- break;
- }
- }
- }
-
- if (!foundSchema)
- issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_ClassNotFound, string.Format(Properties.Resources.LDF_SchemaMissingError, qualClassName, fs.ResourceID)));
- else if (!foundGeometry)
- issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_GeometryNotFound, string.Format(Properties.Resources.LDF_GeometryMissingError, geometry, qualClassName, fs.ResourceID)));
- }
- catch (Exception)
- {
- issues.Add(new ValidationIssue(fs, ValidationStatus.Error, ValidationStatusCode.Error_LayerDefinition_Generic, string.Format(Properties.Resources.LDF_SchemaAndColumnReadFailedError)));
- }
-
- if (recurse)
- {
- issues.AddRange(ResourceValidatorSet.Validate(context, fs, recurse));
- }
- }
- }
-
context.MarkValidated(resource.ResourceID);
return issues.ToArray();
Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/BaseMapDefinitionValidator.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/BaseMapDefinitionValidator.cs 2011-12-31 13:48:10 UTC (rev 6393)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/BaseMapDefinitionValidator.cs 2011-12-31 15:48:43 UTC (rev 6394)
@@ -168,11 +168,11 @@
FdoSpatialContextList scList = context.GetSpatialContexts(fs.ResourceID);
if (scList.SpatialContext == null || scList.SpatialContext.Count == 0)
- issues.Add(new ValidationIssue(fs, ValidationStatus.Warning, ValidationStatusCode.Warning_MapDefinition_MissingSpatialContext, string.Format(Properties.Resources.MDF_MissingSpatialContextWarning, fs.ResourceID)));
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, ValidationStatusCode.Warning_MapDefinition_MissingSpatialContext, string.Format(Properties.Resources.MDF_MissingSpatialContextWarning, fs.ResourceID)));
else
{
if (scList.SpatialContext.Count > 1)
- issues.Add(new ValidationIssue(fs, ValidationStatus.Information, ValidationStatusCode.Info_MapDefinition_MultipleSpatialContexts, string.Format(Properties.Resources.MDF_MultipleSpatialContextsInformation, fs.ResourceID)));
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Information, ValidationStatusCode.Info_MapDefinition_MultipleSpatialContexts, string.Format(Properties.Resources.MDF_MultipleSpatialContextsInformation, fs.ResourceID)));
bool skipGeomCheck = false;
@@ -181,9 +181,9 @@
if (scList.SpatialContext[0].CoordinateSystemWkt != mdef.CoordinateSystem)
{
if (layer.SubLayer.LayerType == LayerType.Raster && mdef.CurrentConnection.SiteVersion <= SiteVersions.GetVersion(OSGeo.MapGuide.MaestroAPI.KnownSiteVersions.MapGuideOS2_0_2))
- issues.Add(new ValidationIssue(fs, ValidationStatus.Error, ValidationStatusCode.Error_MapDefinition_RasterReprojection, string.Format(Properties.Resources.MDF_RasterReprojectionError, fs.ResourceID)));
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_MapDefinition_RasterReprojection, string.Format(Properties.Resources.MDF_RasterReprojectionError, fs.ResourceID)));
else
- issues.Add(new ValidationIssue(fs, ValidationStatus.Warning, ValidationStatusCode.Warning_MapDefinition_LayerReprojection, string.Format(Properties.Resources.MDF_DataReprojectionWarning, fs.ResourceID)));
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, ValidationStatusCode.Warning_MapDefinition_LayerReprojection, string.Format(Properties.Resources.MDF_DataReprojectionWarning, fs.ResourceID)));
skipGeomCheck = true;
}
@@ -192,20 +192,20 @@
{
var env = fs.GetSpatialExtent(vl.FeatureName, vl.Geometry);
if (!env.Intersects(mapEnv))
- issues.Add(new ValidationIssue(fs, ValidationStatus.Warning, ValidationStatusCode.Warning_MapDefinition_DataOutsideMapBounds, string.Format(Properties.Resources.MDF_DataOutsideMapWarning, fs.ResourceID)));
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Warning, ValidationStatusCode.Warning_MapDefinition_DataOutsideMapBounds, string.Format(Properties.Resources.MDF_DataOutsideMapWarning, fs.ResourceID)));
}
}
}
catch (Exception ex)
{
string msg = NestedExceptionMessageProcessor.GetFullMessage(ex);
- issues.Add(new ValidationIssue(layer, ValidationStatus.Error, ValidationStatusCode.Error_MapDefinition_ResourceRead, string.Format(Properties.Resources.MDF_ResourceReadError, fs.ResourceID, msg)));
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_MapDefinition_ResourceRead, string.Format(Properties.Resources.MDF_ResourceReadError, fs.ResourceID, msg)));
}
}
catch (Exception ex)
{
string msg = NestedExceptionMessageProcessor.GetFullMessage(ex);
- issues.Add(new ValidationIssue(mdef, ValidationStatus.Error, ValidationStatusCode.Error_MapDefinition_FeatureSourceRead, string.Format(Properties.Resources.MDF_FeatureSourceReadError, l.ResourceId, msg)));
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_MapDefinition_FeatureSourceRead, string.Format(Properties.Resources.MDF_FeatureSourceReadError, l.ResourceId, msg)));
}
}
@@ -213,7 +213,7 @@
catch (Exception ex)
{
string msg = NestedExceptionMessageProcessor.GetFullMessage(ex);
- issues.Add(new ValidationIssue(mdef, ValidationStatus.Error, ValidationStatusCode.Error_MapDefinition_LayerRead, string.Format(Properties.Resources.MDF_LayerReadError, l.ResourceId, msg)));
+ issues.Add(new ValidationIssue(resource, ValidationStatus.Error, ValidationStatusCode.Error_MapDefinition_LayerRead, string.Format(Properties.Resources.MDF_LayerReadError, l.ResourceId, msg)));
}
}
Modified: trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/ValidationStatusCode.cs
===================================================================
--- trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/ValidationStatusCode.cs 2011-12-31 13:48:10 UTC (rev 6393)
+++ trunk/Tools/Maestro/OSGeo.MapGuide.MaestroAPI/Resource/Validation/ValidationStatusCode.cs 2011-12-31 15:48:43 UTC (rev 6394)
@@ -64,6 +64,11 @@
/// One or more scale ranges overlap. Can affect presentation of data.
/// </summary>
Info_LayerDefinition_ScaleRangeOverlap = 1201,
+
+ /// <summary>
+ /// A referenced symbol definition contains irrelevant usage contexts for this particular layer
+ /// </summary>
+ Info_LayerDefinition_IrrelevantUsageContext,
#endregion
#region warnings
@@ -182,6 +187,11 @@
Warning_LayerDefinition_CompositeStyleDefinedAlongsideBasicStyle,
/// <summary>
+ /// A parameter override has been specified for a parameter that does not exist
+ /// </summary>
+ Warning_LayerDefinition_SymbolParameterOverrideToNonExistentParameter,
+
+ /// <summary>
/// The web layout's initial view lies outside the referenced map definition's extents. Usually means you will see nothing when the AJAX viewer loads.
/// </summary>
Warning_WebLayout_InitialViewOutsideMapExtents = 3601,
@@ -336,6 +346,11 @@
Error_LayerDefinition_LayerNull,
/// <summary>
+ /// The Layer Definition contains a composite rule pointing to a non-existent symbol definition
+ /// </summary>
+ Error_LayerDefinition_SymbolDefintionReferenceNotFound,
+
+ /// <summary>
/// Unclassified validation error
/// </summary>
Error_WebLayout_Generic = 5501,
More information about the mapguide-commits
mailing list