コード例 #1
0
ファイル: InstanceLoader.cs プロジェクト: FlorianPRN/Mascaret
        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;
        }
コード例 #2
0
        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;
        }