Merge pull request #896 from echampet/webresource
[mono.git] / mcs / class / System / System.Configuration / ConfigurationException.cs
index 27583986a5e9f0e81b43f1a3a2130ed0f70cbb04..6f36e97bc08c90dac72baa4e36a8e9a3b0c53ed6 100644 (file)
@@ -41,26 +41,24 @@ namespace System.Configuration
        [Serializable]
        public class ConfigurationException : SystemException
        {
-               // Fields               
-               string bareMessage;
-               string filename;
-               int line;
+               // Fields
+               readonly string filename;
+               readonly int line;
 
                //
                // Constructors
                //
-               public ConfigurationException ()
-                       : base (Locale.GetText ("There is an error in a configuration setting."))
+               [Obsolete ("This class is obsolete.  Use System.Configuration.ConfigurationErrorsException")]
+               public ConfigurationException () : this (null)
                {
                        filename = null;
-                       bareMessage = Locale.GetText ("There is an error in a configuration setting.");
                        line = 0;
                }
-               
+
+               [Obsolete ("This class is obsolete.  Use System.Configuration.ConfigurationErrorsException")]
                public ConfigurationException (string message)
                        : base (message)
                {
-                       bareMessage = message;
                }
 
                protected ConfigurationException (SerializationInfo info, StreamingContext context)
@@ -70,70 +68,74 @@ namespace System.Configuration
                        line = info.GetInt32 ("line");
                }
 
+               [Obsolete ("This class is obsolete.  Use System.Configuration.ConfigurationErrorsException")]
                public ConfigurationException (string message, Exception inner)
                        : base (message, inner)
                {
-                       bareMessage = message;
                }
 
 #if (XML_DEP)
+               [Obsolete ("This class is obsolete.  Use System.Configuration.ConfigurationErrorsException")]
                public ConfigurationException (string message, XmlNode node)
                        : base (message)
                {
                        filename = GetXmlNodeFilename(node);
                        line = GetXmlNodeLineNumber(node);
-                       bareMessage = message;
                }
 
+               [Obsolete ("This class is obsolete.  Use System.Configuration.ConfigurationErrorsException")]
                public ConfigurationException (string message, Exception inner, XmlNode node)
                        : base (message, inner)
                {
                        filename = GetXmlNodeFilename (node);
                        line = GetXmlNodeLineNumber (node);
-                       bareMessage = message;
                }
 #endif
+               [Obsolete ("This class is obsolete.  Use System.Configuration.ConfigurationErrorsException")]
                public ConfigurationException (string message, string filename, int line)
                        : base (message)
                {
-                       bareMessage = message;
                        this.filename = filename;
                        this.line= line;
                }
 
+               [Obsolete ("This class is obsolete.  Use System.Configuration.ConfigurationErrorsException")]
                public ConfigurationException (string message, Exception inner, string filename, int line)
-                       : base (message)
+                       : base (message, inner)
                {
-                       bareMessage = message;
                        this.filename = filename;
                        this.line = line;
                }
                //
                // Properties
                //
-               public string BareMessage
-               {
-                       get  { return bareMessage; }
+               public virtual  string BareMessage {
+                       get { return base.Message; }
                }
 
-               public string Filename
-               {
+               public virtual string Filename {
                        get { return filename; }
                }
-               
-               public int Line
-               {
+
+               public virtual int Line {
                        get { return line; }
                }
 
-               public override string Message
-               {
+               public override string Message {
                        get {
-                               string baseMsg = base.Message;
-                               string f = (filename == null) ? String.Empty : filename;
-                               string l = (line == 0) ? String.Empty : (" line " + line);
-
-                               return baseMsg + "(" + f + l + ")";
+                               string msg;
+                               if (filename != null && filename.Length != 0) {
+                                       if (line != 0)
+                                               msg = BareMessage + " (" + filename + " line " + line + ")";
+                                       else
+                                               msg = BareMessage + " (" + filename + ")";
+                               } else {
+                                       if (line != 0)
+                                               msg = BareMessage + " (line " + line + ")";
+                                       else
+                                               msg = BareMessage;
+                               }
+                               return msg;
                        }
                }
 
@@ -141,6 +143,7 @@ namespace System.Configuration
                // Methods
                //
 #if (XML_DEP)
+               [Obsolete ("This class is obsolete.  Use System.Configuration.ConfigurationErrorsException")]
                public static string GetXmlNodeFilename (XmlNode node)
                {
                        if (!(node is IConfigXmlNode))
@@ -149,6 +152,7 @@ namespace System.Configuration
                        return ((IConfigXmlNode) node).Filename;
                }
 
+               [Obsolete ("This class is obsolete.  Use System.Configuration.ConfigurationErrorsException")]
                public static int GetXmlNodeLineNumber (XmlNode node)
                {
                        if (!(node is IConfigXmlNode))