コード例 #1
0
        private void Process <T>(KindModelEnum kind, List <ScriptFileInfo> scripts, IParseTreeVisitor <T> visitor)
        {
            Trace.WriteLine(string.Format("Start processing {0}", kind), "Debug");
            int count = Process(script => script.ExpectedKind == kind, scripts, visitor);

            Trace.WriteLine(string.Format("end processing {0}. {1} script(s).", kind, count), "Debug");
        }
コード例 #2
0
        private EventParser GetEventParser(string message, string objectName, KindModelEnum kind, params FileElement[] fileElements)
        {
            if (string.IsNullOrEmpty(message))
            {
                throw new ArgumentException("message is empty", nameof(message));
            }

            if (string.IsNullOrEmpty(objectName))
            {
                objectName = string.Empty;
            }
            //throw new ArgumentException("objectName is empty", nameof(objectName));

            var eventParser = new EventParser()
            {
                Message       = message,
                Type          = kind.ToString(),
                OjectName     = objectName,
                ValidatorName = this.GetType().FullName,
            };

            eventParser.Files.AddRange(fileElements);
            this.Events.Add(eventParser);
            return(eventParser);
        }
コード例 #3
0
        private EventParser GetEventParser(Error error, string objectName, KindModelEnum kind)
        {
            var i = GetEventParser(error.Message, objectName, kind, error.File);

            i.Error = error;
            return(i);
        }
コード例 #4
0
        protected virtual int ResolvePriority_Impl(KindModelEnum expectedKind)
        {
            int priority = 1000;

            switch (expectedKind)
            {
            case KindModelEnum.Table:
            case KindModelEnum.Sequence:
                priority = 0;
                break;

            case KindModelEnum.Index:
            case KindModelEnum.Trigger:
            case KindModelEnum.Package:
            case KindModelEnum.Function:
            case KindModelEnum.Procedure:
            case KindModelEnum.View:
                priority = 10;
                break;

            case KindModelEnum.PackageBodies:
                priority = 20;
                break;

            case KindModelEnum.MaterializedView:
                break;

            case KindModelEnum.MaterializedViewLog:
                break;

            case KindModelEnum.UserObjectPrivilege:
                break;

            case KindModelEnum.Synonym:
                break;
            }

            return(priority);
        }
コード例 #5
0
 public int ResolvePriority(KindModelEnum kind)
 {
     return(ResolvePriority_Impl(kind));
 }