Skip to content

Commit

Permalink
Enable parsing of statnodes like <null name="min" /> <null name="max"…
Browse files Browse the repository at this point in the history
… /> <double name="mean">NaN</double>
  • Loading branch information
Henr1k80 committed Jul 16, 2015
1 parent 624ac30 commit 998585a
Showing 1 changed file with 19 additions and 12 deletions.
31 changes: 19 additions & 12 deletions SolrNet/Impl/ResponseParsers/StatsResponseParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,23 +69,23 @@ public StatsResult ParseStatsNode(XElement node) {
foreach (var statNode in node.Elements()) {
var name = statNode.Attribute("name").Value;
switch (name) {
case "min":
r.Min = Convert.ToDouble( statNode.Value, CultureInfo.InvariantCulture );
case "min":
r.Min = GetDoubleValue(statNode);
break;
case "max":
r.Max = Convert.ToDouble( statNode.Value, CultureInfo.InvariantCulture );
case "max":
r.Max = GetDoubleValue(statNode);
break;
case "sum":
r.Sum = Convert.ToDouble( statNode.Value, CultureInfo.InvariantCulture );
case "sum":
r.Sum = GetDoubleValue(statNode);
break;
case "sumOfSquares":
r.SumOfSquares = Convert.ToDouble( statNode.Value, CultureInfo.InvariantCulture );
case "sumOfSquares":
r.SumOfSquares = GetDoubleValue(statNode);
break;
case "mean":
r.Mean = Convert.ToDouble( statNode.Value, CultureInfo.InvariantCulture );
case "mean":
r.Mean = GetDoubleValue(statNode);
break;
case "stddev":
r.StdDev = Convert.ToDouble( statNode.Value, CultureInfo.InvariantCulture );
case "stddev":
r.StdDev = GetDoubleValue(statNode);
break;
case "count":
r.Count = Convert.ToInt64( statNode.Value, CultureInfo.InvariantCulture );
Expand All @@ -100,5 +100,12 @@ public StatsResult ParseStatsNode(XElement node) {
}
return r;
}

private static double GetDoubleValue(XElement statNode) {
double parsedValue;
if (!double.TryParse(statNode.Value, NumberStyles.Float, CultureInfo.InvariantCulture, out parsedValue))
parsedValue = double.NaN;
return parsedValue;
}
}
}

0 comments on commit 998585a

Please sign in to comment.