From 5cbddcaaf4bf4c34673c28f548d95c14a359bfd8 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Wed, 15 Feb 2017 11:48:47 +0100 Subject: [PATCH] Results.WMeterRsltItemSpec bug fix : Serialization in ToStrArray() and FromStrArray() was not language independent. --- Results/WMeterRsltItemSpec.cs | 57 +++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/Results/WMeterRsltItemSpec.cs b/Results/WMeterRsltItemSpec.cs index bcee09cbb..e67b2fe77 100644 --- a/Results/WMeterRsltItemSpec.cs +++ b/Results/WMeterRsltItemSpec.cs @@ -266,7 +266,7 @@ namespace Results items[i].Format, items[i].Precision, items[i].Width, - items[i].Alignment.ToDescription()); + items[i].Alignment); } return result; } @@ -279,33 +279,46 @@ namespace Results public static IList FromStrArray(string[] strArray) { IList result = new List(); + if (strArray != null) { for (int i = 0; i < strArray.Length; i++) { - string[] field = strArray[i].Split(new char[] { '~' }); - try - { - WMeterRsltItemSpec item = GetItem(int.Parse(field[0])); + try + { + //if (strArray[i].Contains("~")) + //{ + string[] field = strArray[i].Split(new char[] { '~' }); + WMeterRsltItemSpec item = GetItem(int.Parse(field[0])); - item.Caption = field[1]; - item.TestID = field[2]; - item.Units = 0; - for (Config.Unit u = 0; u < Config.Unit.Count; u++) if (u.ToString().Equals(field[3])) { item.Units = u; break; } - item.Format = field[4]; - item.Precision = field[5]; - item.Width = int.Parse(field[6]); - item.Alignment = 0; - for (Config.Entities.Alignment a = 0; a < Config.Entities.Alignment.Count; a++) if (a.ToDescription().Equals(field[7])) { item.Alignment = a; break; } + item.Caption = field[1]; + item.TestID = field[2]; + item.Units = 0; + for (Config.Unit u = 0; u < Config.Unit.Count; u++) + { + if (u.ToString().Equals(field[3])) { item.Units = u; break; } + } + item.Format = field[4]; + item.Precision = field[5]; + item.Width = int.Parse(field[6]); + item.Alignment = 0; + for (Config.Entities.Alignment a = 0; a < Config.Entities.Alignment.Count; a++) + { + if (a.ToString().Equals(field[7])) { item.Alignment = a; break; } + } - result.Add(item); - } - catch - { - WMeterRsltItemSpec item = GetItem(0); - item.Format = string.Format("Parse error: {0}", strArray[i]); - result.Add(item); - } + result.Add(item); + //} + //else + //{ + //} + } + catch + { + WMeterRsltItemSpec item = GetItem(0); + item.Format = string.Format("Parse error: {0}", strArray[i]); + result.Add(item); + } } } return result;