public static DataFormat ParseDataFormatXmLFile(Url url) { if (url == null) { throw new ConcurrentGraphException("The data format specification file cannot be found."); } string dataFormatName; List <ColumnDescription> columns = new List <ColumnDescription>(); XmlDocument document = new XmlDocument(); document.Load(url.OpenStream()); XmlElement root = document.DocumentElement; if (root.Name.Equals("dataformat")) { dataFormatName = root.GetAttribute("name"); } else { throw new ConcurrentGraphException("Data format specification file must contain one 'dataformat' element. "); } XmlNodeList cols = root.GetElementsByTagName("column"); int i = 0; for (; i < cols.Count; i++) { XmlElement col = (XmlElement)cols[i]; ColumnDescription column = new ColumnDescription(i, col.GetAttribute("name"), ColumnDescription.GetCategory(col.GetAttribute("category")), ColumnDescription.GetType(col.GetAttribute("type")), col.GetAttribute("default"), false); columns.Add(column); } columns.Add(new ColumnDescription(i++, "PPPATH", ColumnDescription.DependencyEdgeLabel, ColumnDescription.String, "_", true)); columns.Add(new ColumnDescription(i++, "PPLIFTED", ColumnDescription.DependencyEdgeLabel, ColumnDescription.String, "_", true)); columns.Add(new ColumnDescription(i, "PPCOVERED", ColumnDescription.DependencyEdgeLabel, ColumnDescription.String, "_", true)); return(new DataFormat(dataFormatName, columns)); }
public virtual ColumnDescription GetColumnDescription(string columnName) { ColumnDescription columnDescription = columnMap[columnName]; if (columnDescription != null) { return(columnDescription); } foreach (ColumnDescription description in columns) { if (description.Name.Equals(columnName.ToUpper())) { columnMap[columnName] = description; return(description); } } return(null); }