protected override void Convert(System.IO.TextWriter writer, object state) { LoggingEvent logEvent = state as LoggingEvent; SysConfigLogInfo sysConfig = logEvent.MessageObject as SysConfigLogInfo; if (sysConfig == null) { throw new ArgumentException("Object is not of type SysConfigLogInfo"); } Tuple <string, string>[] prepend = new Tuple <string, string>[] { Tuple.Create("Category", sysConfig.Tags["Category"]) }; //prepend = null; // Not sure how to prevent repeats reliably. IEnumerable <IHyperCube <double> > points = sysConfig.Scores as IEnumerable <IHyperCube <double> >; IEnumerable <IObjectiveScores> scores = sysConfig.Scores as IEnumerable <IObjectiveScores>; if (points != null) { writer.Write(MetaheuristicsHelper.BuildCsvFileContent <IHyperCube <double> >(points, false, prepend)); } if (scores != null) { writer.Write(MetaheuristicsHelper.BuildCsvFileContent <IHyperCube <double> >(scores, false, prepend)); } }
private static ObjectivesResultsCollection createResultsSet(SysConfigLogInfo item, string resultsName = "") { IObjectiveScores[] arrayScores = item.Scores as IObjectiveScores[]; if (arrayScores != null) { var tags = item.Tags; var result = ConvertOptimizationResults.Convert(arrayScores, attributes: tags); result.Name = resultsName; return(result); } return(null); }