コード例 #1
0
ファイル: WikiBuilder.cs プロジェクト: Qorpent/comdiv.oldcore
		public WikiBuilderTask[] Build(string  taskcode, IConsoleLogHost logger) {
			var files = myapp.files.ResolveAll("wiki", "*.buildtask", true, null);
			logger.loginfo(files.Count()+" files for builder found");
			IList<WikiBuilderTask> tasks = new List<WikiBuilderTask>();
			foreach (var file in files) {
				logger.loginfo("file " +file +" start to load");
				var e =new BxlParser().Parse(File.ReadAllText(file),file);
				foreach (var te in e.XPathSelectElements("//task")) {
					var task = WikiBuilderTask.ReadFromXml(te); 
					tasks.Add(task);
					logger.loginfo("task with code "+task.Code+" added");
				}
				
			}
			var filter = taskcode.split();
			WikiBuilderTask[] result = null;
			if (0 == filter.Count) {
				result = tasks.ToArray();
			}else {
				result = tasks.Where(x => filter.Contains(x.Id)).ToArray();
			}
			var respository = myapp.ioc.get<IWikiRepository>() ?? new WikiRepository();
			foreach (var task in result) {
				logger.loginfo("task " +task +" started");
				var executor = task.CustomExecutor ?? getDefaultExecutor(task);
				executor.Execute(respository, task, logger);
				logger.loginfo("task " + task + " finished");
			}
			return result;
		}
コード例 #2
0
        public void Contextualize(TestProvider provider, IConsoleLogHost logger)
        {
            this.provider = provider;
            this.logger = logger;
            this.cfg = new BxlParser().Parse(provider.Config);
            this.connection = cfg.elementId("connection","Default");
            this.schema = cfg.elementId("schema", "masaudit");
            this.db = cfg.elementId("db", (string)null);
            logger.loginfo("get test procedures from "+connection+"/"+db+"/"+schema);
            var t =
                myapp.sql.ExecuteTable(
                    "select name from sys.objects where type='P' and schema_id = schema_id('" + schema + "')", null, db,
                    connection);
            IList<DatabaseSetTest> procedures = new List<DatabaseSetTest>();
            foreach (var r in t.Rows)
            {
                logger.logtrace(r.Values[0] as string);
                procedures.Add(new DatabaseSetTest(this,r.Values[0] as string));
            }

            this.tests = procedures.ToArray();
        }