Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/21/20 17:14:46 (4 years ago)
Author:
dpiringe
Message:

#3026:

  • added a new way to setup the targeted result types
  • added new ui controls: NumericRangeControl, JsonItemArrayControl, JsonItemDefaultControl
  • redesigned export dialog -> now the user can navigate with a tree view
  • enhanced JsonItemVM
File:
1 edited

Legend:

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

    r17404 r17405  
    2020    private IOptimizer Optimizer { get; set; }
    2121
     22   
    2223    public string GenerateTemplate(IOptimizer optimizer) {
    2324      // data container
     
    3334      // which have parameters aswell
    3435      AddIItem(optimizer);
    35 
    3636      // save the JArray with JsonItems (= IParameterizedItems)
    3737      Template[Constants.Parameters] = JArrayItems;
     
    4545      Template[Constants.Metadata][Constants.HLFileLocation] = @"C:\Workspace\template.hl";
    4646
     47      JArray ResultItems = new JArray();
     48
    4749      JArrayItems = new JArray();
    4850      foreach (var item in items) {
    49         JArrayItems.Add(Serialize(item));
     51        if (item is ResultItem)
     52          ResultItems.Add(Serialize(item));
     53        else
     54          JArrayItems.Add(Serialize(item));
    5055      }
    5156      Template[Constants.Parameters] = JArrayItems;
     57      Template[Constants.ActivatedResults] = ResultItems;
     58
     59      // serialize template and return string
     60      return SingleLineArrayJsonWriter.Serialize(Template);
     61    }
     62
     63    public string GenerateTemplate(JsonItem rootItem, IOptimizer optimizer) {
     64      // data container
     65      Template = JObject.Parse(Constants.Template);
     66      JsonItems = new List<JsonItem>();
     67
     68      // extract JsonItem, save the name in the metadata section of the
     69      // template and save it an JArray incl. all parameters of the JsonItem,
     70      // which have parameters aswell
     71      Template[Constants.Metadata][Constants.Optimizer] = optimizer.Name;
     72      PopulateJsonItems(rootItem);
     73
     74      ProtoBufSerializer serializer = new ProtoBufSerializer();
     75      serializer.Serialize(Optimizer, @"C:\Workspace\template.hl");
     76      Template[Constants.Metadata][Constants.HLFileLocation] = @"C:\Workspace\template.hl";
     77
     78      JArray ResultItems = new JArray();
     79
     80      JArrayItems = new JArray();
     81      foreach (var item in JsonItems) {
     82        if (item is ResultItem)
     83          ResultItems.Add(Serialize(item));
     84        else
     85          JArrayItems.Add(Serialize(item));
     86      }
     87      Template[Constants.Parameters] = JArrayItems;
     88      Template[Constants.ActivatedResults] = ResultItems;
    5289
    5390      // serialize template and return string
     
    81118    private void PopulateJsonItems(JsonItem item) {
    82119      IEnumerable<JsonItem> tmpParameter = item.Children;
    83 
    84       if (item.Value != null || item.Range != null) {
     120     
     121      if (item.Value != null || item.Range != null || item is ResultItem || item.ActualName != null) {
    85122        JsonItems.Add(item);
    86123      }
Note: See TracChangeset for help on using the changeset viewer.