Changeset 17394 for branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ParameterizedItemConverter.cs
- Timestamp:
- 01/07/20 16:25:39 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ParameterizedItemConverter.cs
r17379 r17394 8 8 namespace HeuristicLab.JsonInterface { 9 9 public class ParameterizedItemConverter : BaseConverter { 10 public override void InjectData(IItem item, JsonItem data) { 11 IParameterizedItem pItem = item.Cast<IParameterizedItem>(); 10 public override int Priority => 2; 11 public override Type ConvertableType => typeof(IParameterizedItem); 12 13 public override void InjectData(IItem item, JsonItem data, IJsonItemConverter root) { 14 IParameterizedItem pItem = item as IParameterizedItem; 12 15 13 16 if(data.Children != null) { 14 17 foreach (var sp in data.Children) 15 18 if (pItem.Parameters.TryGetValue(sp.Name, out IParameter param)) 16 JsonItemConverter.Inject(param, sp);19 root.Inject(param, sp, root); 17 20 } 18 21 } 19 22 20 public override JsonItem ExtractData(IItem value) { 21 JsonItem item = new JsonItem(); 23 public override void Populate(IItem value, JsonItem item, IJsonItemConverter root) { 22 24 var parameterizedItem = value as IParameterizedItem; 23 25 24 26 foreach (var param in parameterizedItem.Parameters) { 25 if(!param.Hidden) { 26 JsonItem data = JsonItemConverter.Extract(param); 27 //data.Name = param.Name; 28 29 if (item.Children == null) 30 item.Children = new List<JsonItem>(); 31 item.Children.Add(data); 32 } 27 if(!param.Hidden) 28 item.AddChilds(root.Extract(param, root)); 33 29 } 34 return item;35 30 } 36 31 }
Note: See TracChangeset
for help on using the changeset viewer.