Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/23/21 13:03:53 (3 years ago)
Author:
dpiringe
Message:

#3026

  • removed/renamed all interfaces, classes and views related to results (are replaced by RunCollectionModifiers)
  • fixed a bug in JsonTemplateInstantiator to prevent errors for opening templates without a defined property for RunCollectionModifiers
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.App/Runner.cs

    r18055 r18059  
    1414      InstantiatorResult instantiatorResult = JsonTemplateInstantiator.Instantiate(template, config);
    1515      IOptimizer optimizer = instantiatorResult.Optimizer;
    16       IEnumerable<IResultJsonItem> configuredResultItem = instantiatorResult.ConfiguredResultItems;
    1716
    1817      optimizer.Runs.Clear();
     
    2221      Task task = optimizer.StartAsync();
    2322      while (!task.IsCompleted) {
    24         WriteResultsToFile(outputFile, optimizer, configuredResultItem, instantiatorResult.RunCollectionModifiers);
     23        WriteResultsToFile(outputFile, optimizer, instantiatorResult.RunCollectionModifiers);
    2524        Thread.Sleep(100);
    2625      }
    2726
    28       WriteResultsToFile(outputFile, optimizer, configuredResultItem, instantiatorResult.RunCollectionModifiers);
     27      WriteResultsToFile(outputFile, optimizer, instantiatorResult.RunCollectionModifiers);
    2928    }
    3029
    31     private static void WriteResultsToFile(string file, IOptimizer optimizer, IEnumerable<IResultJsonItem> configuredResultItem, IEnumerable<IRunCollectionModifier> runCollectionModifiers) {
     30    private static void WriteResultsToFile(string file, IOptimizer optimizer, IEnumerable<IRunCollectionModifier> runCollectionModifiers) {
    3231      if (optimizer.Runs.Count > 0)
    33         File.WriteAllText(file, FetchResults(optimizer, configuredResultItem, runCollectionModifiers));
     32        File.WriteAllText(file, FetchResults(optimizer, runCollectionModifiers));
    3433    }
     34
     35    private static string FetchResults(IOptimizer optimizer, IEnumerable<IRunCollectionModifier> runCollectionModifiers) {
     36      JArray arr = new JArray();
    3537     
    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()));
    4940     
    5041      foreach (var run in optimizer.Runs) {
     
    5445        foreach (var result in run.Results)
    5546          obj.Add(result.Key, result.Value.ToString());
    56 
    57         // zip and filter the results with the ResultJsonItems
    58         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 JObject
    68         foreach (var result in filteredResults) {
    69           var formatter = GetResultFormatter(result.Item1.ResultFormatterType);
    70           if (!obj.ContainsKey(result.Item1.Name)) // to prevent duplicates
    71             obj.Add(result.Item1.Name, formatter.Format(result.Item2));
    72         }
    7347      }
    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 ResultJsonItems
    81         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 JObject
    91         foreach(var result in filteredResults) {
    92           var formatter = GetResultFormatter(result.Item1.ResultFormatterType);
    93           if(!obj.ContainsKey(result.Item1.Name)) // to prevent duplicates
    94             obj.Add(result.Item1.Name, formatter.Format(result.Item2));
    95         }
    96       }*/
    9748      return SingleLineArrayJsonWriter.Serialize(arr);
    9849    }
Note: See TracChangeset for help on using the changeset viewer.