コード例 #1
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="status"></param>
 /// <param name="desc"></param>
 /// <param name="source"></param>
 /// <param name="url"></param>
 /// <param name="meta"></param>
 internal RuleResult(RuleId id, string desc, string source, HelpUrl url, ScanMetaInfo meta)
 {
     this.Rule        = id;
     this.Description = desc;
     this.Source      = source;
     this.Messages    = new List <string>();
     this.MetaInfo    = meta;
     this.HelpUrl     = url;
 }
コード例 #2
0
        private static RuleResult GenerateRuleResult()
        {
            RuleResult ruleResult = new RuleResult();

            ruleResult.Rule        = Core.Enums.RuleId.BoundingRectangleContainedInParent;
            ruleResult.Description = RuleDescription;
            HelpUrl helpUrl = new HelpUrl();

            helpUrl.Url        = TestHelpURL;
            ruleResult.HelpUrl = helpUrl;
            ruleResult.Source  = Source;
            return(ruleResult);
        }
コード例 #3
0
        private void InitTypeExtractors()
        {
            System.Attribute annotation = _modelType.GetCustomAttribute <TargetUrl>();
            if (annotation == null)
            {
                _targetUrlPatterns.Add(new Regex("(.*)"));
            }
            else
            {
                TargetUrl targetUrl = (TargetUrl)annotation;
                string[]  value     = targetUrl.Value;

                if (value != null)
                {
                    foreach (string s in value)
                    {
                        _targetUrlPatterns.Add(new Regex("(" + s.Replace(".", "\\.").Replace("*", "[^\"'#]*") + ")"));
                    }
                }
                else
                {
                    _targetUrlPatterns.Add(new Regex("(.*)"));
                }

                _targetUrlRegionSelector = new XPathSelector(string.IsNullOrEmpty(targetUrl.SourceRegion) ? "." : targetUrl.SourceRegion);
            }
            annotation = _modelType.GetCustomAttribute <HelpUrl>();
            if (annotation != null)
            {
                HelpUrl  helpUrl = (HelpUrl)annotation;
                string[] value   = helpUrl.Value;
                foreach (string s in value)
                {
                    _helpUrlPatterns.Add(new Regex("(" + s.Replace(".", "\\.").Replace("*", "[^\"'#]*") + ")"));
                }
                if (!string.IsNullOrEmpty(helpUrl.SourceRegion))
                {
                    _helpUrlRegionSelector = new XPathSelector(helpUrl.SourceRegion);
                }
            }
            annotation = _modelType.GetCustomAttribute <ExtractBy>();
            if (annotation != null)
            {
                ExtractBy extractBy = (ExtractBy)annotation;

                _objectExtractor = ExtractorUtils.GetExtractor(extractBy);
            }
        }
コード例 #4
0
        public string ToJson()
        {
            StringBuilder sb = new StringBuilder();
            JsonWriter    jw = new JsonWriter(new StringWriter(sb));

            jw.StartObject();
            jw.WriteProperty("taskEndPoint", TaskEndPoint.ToString());
            jw.Writer.Write(",");
            if (!string.IsNullOrEmpty(Title))
            {
                jw.WriteProperty("title", Title.ToString());
                jw.Writer.Write(",");
            }
            if (!string.IsNullOrEmpty(TaskName))
            {
                jw.WriteProperty("taskName", TaskName.ToString());
                jw.Writer.Write(",");
            }
            if (HelpUrl != null)
            {
                jw.WriteProperty("helpUrl", HelpUrl.ToString());
                jw.Writer.Write(",");
            }

            jw.WriteProperty("useProxy", UseProxy.ToString());
            jw.Writer.Write(",");

            jw.StartProperty("inputParameters");
            jw.StartArray();
            bool wroteFirst = false;

            foreach (ParameterSupport.ParameterConfig config in InputParameters)
            {
                if (config == null)
                {
                    continue;
                }
                if (wroteFirst)
                {
                    jw.Writer.Write(",");
                }
                else
                {
                    wroteFirst = true;
                }
                config.ToJson(jw);
            }
            jw.EndArray();
            jw.Writer.Write(",");
            jw.StartProperty("outputParameters");
            jw.StartArray();
            wroteFirst = false;
            foreach (ParameterSupport.ParameterConfig config in OutputParameters)
            {
                if (config == null)
                {
                    continue;
                }
                if (wroteFirst)
                {
                    jw.Writer.Write(",");
                }
                else
                {
                    wroteFirst = true;
                }
                config.ToJson(jw);
            }
            jw.EndArray();

            if (LayerOrder != null)
            {
                jw.Writer.Write(",");
                jw.StartProperty("layerOrder");
                jw.StartArray();
                wroteFirst = false;
                foreach (string layer in LayerOrder)
                {
                    if (string.IsNullOrEmpty(layer))
                    {
                        continue;
                    }
                    if (wroteFirst)
                    {
                        jw.Writer.Write(",");
                    }
                    else
                    {
                        wroteFirst = true;
                    }
                    jw.Writer.Write(string.Format("\"{0}\"", layer));
                }
                jw.EndArray();
            }
            jw.EndObject();
            return(sb.ToString());
        }