protected Environment parseEnvironment(string url) { Environment env = null; Model model = null; XDocument parser = null; string baseDir = MascaretApplication.Instance.BaseDir; parser = XDocument.Load(baseDir+"/"+url); XElement root = parser.Root; foreach (XElement childNode in root.Elements()) { if (childNode.Name.LocalName == "Model") { string urlModel = ""; XAttribute attr = (XAttribute)childNode.Attribute("url"); if (attr != null) urlModel = attr.Value; model = parseModel(urlModel); } } if (model == null) model = this.model; env = new Environment(model); env.Url = url; model.addEnvironment(env); MascaretApplication.Instance.VRComponentFactory.Log(baseDir); //InstanceLoader instanceLoader = new InstanceLoader(agentPlateform, env, url + "/" + baseDir, false); InstanceLoader instanceLoader = new InstanceLoader(agentPlateform, env, baseDir + "/" + url, false); return env; }
Environment parseEnvironment(string url, XElement actNode, XElement orgNode, bool loadAll) { Environment env = null; // logfile.WriteLine("Parsing Environment file : " + url); logfile.Flush(); String s = readFlow(BaseDir + "/" + url); XDocument parser = XDocument.Parse(s); XElement root = parser.Root; // Model model; XElement modelNode = root.Element("Model"); if (modelNode != null) { string urlModel = modelNode.Attribute("url").Value; /// StreamWriter file = new StreamWriter("log2.txt"); // file.WriteLine(" URL : " + url + " : " + BaseDir + "/" + urlModel); // file.Flush(); // file.Close(); if (model == null) model = parseModel(BaseDir+"/"+urlModel); // if (model.Environments.ContainsKey(url)) // { // env = model.Environments[url]; // } // else if (loadAll) { env = new Environment(model); env.Url = url; model.addEnvironment(env); InstanceLoader instanceLoader = new InstanceLoader(agentPlateform, env, BaseDir+"/"+url, true); System.Console.WriteLine("SIZE of env map " + model.Environments.Count + " of model :" + model.name); if (actNode != null) instanceLoader.parseInstances(agentPlateform, env, actNode.Attribute("url").Value, true); if (orgNode != null) instanceLoader.parseInstances(agentPlateform, env, orgNode.Attribute("url").Value, true); } } else env = null; return env; }