private void LoadGenerationParameters(ResearchResult r)
        {
            while (reader.Read())
            {
                if (reader.Name == "GenerationParameter")
                {
                    reader.MoveToAttribute("name");
                    string g = reader.ReadContentAsString();
                    GenerationParameter gp;
                    if (g == "FileName")
                    {
                        gp = GenerationParameter.AdjacencyMatrix;
                    }
                    else
                    {
                        gp = (GenerationParameter)Enum.Parse(typeof(GenerationParameter), g);
                    }

                    reader.MoveToAttribute("value");
                    GenerationParameterInfo gpInfo = (GenerationParameterInfo)(gp.GetType().GetField(gp.ToString()).GetCustomAttributes(typeof(GenerationParameterInfo), false)[0]);
                    if (gpInfo.Type.Equals(typeof(UInt32)))
                    {
                        r.GenerationParameterValues.Add(gp, UInt32.Parse(reader.Value));
                    }
                    else if (gpInfo.Type.Equals(typeof(Double)))
                    {
                        r.GenerationParameterValues.Add(gp, Double.Parse(reader.Value, CultureInfo.InvariantCulture));
                    }
                    else if (gpInfo.Type.Equals(typeof(Boolean)))
                    {
                        r.GenerationParameterValues.Add(gp, Boolean.Parse(reader.Value));
                    }
                    else if (gpInfo.Type.Equals(typeof(MatrixPath)))
                    {
                        MatrixPath mp = new MatrixPath();
                        mp.Path = reader.Value;
                        r.GenerationParameterValues.Add(gp, mp);
                    }
                    else
                    {
                        Debug.Assert(false);
                        //throw new InvalidGenerationParameters();
                    }
                }
                if (reader.Name == "Ensembles")
                {
                    break;
                }
            }
        }
Ejemplo n.º 2
0
        private string GetDefaultValueForGenerationParameter(GenerationParameter g)
        {
            GenerationParameterInfo gInfo = (GenerationParameterInfo)(g.GetType().GetField(g.ToString()).GetCustomAttributes(typeof(GenerationParameterInfo), false)[0]);

            return(gInfo.DefaultValue);
        }
Ejemplo n.º 3
0
        private Type GetGenerationParameterType(GenerationParameter g)
        {
            GenerationParameterInfo gInfo = (GenerationParameterInfo)(g.GetType().GetField(g.ToString()).GetCustomAttributes(typeof(GenerationParameterInfo), false)[0]);

            return(gInfo.Type);
        }
Ejemplo n.º 4
0
        private void LoadGeneralInfo(String folderName, ResearchResult r)
        {
            using (StreamReader rd = new StreamReader(folderName + "\\general.txt"))
            {
                rd.ReadLine();
                r.ResearchID       = new Guid(rd.ReadLine().Substring(13));
                r.ResearchName     = rd.ReadLine().Substring(15);
                r.ResearchType     = (ResearchType)Enum.Parse(typeof(ResearchType), rd.ReadLine().Substring(15));
                r.ModelType        = (ModelType)Enum.Parse(typeof(ModelType), rd.ReadLine().Substring(12));
                r.RealizationCount = Int32.Parse(rd.ReadLine().Substring(19));
                r.Date             = DateTime.Parse(rd.ReadLine().Substring(7));
                r.Size             = Int32.Parse(rd.ReadLine().Substring(7));
                r.Edges            = Double.Parse(rd.ReadLine().Substring(8), CultureInfo.InvariantCulture);

                rd.ReadLine();

                String str = null;
                while ((str = rd.ReadLine()) != "Generation Parameters")
                {
                    String[]          split = str.Split(' ');
                    ResearchParameter rp    = (ResearchParameter)Enum.Parse(typeof(ResearchParameter), split[0]);

                    ResearchParameterInfo rpInfo = (ResearchParameterInfo)(rp.GetType().GetField(rp.ToString()).GetCustomAttributes(typeof(ResearchParameterInfo), false)[0]);
                    if (rpInfo.Type.Equals(typeof(Int32)))
                    {
                        r.ResearchParameterValues.Add(rp, Int32.Parse(split[1]));
                    }
                    else if (rpInfo.Type.Equals(typeof(Double)))
                    {
                        r.ResearchParameterValues.Add(rp, Double.Parse(split[1], CultureInfo.InvariantCulture));
                    }
                    else if (rpInfo.Type.Equals(typeof(Boolean)))
                    {
                        r.ResearchParameterValues.Add(rp, Boolean.Parse(split[1]));
                    }
                    else if (rpInfo.Type.Equals(typeof(ResearchType)))
                    {
                        r.ResearchParameterValues.Add(rp, split[1]);
                    }
                    else if (rpInfo.Type.Equals(typeof(MatrixPath)))
                    {
                        MatrixPath mp = new MatrixPath();
                        mp.Path = split[1];
                        r.ResearchParameterValues.Add(rp, mp);
                    }
                    else
                    {
                        Debug.Assert(false);
                    }
                }
                while ((str = rd.ReadLine()) != null)
                {
                    String[]            split = str.Split(' ');
                    GenerationParameter gp;
                    if (split[0] == "FileName")
                    {
                        gp = GenerationParameter.AdjacencyMatrix;
                    }
                    else
                    {
                        gp = (GenerationParameter)Enum.Parse(typeof(GenerationParameter), split[0]);
                    }

                    GenerationParameterInfo gpInfo = (GenerationParameterInfo)(gp.GetType().GetField(gp.ToString()).GetCustomAttributes(typeof(GenerationParameterInfo), false)[0]);
                    if (gpInfo.Type.Equals(typeof(Int32)))
                    {
                        r.GenerationParameterValues.Add(gp, Int32.Parse(split[1]));
                    }
                    else if (gpInfo.Type.Equals(typeof(Double)))
                    {
                        r.GenerationParameterValues.Add(gp, Double.Parse(split[1], CultureInfo.InvariantCulture));
                    }
                    else if (gpInfo.Type.Equals(typeof(Boolean)))
                    {
                        r.GenerationParameterValues.Add(gp, Boolean.Parse(split[1]));
                    }
                    else if (gpInfo.Type.Equals(typeof(MatrixPath)))
                    {
                        MatrixPath mp = new MatrixPath();
                        mp.Path = split[1];
                        r.GenerationParameterValues.Add(gp, mp);
                    }
                    else
                    {
                        Debug.Assert(false);
                    }
                }
            }
        }