Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/17/20 12:33:35 (4 years ago)
Author:
dpiringe
Message:

#3026:

  • refactored JsonTemplateInstantiator -> now returns a InstantiatorResult which contains the optimizer and an IEnumerable of IResultJsonItem
  • code cleanup in JCGenerator
  • relocated the serialization of json items into IJsonItem with method GenerateJObject (virtual base implementation in JsonItem)
    • this allows custom serialization for json items (example: ValueLookupJsonItem)
    • items of interface IIntervalRestrictedJsonItem have a custom implementation of GenerateJObject -> hides Minimum and Maximum if the values are the physically min/max of their type
  • code cleanup in BaseConverter
File:
1 edited

Legend:

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

    r17473 r17477  
    1616    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
    1717      IntArray arr = item as IntArray;
    18       int[] d = CastValue<int[]>(data);
     18      IntArrayJsonItem intArrayItem = data as IntArrayJsonItem;
    1919      bool resizeTmp = arr.Resizable;
    2020      arr.Resizable = true;
    21       arr.Length = d.Length;
    22       for (int i = 0; i < d.Length; ++i)
    23         arr[i] = d[i];
     21      arr.Length = intArrayItem.Value.Length;
     22      for (int i = 0; i < intArrayItem.Value.Length; ++i)
     23        arr[i] = intArrayItem.Value[i];
    2424      arr.Resizable = resizeTmp;
    2525    }
     
    2727    public override IJsonItem Extract(IItem value, IJsonItemConverter root) =>
    2828      new IntArrayJsonItem() {
    29         Name = "[OverridableParamName]",
     29        Name = value.ItemName,
    3030        Description = value.ItemDescription,
    3131        Value = ((IntArray)value).CloneAsArray(),
     
    4141    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
    4242      DoubleArray arr = item as DoubleArray;
    43       DoubleArrayJsonItem doubleItem = data as DoubleArrayJsonItem;
    44       //double[] d = CastValue<double[]>(data);
     43      DoubleArrayJsonItem doubleArrayItem = data as DoubleArrayJsonItem;
    4544      bool resizeTmp = arr.Resizable;
    4645      arr.Resizable = true;
    47       //arr.Length = d.Length;
    48       arr.Length = doubleItem.Value.Length;
    49       for (int i = 0; i < doubleItem.Value.Length; ++i)
    50         arr[i] = doubleItem.Value[i];
     46      arr.Length = doubleArrayItem.Value.Length;
     47      for (int i = 0; i < doubleArrayItem.Value.Length; ++i)
     48        arr[i] = doubleArrayItem.Value[i];
    5149      arr.Resizable = resizeTmp;
    5250    }
     
    5452    public override IJsonItem Extract(IItem value, IJsonItemConverter root) =>
    5553      new DoubleArrayJsonItem() {
    56         Name = "[OverridableParamName]",
     54        Name = value.ItemName,
    5755        Description = value.ItemDescription,
    5856        Value = ((DoubleArray)value).CloneAsArray(),
     
    6866    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
    6967      PercentArray arr = item as PercentArray;
    70       double[] d = CastValue<double[]>(data);
     68      DoubleArrayJsonItem doubleArrayItem = data as DoubleArrayJsonItem;
    7169      bool resizeTmp = arr.Resizable;
    7270      arr.Resizable = true;
    73       arr.Length = d.Length;
    74       for (int i = 0; i < d.Length; ++i)
    75         arr[i] = d[i];
     71      arr.Length = doubleArrayItem.Value.Length;
     72      for (int i = 0; i < doubleArrayItem.Value.Length; ++i)
     73        arr[i] = doubleArrayItem.Value[i];
    7674      arr.Resizable = resizeTmp;
    7775    }
     
    7977    public override IJsonItem Extract(IItem value, IJsonItemConverter root) =>
    8078      new DoubleArrayJsonItem() {
    81         Name = "[OverridableParamName]",
     79        Name = value.ItemName,
    8280        Description = value.ItemDescription,
    8381        Value = ((PercentArray)value).CloneAsArray(),
     
    9391    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
    9492      BoolArray arr = item as BoolArray;
    95       bool[] d = CastValue<bool[]>(data);
     93      BoolArrayJsonItem boolArrayItem = data as BoolArrayJsonItem;
    9694      bool resizeTmp = arr.Resizable;
    9795      arr.Resizable = true;
    98       arr.Length = d.Length;
    99       for(int i = 0; i < d.Length; ++i)
    100         arr[i] = d[i];
     96      arr.Length = boolArrayItem.Value.Length;
     97      for(int i = 0; i < boolArrayItem.Value.Length; ++i)
     98        arr[i] = boolArrayItem.Value[i];
    10199      arr.Resizable = resizeTmp;
    102100    }
     
    104102    public override IJsonItem Extract(IItem value, IJsonItemConverter root) =>
    105103      new BoolArrayJsonItem() {
    106         //Name = "[OverridableParamName]",
    107104        Name = value.ItemName,
    108105        Description = value.ItemDescription,
Note: See TracChangeset for help on using the changeset viewer.