/// <summary> /// Charge en mémoire les modèles objet et génère les warnings. /// </summary> private void LoadObjectModel() { // Charge le parser. IModelParser modelParser = LoadModelParser(); // Parse le modèle. _modelList = modelParser.Parse(); // Charge les listes de références. ICollection <TableInit> staticTableInitList = LoadTableInitListFromFile(_parameters.StaticListFactoryFileName); ICollection <TableInit> referenceTableInitList = LoadTableInitListFromFile(_parameters.ReferenceListFactoryFileName); // Génère les warnings pour le modèle. List <NVortexMessage> messageList = new List <NVortexMessage>(modelParser.ErrorList); messageList.AddRange(CodeChecker.Check(_modelList)); messageList.AddRange(StaticListChecker.Instance.Check(_modelList, staticTableInitList)); messageList.AddRange(ReferenceListChecker.Instance.Check(_modelList, referenceTableInitList)); messageList.AddRange(AbstractSchemaGenerator.CheckAllIdentifiersNames(_modelList)); NVortexGenerator.Generate(messageList, _parameters.VortexFile, "ClassGenerator"); if (!CanGenerate(messageList)) { Environment.Exit(-NbErrorMessage(messageList)); } }
protected void AssertSameParser(Func <IModelParser> parserFunc) { IModelParser instance1 = parserFunc(); IModelParser instance2 = parserFunc(); Assert.That(instance2, Is.SameAs(instance1)); }
/// <summary> /// Charge en mémoire les modèles objet et génère les warnings. /// </summary> private void LoadObjectModel() { // Charge le parser. IModelParser modelParser = LoadModelParser(); // Parse le modèle. _modelList = modelParser.Parse(); // Charge les listes de références. ICollection <TableInit> staticTableInitList = LoadTableInitList(true); ICollection <TableInit> referenceTableInitList = LoadTableInitList(false); // Génère les warnings pour le modèle. List <NVortexMessage> messageList = new List <NVortexMessage>(modelParser.ErrorList); messageList.AddRange(CodeChecker.Check(_modelList, _domainList)); messageList.AddRange(StaticListChecker.Instance.Check(_modelList, staticTableInitList)); messageList.AddRange(ReferenceListChecker.Instance.Check(_modelList, referenceTableInitList)); if (GeneratorParameters.GenerateSql) { _schemaGenerator = LoadSchemaGenerator(); messageList.AddRange(_schemaGenerator.CheckAllIdentifiersNames(_modelList)); } NVortexGenerator.Generate(messageList, GeneratorParameters.VortexFile, GeneratorParameters.SourceRepository, "ClassGenerator"); if (!CanGenerate(messageList)) { Environment.Exit(-NbErrorMessage(messageList)); } }
public void SystemTests() { IReader reader = new FileReader(@".\Resources\DataDictionary\datadict.rpt"); IModelParser[] parsers = new IModelParser[] { new AccessInformationParser(), new DescriptionParser(), new DetailsParser(), new ModifiedParser(), new ModuleParser(), new PageHeaderParser(), new RecordLengthParser(), new RecordParser(), new TechnicalInformationParser(), new CobolParser(), new IgnoreParser(), }; IDataParser dataParser = new DataParser(reader, parsers); dataParser.Corrections = corrections; dataParser.OnMissingParser = (line) => { throw new InvalidOperationException("No Parser for: " + reader); }; dataParser.Parse(); }
public Model(string path) { Parser = new ObjParser(path); // Hardcode obj parser Vertices = new List <Vector3>(); Normals = new List <Vector3>(); TexCoords = new List <Vector2>(); Faces = new List <CFace>(); }
public RangeReader( IApiEngineService <TRelation, TUser> engineService, IModelParser modelParser, DbContext dbContext) { this.engineService = engineService; this.modelParser = modelParser; this.dbContext = dbContext; }
public Model(IModelParser modelParser) { Name = modelParser.ModelName; Materials.AddRange(modelParser.Materials); Meshes.AddRange(modelParser.Meshes); SubMeshes.AddRange(modelParser.SubMeshes); Root.Nodes.AddRange(modelParser.Groups); Root.Name = modelParser.ModelName; }
public PermissionHandler( string RequesterID, IModelParser modelParser, IApiEngineService <TRelation, TUser> EngineService, DbContext DbContext) { this.RequesterID = RequesterID; this.DbContext = DbContext; this.modelParser = modelParser; this.EngineService = EngineService; }
public NeutronGeneralAPI( DbContext dbContext, UserManager <TUser> userManager, IModelParser modelParser, IApiEngineService <TRelation, TUser> engineService) { this.UserManager = userManager; this.dbContext = dbContext; this.ModelParser = modelParser; this.EngineService = engineService; this.Utils = new APIUtils(); }
protected static void AssertDoesNotParse(string[] cases, IModelParser modelParser) { foreach (string line in cases) { bool isMissing = false; Reader reader = Reader.CreateStringReader(line); IDataParser dataParser = new DataParser(reader, new[] { modelParser }); dataParser.OnMissingParser = s => isMissing = true; dataParser.Parse(); Assert.That(dataParser.Results, Is.Empty, "Results should be empty: {0}", line); Assert.That(isMissing, Is.True, "It should not parse line: {0}", line); } }
protected static IDataParser CreateDataParser(IReader reader, IModelParser modelParser, params IModelParser[] optionalParsers) { List <IModelParser> parsers = new List <IModelParser> { modelParser }; parsers.AddRange(optionalParsers); IDataParser dataParser = new DataParser(reader, parsers.ToArray()); dataParser.OnMissingParser = line => { throw new InvalidOperationException("No Parser for: " + reader); }; return(dataParser); }
private static void Main(string[] args) { if (args.Length == 0 || string.IsNullOrEmpty(args[0])) { Console.Error.WriteLine("Input file is required"); return; } IKernel kernel = new StandardKernel(); kernel.Bind <IFileSystem>().To <FileSystem>(); kernel.Bind <IModelParser>().To <ModelParser>(); kernel.Bind <IModelToObjParser>().To <ModelToObjParser>(); kernel.Bind <ISectionHeaderParser>().To <SectionHeaderParser>(); kernel.Bind <ISectionParser>().To <SectionParser>(); kernel.Bind <IObjParser>().To <ObjParser>(); string input = args[0]; string output = input.Replace(".model", ".obj"); if (args.Length > 1 && !string.IsNullOrEmpty(args[1])) { output = args[1]; } IModelParser modelParser = kernel.Get <IModelParser>(); FileManager fileManager = new FileManager(); Stopwatch stopwatch = Stopwatch.StartNew(); modelParser.WriteToOutput(input, output); long newMs = stopwatch.ElapsedMilliseconds; stopwatch.Restart(); fileManager.Open(input, output: output); stopwatch.Stop(); Console.WriteLine($"Converting model the old way took {stopwatch.ElapsedMilliseconds}ms"); Console.WriteLine($"Converting model the new way took {newMs}ms"); Console.Read(); }
protected override void OnSetUp() { parser = new TechnicalInformationParser(); base.OnSetUp(); }
protected override void OnSetUp() { parser = new AccessInformationParser(); base.OnSetUp(); }
protected ParserTestFixture(Func <IModelParser> parserFunc) { modelParser = parserFunc(); }
protected override void OnSetUp() { parser = new PageHeaderParser(); base.OnSetUp(); }
/// <summary> /// Initializes a new instance of the <see cref="DataParser"/> class. /// </summary> /// <param name="reader">The reader.</param> /// <param name="parsers">The parsers.</param> public DataParser(IReader reader, IModelParser[] parsers) { this.reader = reader; this.parsers = parsers; }
protected override void OnSetUp() { parser = new DetailsParser(); base.OnSetUp(); }
public Physical(IModelParser modelParser) : base(modelParser) { }
public IModel Parse(IReader reader) { IModelParser parser = parsers.FirstOrDefault(p => p.Matches(reader)); return(parser != null?parser.Parse(reader) : null); }
public void HierarchySystemTests() { IReader reader = new FileReader(@".\Resources\DataDictionary\datadict.rpt"); IModelParser[] parsers = new IModelParser[] { new AccessInformationParser(), new DescriptionParser(), new DetailsParser(), new ModifiedParser(), new ModuleParser(), new PageHeaderParser(), new RecordLengthParser(), new RecordParser(), new TechnicalInformationParser(), CobolParser.CobolHierarchy(), new IgnoreParser(), }; IDataParser dataParser = new DataParser(reader, parsers); dataParser.Corrections = corrections; dataParser.OnMissingParser = (line) => { throw new InvalidOperationException("No Parser for: " + reader); }; dataParser.Parse(); string typename = GetType().Name; string directory = Path.Combine(".", typename); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } foreach (IModel model in dataParser.Results) { HierarchyModel hiearchyModel = model as HierarchyModel; if (hiearchyModel != null) { ClassModel classModel = hiearchyModel.Model as ClassModel; if (classModel != null) { ModelXmlFormatter formatter = new ModelXmlFormatter(model); string xml = formatter.Render(); string objectName = classModel.Data; string fileName = directory + @"\" + objectName + ".xml"; if (File.Exists(fileName)) { File.Delete(fileName); } Assert.That(File.Exists(fileName), Is.False); using (StreamWriter writer = new StreamWriter(fileName)) { writer.Write(xml); } } } } }
public HierarchyParser(IModelParser modelParser, params IModelParser[] childrenParser) { this.modelParser = modelParser; this.childrenParser = new CombinationParser(childrenParser); }
public void HeaderSystemTests() { IReader reader = new FileReader(@".\Resources\DataDictionary\datadict.rpt"); IModelParser[] parsers = new IModelParser[] { new PageHeaderParser(), new AccessInformationParser(), new DescriptionParser(), new DetailsParser(), new ModifiedParser(), new ModuleParser(), new RecordLengthParser(), new RecordParser(), new TechnicalInformationParser(), CobolParser.CobolHierarchy(), new IgnoreParser(), }; IDataParser dataParser = new DataParser(reader, parsers); dataParser.Corrections = corrections; dataParser.OnMissingParser = (line) => { throw new InvalidOperationException("No Parser for: " + reader); }; dataParser.Parse(); }
/// <summary> /// Parses the data /// </summary> public void Parse() { while (!reader.EndOfFile) { IReader currentReader = reader; IModelParser parser = FindParser(reader, parsers); // Try fixing by trimming the lines if (parser == null) { currentReader = new TrimReader(reader); parser = FindParser(currentReader, parsers); } // Try fixing by adding a prefix if (parser == null) { currentReader = new AddPrefixReader(reader, " "); parser = FindParser(currentReader, parsers); } // Try fixing trimming off 1 char if (parser == null) { currentReader = new TrimLeftReader(reader, 1); parser = FindParser(currentReader, parsers); } // Try fixing by replacing known Corrections if (parser == null) { if (Corrections != null) { currentReader = new LookupReader(reader, Corrections); parser = FindParser(currentReader, parsers); } } // Still no Parser found so raise OnMissingParser event if (parser == null) { if (OnMissingParser != null) { if (OnMissingParser(reader.PeekNext())) { reader.ReadLine(); } } } if (parser != null) { int lineNo = currentReader.LineNumber; IModel model = parser.Parse(currentReader); if (model != null) { results.Add(model); } else if (lineNo == currentReader.LineNumber) { currentReader.ReadLine(); } } } }
public WordDocumentGenerator(IModelParser modelParser) { _modelParser = modelParser; }
public static Boolean ExecuteXmlModel(String filePath, Boolean isWithParameter) { try { String _filePath = filePath; if (!File.Exists(_filePath)) { return(false); } //解析文件 IModelParser parser = InstanceManager.Instance.NewParser; if (null == parser) { return(false); } parser.File = filePath; Boolean _isStepByStep = parser.IsStepByStepMode; //建立地理空间处理模型 Graph gpm = new Graph(); ProcessDescription[] processes = parser.ProcessList; // List<ProcessDescription> processQueue = null; // if (_isStepByStep) // { // processQueue = new List<ProcessDescription>(); // //从空间处理列表查找SpatialProcess // IProcessListParser processListParser = InstanceManager.Instance.ProcessListParser; // if (null == processListParser) // { // return false; // } // ProcessDefineDescription processDefine = null; // //ProcessDescription item = null; // List<ParaItem> parameters = null; // //ParaItem parameter = null; // foreach (ProcessDescription process in processes) // { // //如果是开始结点,就不添加到列表中 // if (process.Name.Equals(_XMLTag.g_ValueStart)) // { // continue; // } // processDefine = processListParser.GetProcess(process.Name); // //item = new ProcessDescription(processDefine.Name, process.Id, processDefine.Caption, processDefine.Description); // parameters = new List<ParaItem>(); // foreach (ParaItem paraitem in processDefine.Inputs) // { // if (IsParameterInProcess(process, paraitem.Name)) // { //// paraitem.Value = GetVariable(process, paraitem.Name); // parameters.Add(paraitem); // } // } // item.Inputs = parameters; // processQueue.Add(item); // } // } // else // { foreach (ProcessDescription process in processes) { gpm.CreateNode(process.Id, process); } //} LinkDescription[] links = parser.LinkList; foreach (LinkDescription link in links) { gpm.Link(gpm.NodeById(link.FromId), gpm.NodeById(link.ToId), link); } IModelJob job = InstanceManager.Instance.ProcessManager.CreateJob("xmlModel") as IModelJob; if (null == job) { return(false); } job.JobValue = gpm; if (!isWithParameter) { if (_isStepByStep) { ModelParameterWizardForm wizard = new ModelParameterWizardForm(); //List<ProcessDescription> processQueue = new List<ProcessDescription>(); ////从空间处理列表查找SpatialProcess //IProcessListParser processListParser = InstanceManager.Instance.ProcessListParser; //if (null == processListParser) //{ // return false; //} //ProcessDefineDescription processDefine = null; //ProcessDescription item = null; //List<ParaItem> parameters = null; ////ParaItem parameter = null; //foreach (ProcessDescription process in parser.ProcessList) //{ // //如果是开始结点,就不添加到列表中 // if (process.Name.Equals(_XMLTag.g_ValueStart)) // { // continue; // } // processDefine = processListParser.GetProcess(process.Name); // item = new ProcessDescription(processDefine.Name, process.Id, processDefine.Caption, processDefine.Description); // parameters = new List<ParaItem>(); // foreach (ParaItem paraitem in processDefine.Inputs) // { // if (IsParameterInProcess(process, paraitem.Name)) // { // paraitem.Value = GetVariable(process, paraitem.Name); // parameters.Add(paraitem); // } // } // item.Inputs = parameters; // processQueue.Add(item); //} // wizard.ProcessQueue = processQueue; wizard.ProcessQueue = processes; if (wizard.ShowDialog() == System.Windows.Forms.DialogResult.OK) { List <ParameterSet> paras = wizard.ParameterSetList; //这个地方速度慢 if (!job.SetParameters(paras.ToArray())) { throw new Exception("设置参数失败"); } } else { wizard.Close(); return(false); } } } else { throw new NotImplementedException("该场景未实现"); } return(job.Execute()); } catch (Exception ex) { IRunningLogger logger = InstanceManager.Instance.Context.GetVariable("RunningStatusLogger") as IRunningLogger; if (null != logger) { logger.Error(_LOG, ex.Message); } } return(false); }
protected override void OnSetUp() { parser = new ModuleParser(); base.OnSetUp(); }
public Unit(IModelParser modelParser) : base(modelParser) { }
public Repository(IGremlinPersistence gremlinPersistence, IQueryBuilder queryBuilder, IModelParser modelParser) { _gremlinPersistence = gremlinPersistence; _queryBuilder = queryBuilder; _modelParser = modelParser; }