Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/27/20 12:18:06 (4 years ago)
Author:
dpiringe
Message:

#3026:

  • simplified converter inheritance:
    • BaseConverter now only has Inject and Extract from IJsonItemConverter as abstract methods
    • removed ParameterBaseConverter
    • concrete converters have to initialize their JsonItem now -> enables better handling with different types of JsonItem
File:
1 edited

Legend:

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

    r17406 r17407  
    88
    99namespace HeuristicLab.JsonInterface {
    10   public class ConstrainedValueParameterConverter : ParameterBaseConverter {
     10  public class ConstrainedValueParameterConverter : BaseConverter {
    1111    public override int Priority => 3;
    1212    public override Type ConvertableType => typeof(IConstrainedValueParameter<>);
    1313
    14     public override void InjectData(IParameter parameter, IJsonItem data, IJsonItemConverter root) {
    15       foreach(var x in GetValidValues(parameter))
     14    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
     15      IParameter parameter = item as IParameter;
     16      foreach (var x in GetValidValues(parameter))
    1617        if(x.ToString() == CastValue<string>(data.Value))
    1718          parameter.ActualValue = x;
     
    2425      }
    2526    }
     27   
     28    public override IJsonItem Extract(IItem value, IJsonItemConverter root) {
     29      IParameter parameter = value as IParameter;
    2630
    27     public override void Populate(IParameter value, IJsonItem item, IJsonItemConverter root) {
    28       item.AddChilds(GetParameterizedChilds(value));
    29       item.Name = value.Name;
    30       item.Value = value.ActualValue?.ToString();
    31       item.Range = GetValidValues(value).Select(x => x.ToString());
    32     }     
     31      IJsonItem item = new JsonItem() {
     32        Name = parameter.Name,
     33        Value = parameter.ActualValue?.ToString(),
     34        Range = GetValidValues(parameter).Select(x => x.ToString())
     35      };
     36      item.AddChilds(GetParameterizedChilds(parameter));
     37
     38      return item;
     39    }
    3340
    3441    #region Helper
Note: See TracChangeset for help on using the changeset viewer.