コード例 #1
0
 internal void AddError(
     ErrorCode errorCode,
     EdmSchemaErrorSeverity severity,
     SchemaElement element,
     object message)
 {
     this.AddError(errorCode, severity, element.Schema.Location, element.LineNumber, element.LinePosition, message);
 }
コード例 #2
0
        internal void AddError(string message, ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity, string parentIdentity, string itemIdentity)
        {
            int lineNumber, linePosition;

            ClientApiGenerator.GetElementLocationInfo(this._sourceSchema, parentIdentity, itemIdentity, out lineNumber, out linePosition);

            _errors.Add(new EdmSchemaError(message, (int)errorCode, severity, this._sourceSchema.Location, lineNumber, linePosition));
        }
コード例 #3
0
ファイル: SchemaElement.cs プロジェクト: dotnet/ef6tools
        internal void AddError(ErrorCode errorCode, EdmSchemaErrorSeverity severity, XmlReader reader, object message)
        {
            int lineNumber;
            int linePosition;

            GetPositionInfo(reader, out lineNumber, out linePosition);
            AddError(errorCode, severity, SchemaLocation, lineNumber, linePosition, message);
        }
コード例 #4
0
 internal EdmSchemaError(
     string message,
     int errorCode,
     EdmSchemaErrorSeverity severity,
     Exception exception)
     : base(message)
 {
     this.Initialize(errorCode, severity, (string)null, -1, -1, exception);
 }
コード例 #5
0
 internal void AddError(
     ErrorCode errorCode,
     EdmSchemaErrorSeverity severity,
     int lineNumber,
     int linePosition,
     object message)
 {
     this.AddError(errorCode, severity, this.SchemaLocation, lineNumber, linePosition, message);
 }
コード例 #6
0
ファイル: EdmSchemaError.cs プロジェクト: dox0/DotNet471RS3
        /// <summary>
        /// Constructs a EdmSchemaError object.
        /// </summary>
        /// <param name="message">The explanation of the error.</param>
        /// <param name="errorCode">The code associated with this error.</param>
        /// <param name="severity">The severity of the error.</param>
        /// <param name="sourceUri"></param>
        /// <param name="lineNumber"></param>
        /// <param name="sourceColumn"></param>
        /// <param name="exception">The exception that caused the error to be filed.</param>
        internal EdmSchemaError(string message, int errorCode, EdmSchemaErrorSeverity severity, string schemaLocation, int line, int column, Exception exception)
            : base(message)
        {
            if (severity < EdmSchemaErrorSeverity.Warning || severity > EdmSchemaErrorSeverity.Error)
            {
                throw new ArgumentOutOfRangeException("severity", severity, System.Data.Entity.Strings.ArgumentOutOfRange(severity));
            }

            Initialize(errorCode, severity, schemaLocation, line, column, exception);
        }
コード例 #7
0
 internal EdmSchemaError(
     string message,
     int errorCode,
     EdmSchemaErrorSeverity severity,
     string schemaLocation,
     int line,
     int column)
     : this(message, errorCode, severity, schemaLocation, line, column, (Exception)null)
 {
 }
コード例 #8
0
        /// <summary>
        /// Constructs a EdmSchemaError object.
        /// </summary>
        /// <param name="message">The explanation of the error.</param>
        /// <param name="errorCode">The code associated with this error.</param>
        /// <param name="severity">The severity of the error.</param>
        /// <param name="sourceUri"></param>
        /// <param name="lineNumber"></param>
        /// <param name="sourceColumn"></param>
        /// <param name="exception">The exception that caused the error to be filed.</param>
        internal EdmSchemaError(string message, int errorCode, EdmSchemaErrorSeverity severity, string schemaLocation, int line, int column, Exception exception)
            : base(message)
        {
            if (severity < EdmSchemaErrorSeverity.Warning || severity > EdmSchemaErrorSeverity.Error)
            {
                throw new ArgumentOutOfRangeException("severity", severity, System.Data.Entity.Strings.ArgumentOutOfRange(severity));
            }

            Initialize(errorCode, severity, schemaLocation, line, column, exception);
        }
コード例 #9
0
        internal void OnSchemaValidationEvent(object sender, ValidationEventArgs e)
        {
            XmlReader xmlReader = sender as XmlReader;

            if (xmlReader != null && !this.IsValidateableXmlNamespace(xmlReader.NamespaceURI, xmlReader.NodeType == XmlNodeType.Attribute) && (this.SchemaVersion == 1.0 || this.SchemaVersion == 1.1 || (xmlReader.NodeType == XmlNodeType.Attribute || e.Severity == XmlSeverityType.Warning)) || this.SchemaVersion >= 2.0 && xmlReader.NodeType == XmlNodeType.Attribute && e.Severity == XmlSeverityType.Warning)
            {
                return;
            }
            EdmSchemaErrorSeverity severity = EdmSchemaErrorSeverity.Error;

            if (e.Severity == XmlSeverityType.Warning)
            {
                severity = EdmSchemaErrorSeverity.Warning;
            }
            this.AddError(ErrorCode.XmlError, severity, e.Exception.LineNumber, e.Exception.LinePosition, (object)e.Message);
        }
コード例 #10
0
ファイル: EdmSchemaError.cs プロジェクト: dox0/DotNet471RS3
        private void Initialize(int errorCode, EdmSchemaErrorSeverity severity, string schemaLocation, int line, int column, Exception exception)
        {
            if (errorCode < 0)
            {
                throw new ArgumentOutOfRangeException("errorCode", errorCode, System.Data.Entity.Strings.ArgumentOutOfRangeExpectedPostiveNumber(errorCode));
            }

            _errorCode      = errorCode;
            _severity       = severity;
            _schemaLocation = schemaLocation;
            _line           = line;
            _column         = column;
            if (exception != null)
            {
                _stackTrace = exception.StackTrace;
            }
        }
コード例 #11
0
        private void Initialize(
            int errorCode, EdmSchemaErrorSeverity severity, string schemaLocation, int line, int column, Exception exception)
        {
            if (errorCode < 0)
            {
                throw new ArgumentOutOfRangeException("errorCode", errorCode, Strings.ArgumentOutOfRangeExpectedPostiveNumber(errorCode));
            }

            _errorCode = errorCode;
            _severity = severity;
            _schemaLocation = schemaLocation;
            _line = line;
            _column = column;
            if (exception != null)
            {
                _stackTrace = exception.StackTrace;
            }
        }
コード例 #12
0
        /// <summary>
        /// Called by the validating reader when the schema is xsd invalid
        /// </summary>
        /// <param name="sender">the validating reader</param>
        /// <param name="e">information about the validation error</param>
        internal void OnSchemaValidationEvent(object sender, System.Xml.Schema.ValidationEventArgs e)
        {
            Debug.Assert(e != null);
            XmlReader reader = sender as XmlReader;

            if (reader != null && !IsValidateableXmlNamespace(reader.NamespaceURI, reader.NodeType == XmlNodeType.Attribute))
            {
                //For V1 Schemas, we never returned errors for elements in custom namespaces.
                //But the behavior is not totally correct since the error might have occured inside a known namespace
                //even though the element that the reader pointing to is in a custom namespace. But if we fix that, it would
                //cause lot of breaking changes for V1 customers since we can not change the xsd for them.
                //For attributes, we can ignore the errors always since attributes are unordered and custom attributes should always be allowed.
                if ((this.SchemaVersion == XmlConstants.EdmVersionForV1) || (this.SchemaVersion == XmlConstants.EdmVersionForV1_1))
                {
                    return;
                }
                // For V2 Schemas that have custom namespaces, the only thing we would not catch are warnings.
                //We also need to ignore any errors reported on custom namespace since they would become annotations.
                Debug.Assert(this.SchemaVersion >= XmlConstants.EdmVersionForV2 || SchemaVersion == XmlConstants.UndefinedVersion, "Have you added a new Edm Version?");
                if ((reader.NodeType == XmlNodeType.Attribute) || (e.Severity == System.Xml.Schema.XmlSeverityType.Warning))
                {
                    return;
                }
            }

            //Ignore the warnings for attributes in V2 since we would see warnings for undeclared attributes in empty namespace
            //that are on elements in custom namespace. For undeclared attributes in known namespace, we would see errors.
            if ((this.SchemaVersion >= XmlConstants.EdmVersionForV2) && (reader.NodeType == XmlNodeType.Attribute) &&
                (e.Severity == System.Xml.Schema.XmlSeverityType.Warning))
            {
                return;
            }

            EdmSchemaErrorSeverity severity = EdmSchemaErrorSeverity.Error;

            if (e.Severity == System.Xml.Schema.XmlSeverityType.Warning)
            {
                severity = EdmSchemaErrorSeverity.Warning;
            }
            AddError(ErrorCode.XmlError, severity, e.Exception.LineNumber, e.Exception.LinePosition, e.Message);
        }
コード例 #13
0
        internal EdmSchemaError(
            string message,
            int errorCode,
            EdmSchemaErrorSeverity severity,
            string schemaLocation,
            int line,
            int column,
            Exception exception)
            : base(message)
        {
            switch (severity)
            {
            case EdmSchemaErrorSeverity.Warning:
            case EdmSchemaErrorSeverity.Error:
                this.Initialize(errorCode, severity, schemaLocation, line, column, exception);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(severity), (object)severity, Strings.ArgumentOutOfRange((object)severity));
            }
        }
コード例 #14
0
        private void AddError(
            ErrorCode errorCode,
            EdmSchemaErrorSeverity severity,
            string sourceLocation,
            int lineNumber,
            int linePosition,
            object message)
        {
            string         message1 = message as string;
            EdmSchemaError error;

            if (message1 != null)
            {
                error = new EdmSchemaError(message1, (int)errorCode, severity, sourceLocation, lineNumber, linePosition);
            }
            else
            {
                Exception exception = message as Exception;
                error = exception == null ? new EdmSchemaError(message.ToString(), (int)errorCode, severity, sourceLocation, lineNumber, linePosition) : new EdmSchemaError(exception.Message, (int)errorCode, severity, sourceLocation, lineNumber, linePosition, exception);
            }
            this.Schema.AddError(error);
        }
コード例 #15
0
ファイル: SchemaElement.cs プロジェクト: dox0/DotNet471RS3
        /// <summary>
        ///
        /// </summary>
        /// <param name="errorCode"></param>
        /// <param name="severity"></param>
        /// <param name="source"></param>
        /// <param name="lineNumber"></param>
        /// <param name="linePosition"></param>
        /// <param name="message"></param>
        private void AddError(ErrorCode errorCode, EdmSchemaErrorSeverity severity, string sourceLocation, int lineNumber, int linePosition, object message)
        {
            EdmSchemaError error         = null;
            string         messageString = message as string;

            if (messageString != null)
            {
                error = new EdmSchemaError(messageString, (int)errorCode, severity, sourceLocation, lineNumber, linePosition);
            }
            else
            {
                Exception ex = message as Exception;
                if (ex != null)
                {
                    error = new EdmSchemaError(ex.Message, (int)errorCode, severity, sourceLocation, lineNumber, linePosition, ex);
                }
                else
                {
                    error = new EdmSchemaError(message.ToString(), (int)errorCode, severity, sourceLocation, lineNumber, linePosition);
                }
            }
            Schema.AddError(error);
        }
コード例 #16
0
 private void Initialize(
     int errorCode,
     EdmSchemaErrorSeverity severity,
     string schemaLocation,
     int line,
     int column,
     Exception exception)
 {
     if (errorCode < 0)
     {
         throw new ArgumentOutOfRangeException(nameof(errorCode), (object)errorCode, Strings.ArgumentOutOfRangeExpectedPostiveNumber((object)errorCode));
     }
     this._errorCode      = errorCode;
     this._severity       = severity;
     this._schemaLocation = schemaLocation;
     this._line           = line;
     this._column         = column;
     if (exception == null)
     {
         return;
     }
     this._stackTrace = exception.StackTrace;
 }
コード例 #17
0
        private static EdmSchemaError ConvertToEdmSchemaError(CompilerError error, ModelBuilderErrorCode defaultErrorCode)
        {
            int    errorNumber;
            string message                  = error.ErrorText;
            bool   usePositionInfo          = true;
            EdmSchemaErrorSeverity severity = error.IsWarning ? EdmSchemaErrorSeverity.Warning : EdmSchemaErrorSeverity.Error;

            if (int.TryParse(error.ErrorNumber, out errorNumber))
            {
                if (error.Line == -1 && error.Column == -1)
                {
                    usePositionInfo = false;
                }
            }
            else
            {
                message     = String.Format(CultureInfo.InvariantCulture, "{0}({1})", error.ErrorText, error.ErrorNumber);
                errorNumber = (int)defaultErrorCode;
            }

            if (usePositionInfo)
            {
                return(new EdmSchemaError(message,
                                          errorNumber,
                                          severity,
                                          error.FileName,
                                          error.Line,
                                          error.Column));
            }
            else
            {
                return(new EdmSchemaError(message,
                                          errorNumber,
                                          severity));
            }
        }
コード例 #18
0
 internal void AddError(string message, ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity, Exception ex)
 {
 }
コード例 #19
0
 // <summary>
 // Constructs a EdmSchemaError object.
 // </summary>
 // <param name="message"> The explanation of the error. </param>
 // <param name="errorCode"> The code associated with this error. </param>
 // <param name="severity"> The severity of the error. </param>
 internal EdmSchemaError(string message, int errorCode, EdmSchemaErrorSeverity severity, string schemaLocation, int line, int column)
     : this(message, errorCode, severity, schemaLocation, line, column, null)
 {
 }
コード例 #20
0
 /// <summary>
 /// Constructs a EdmSchemaError object.
 /// </summary>
 /// <param name="message"> The explanation of the error. </param>
 /// <param name="errorCode"> The code associated with this error. </param>
 /// <param name="severity"> The severity of the error. </param>
 public EdmSchemaError(string message, int errorCode, EdmSchemaErrorSeverity severity)
     :
         this(message, errorCode, severity, null)
 {
 }
コード例 #21
0
 public void AddError(ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity, Exception ex)
 {
     _errors.Add(new EdmSchemaError(ex.Message, (int)errorCode, severity, ex));
 }
コード例 #22
0
 public void AddError(string message, ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity)
 {
     _errors.Add(new EdmSchemaError(message, (int)errorCode, severity));
 }
コード例 #23
0
ファイル: SchemaElement.cs プロジェクト: dotnet/ef6tools
 internal void AddError(ErrorCode errorCode, EdmSchemaErrorSeverity severity, object message)
 {
     AddError(errorCode, severity, SchemaLocation, LineNumber, LinePosition, message);
 }
コード例 #24
0
 // <summary>
 // Constructs a EdmSchemaError object.
 // </summary>
 // <param name="message"> The explanation of the error. </param>
 // <param name="errorCode"> The code associated with this error. </param>
 // <param name="severity"> The severity of the error. </param>
 // <param name="exception"> The exception that caused the error to be filed. </param>
 public EdmSchemaError(string message, int errorCode, EdmSchemaErrorSeverity severity, Exception exception)
     : base(message)
 {
     Initialize(errorCode, severity, null, -1, -1, exception);
 }
コード例 #25
0
 internal void AddError(string message, ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity, Exception e)
 {
     Debug.Assert(message != null, "message parameter is null");
     if (null == e)
     {
         Errors.Add(new EdmSchemaError(message, (int)errorCode, severity));
     }
     else
     {
         Errors.Add(new EdmSchemaError(message, (int)errorCode, severity, e));
     }
 }
コード例 #26
0
 public void AddError(string message, ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity)
 {
 }
コード例 #27
0
        internal void AddError(string message, ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity, string parentIdentity, string itemIdentity)
        {
            int lineNumber, linePosition;
            ClientApiGenerator.GetElementLocationInfo(this._sourceSchema, parentIdentity, itemIdentity, out lineNumber, out linePosition);

            _errors.Add(new EdmSchemaError(message, (int)errorCode, severity, this._sourceSchema.Location, lineNumber, linePosition));
        }
コード例 #28
0
 internal void AddError(string message, ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity, Exception ex)
 {
     _errors.Add(new EdmSchemaError(message, (int)errorCode, severity, ex));
 }
コード例 #29
0
 internal void AddError(string message, ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity, Exception ex)
 {
     _errors.Add(new EdmSchemaError(message, (int)errorCode, severity, ex));
 }
コード例 #30
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="errorCode"></param>
 /// <param name="severity"></param>
 /// <param name="reader"></param>
 /// <param name="message"></param>
 internal void AddError(ErrorCode errorCode, EdmSchemaErrorSeverity severity, XmlReader reader, object message)
 {
     int lineNumber;
     int linePosition;
     GetPositionInfo(reader, out lineNumber, out linePosition);
     AddError(errorCode, severity, SchemaLocation, lineNumber, linePosition, message);
 }
コード例 #31
0
 public void AddError(string message, ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity)
 {
     _errors.Add(new EdmSchemaError(message, (int)errorCode, severity));
 }
コード例 #32
0
 public void AddError(ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity, Exception ex)
 {
     _errors.Add(new EdmSchemaError(ex.Message, (int)errorCode, severity, ex));
 }
コード例 #33
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="errorCode"></param>
 /// <param name="severity"></param>
 /// <param name="message"></param>
 internal void AddError(ErrorCode errorCode, EdmSchemaErrorSeverity severity, object message)
 {
     AddError(errorCode, severity, SchemaLocation, LineNumber, LinePosition, message);
 }
コード例 #34
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="errorCode"></param>
 /// <param name="severity"></param>
 /// <param name="element"></param>
 /// <param name="message"></param>
 internal void AddError(ErrorCode errorCode, EdmSchemaErrorSeverity severity, SchemaElement element, object message)
 {
     AddError(errorCode, severity, element.Schema.Location, element.LineNumber, element.LinePosition, message);
 }
コード例 #35
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="errorCode"></param>
 /// <param name="severity"></param>
 /// <param name="source"></param>
 /// <param name="lineNumber"></param>
 /// <param name="linePosition"></param>
 /// <param name="message"></param>
 private void AddError(
     ErrorCode errorCode, EdmSchemaErrorSeverity severity, string sourceLocation, int lineNumber, int linePosition, object message)
 {
     EdmSchemaError error = null;
     var messageString = message as string;
     if (messageString != null)
     {
         error = new EdmSchemaError(messageString, (int)errorCode, severity, sourceLocation, lineNumber, linePosition);
     }
     else
     {
         var ex = message as Exception;
         if (ex != null)
         {
             error = new EdmSchemaError(ex.Message, (int)errorCode, severity, sourceLocation, lineNumber, linePosition, ex);
         }
         else
         {
             error = new EdmSchemaError(message.ToString(), (int)errorCode, severity, sourceLocation, lineNumber, linePosition);
         }
     }
     Schema.AddError(error);
 }
コード例 #36
0
 // <summary>
 // Constructs a EdmSchemaError object.
 // </summary>
 // <param name="message"> The explanation of the error. </param>
 // <param name="errorCode"> The code associated with this error. </param>
 // <param name="severity"> The severity of the error. </param>
 // <param name="exception"> The exception that caused the error to be filed. </param>
 internal EdmSchemaError(string message, int errorCode, EdmSchemaErrorSeverity severity, Exception exception)
     : base(message)
 {
     Initialize(errorCode, severity, null, -1, -1, exception);
 }
コード例 #37
0
ファイル: EdmSchemaError.cs プロジェクト: dox0/DotNet471RS3
 /// <summary>
 /// Constructs a EdmSchemaError object.
 /// </summary>
 /// <param name="message">The explanation of the error.</param>
 /// <param name="errorCode">The code associated with this error.</param>
 /// <param name="severity">The severity of the error.</param>
 internal EdmSchemaError(string message, int errorCode, EdmSchemaErrorSeverity severity) :
     this(message, errorCode, severity, null)
 {
 }
コード例 #38
0
 /// <summary>Constructs a EdmSchemaError object.</summary>
 /// <param name="message"> The explanation of the error. </param>
 /// <param name="errorCode"> The code associated with this error. </param>
 /// <param name="severity"> The severity of the error. </param>
 public EdmSchemaError(string message, int errorCode, EdmSchemaErrorSeverity severity)
     : this(message, errorCode, severity, (Exception)null)
 {
 }
コード例 #39
0
 public void AddError(ModelBuilderErrorCode errorCode, EdmSchemaErrorSeverity severity, Exception ex)
 {
 }