Free cookie consent management tool by TermsFeed Policy Generator

source: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/LookupParameterConverter.cs

Last change on this file was 18077, checked in by dpiringe, 2 years ago

#3026

  • added the dockerhub readme file
  • fixed a bug which caused changed values (changed by events) to be overwritten with wrong values
File size: 913 bytes
Line 
1using System;
2using System.Linq;
3using HeuristicLab.Core;
4
5namespace HeuristicLab.JsonInterface {
6  public class LookupParameterConverter : BaseConverter {
7    public override int Priority => 3;
8
9    public override bool CanConvertType(Type t) =>
10      t.GetInterfaces().Any(x => x == typeof(ILookupParameter));
11
12    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
13      if(data.Active)
14        ((ILookupParameter)item).ActualName = ((ILookupJsonItem)data).ActualName as string;
15    }
16     
17
18    public override IJsonItem Extract(IItem value, IJsonItemConverter root) {
19      IParameter parameter = value as IParameter;
20
21      IJsonItem item = new LookupJsonItem() {
22        Name = parameter.Name,
23        Description = parameter.Description,
24        ActualName = ((ILookupParameter)parameter).ActualName
25      };
26      return item;
27    }
28  }
29}
Note: See TracBrowser for help on using the repository browser.