Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/17/20 17:03:24 (4 years ago)
Author:
dpiringe
Message:

#3026:

  • refactored json item validation process -> every method now returns a ValidationResult containing bool Success (true if validation is successful) and IEnumerable<string> Errors (error messages)
    • this design allows to specify error messages directly in json items
File:
1 edited

Legend:

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

    r17477 r17481  
    1414
    1515namespace HeuristicLab.JsonInterface {
    16   public struct InstantiatorResult {
    17     public IOptimizer Optimizer { get; set; }
    18     public IEnumerable<IResultJsonItem> ConfiguredResultItems { get; set; }
     16  public readonly struct InstantiatorResult {
     17    public InstantiatorResult(IOptimizer optimizer, IEnumerable<IResultJsonItem> configuredResultItems) {
     18      Optimizer = optimizer;
     19      ConfiguredResultItems = configuredResultItems;
     20    }
     21
     22    public IOptimizer Optimizer { get; }
     23    public IEnumerable<IResultJsonItem> ConfiguredResultItems { get; }
    1924  }
    2025
     
    4449    #region Helper
    4550    private InstantiatorResult ExecuteInstantiaton(string templateFile, string configFile = null) {
    46       InstantiatorResult result = new InstantiatorResult();
    4751
    4852      #region Parse Files
     
    5862      ProtoBufSerializer serializer = new ProtoBufSerializer();
    5963      IOptimizer optimizer = (IOptimizer)serializer.Deserialize(hLFileLocation);
    60       result.Optimizer = optimizer;
    6164      #endregion
    6265
     
    7376      JsonItemConverter.Inject(optimizer, rootItem);
    7477
    75       result.ConfiguredResultItems = CollectResults();
    76 
    77       return result;
     78      return new InstantiatorResult(optimizer, CollectResults());
    7879    }
    7980
Note: See TracChangeset for help on using the changeset viewer.