- Timestamp:
- 09/23/21 13:03:53 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.App/Runner.cs
r18055 r18059 14 14 InstantiatorResult instantiatorResult = JsonTemplateInstantiator.Instantiate(template, config); 15 15 IOptimizer optimizer = instantiatorResult.Optimizer; 16 IEnumerable<IResultJsonItem> configuredResultItem = instantiatorResult.ConfiguredResultItems;17 16 18 17 optimizer.Runs.Clear(); … … 22 21 Task task = optimizer.StartAsync(); 23 22 while (!task.IsCompleted) { 24 WriteResultsToFile(outputFile, optimizer, configuredResultItem,instantiatorResult.RunCollectionModifiers);23 WriteResultsToFile(outputFile, optimizer, instantiatorResult.RunCollectionModifiers); 25 24 Thread.Sleep(100); 26 25 } 27 26 28 WriteResultsToFile(outputFile, optimizer, configuredResultItem,instantiatorResult.RunCollectionModifiers);27 WriteResultsToFile(outputFile, optimizer, instantiatorResult.RunCollectionModifiers); 29 28 } 30 29 31 private static void WriteResultsToFile(string file, IOptimizer optimizer, IEnumerable<IR esultJsonItem> configuredResultItem, IEnumerable<IRunCollectionModifier> runCollectionModifiers) {30 private static void WriteResultsToFile(string file, IOptimizer optimizer, IEnumerable<IRunCollectionModifier> runCollectionModifiers) { 32 31 if (optimizer.Runs.Count > 0) 33 File.WriteAllText(file, FetchResults(optimizer, configuredResultItem,runCollectionModifiers));32 File.WriteAllText(file, FetchResults(optimizer, runCollectionModifiers)); 34 33 } 34 35 private static string FetchResults(IOptimizer optimizer, IEnumerable<IRunCollectionModifier> runCollectionModifiers) { 36 JArray arr = new JArray(); 35 37 36 37 private static IEnumerable<IResultFormatter> ResultFormatter { get; } = 38 PluginInfrastructure.ApplicationManager.Manager.GetInstances<IResultFormatter>(); 39 40 private static IResultFormatter GetResultFormatter(string fullName) => 41 ResultFormatter?.Where(x => x.GetType().FullName == fullName).Last(); 42 43 private static string FetchResults(IOptimizer optimizer, IEnumerable<IResultJsonItem> configuredResultItems, IEnumerable<IRunCollectionModifier> runCollectionModifiers) { 44 JArray arr = new JArray(); 45 IEnumerable<string> configuredResults = configuredResultItems.Select(x => x.Name); 46 47 foreach (var processor in runCollectionModifiers) 48 processor.Modify(new List<IRun>(optimizer.Runs.ToArray())); 38 foreach (var modifier in runCollectionModifiers) 39 modifier.Modify(new List<IRun>(optimizer.Runs.ToArray())); 49 40 50 41 foreach (var run in optimizer.Runs) { … … 54 45 foreach (var result in run.Results) 55 46 obj.Add(result.Key, result.Value.ToString()); 56 57 // zip and filter the results with the ResultJsonItems58 var filteredResults = new List<Tuple<IResultJsonItem, IItem>>();59 foreach (var resultItem in configuredResultItems) {60 foreach (var result in run.Results) {61 if (resultItem.Name == result.Key) {62 filteredResults.Add(Tuple.Create(resultItem, result.Value));63 }64 }65 }66 67 // add results to the JObject68 foreach (var result in filteredResults) {69 var formatter = GetResultFormatter(result.Item1.ResultFormatterType);70 if (!obj.ContainsKey(result.Item1.Name)) // to prevent duplicates71 obj.Add(result.Item1.Name, formatter.Format(result.Item2));72 }73 47 } 74 /*75 foreach (var run in optimizer.Runs) {76 JObject obj = new JObject();77 arr.Add(obj);78 obj.Add("Run", JToken.FromObject(run.ToString()));79 80 // zip and filter the results with the ResultJsonItems81 var filteredResults = new List<Tuple<IResultJsonItem, IItem>>();82 foreach(var resultItem in configuredResultItems) {83 foreach(var result in run.Results) {84 if(resultItem.Name == result.Key) {85 filteredResults.Add(Tuple.Create(resultItem, result.Value));86 }87 }88 }89 90 // add results to the JObject91 foreach(var result in filteredResults) {92 var formatter = GetResultFormatter(result.Item1.ResultFormatterType);93 if(!obj.ContainsKey(result.Item1.Name)) // to prevent duplicates94 obj.Add(result.Item1.Name, formatter.Format(result.Item2));95 }96 }*/97 48 return SingleLineArrayJsonWriter.Serialize(arr); 98 49 }
Note: See TracChangeset
for help on using the changeset viewer.