Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/01/19 12:58:25 (5 years ago)
Author:
dpiringe
Message:

#3026

  • renamed CustomWriter to CustomJsonWriter and extracted it into a separate file
  • removed property ParameterizedItems from Component
  • added helper methods for path generation in Component
  • reverted the single parameter array idea back to the FreeParameters and StaticParameters idea
  • now there hidden parameters are also handled
Location:
branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer/ConstrainedValueParameterTransformer.cs

    r17271 r17280  
    1717    }
    1818
    19     public override Component ExtractData(IParameter value) {
    20 
    21       return new Component() {
     19    public override Component ExtractData(IParameter value) =>
     20      new Component() {
    2221        Name = value.Name,
    2322        Default = value.ActualValue?.GetType().Name,
    2423        Range = GetValidValues(value),
    25         ParameterizedItems = GetParameterizedChilds(value)
     24        Parameters = GetParameterizedChilds(value)
    2625      };
    27     }
    2826
    2927    #region Helper
     
    3432      return list.ToArray();
    3533    }
    36 
     34    // id = kombi aus path + default
    3735    private IList<Component> GetParameterizedChilds(IParameter value) {
    3836      List<Component> list = new List<Component>();
    3937      var values = value.Cast<dynamic>().ValidValues;
    4038      foreach(var x in values) {
    41         if (x is IParameterizedItem &&
    42             ((IParameterizedItem)x).Parameters.Any(p => !p.Hidden)) {
     39        if (x is IParameterizedItem) {
    4340          Component tmp = Transformer.Extract(x);
    44           if (tmp.ParameterizedItems != null)
    45             list.AddRange(tmp.ParameterizedItems);
    46           else
    47             list.Add(tmp);
     41          tmp.PrependPath(value.Name);
     42          list.Add(tmp);
    4843        }
    4944      }
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer/ParameterBaseTransformer.cs

    r17271 r17280  
    88namespace HeuristicLab.Manufacture {
    99  public abstract class ParameterBaseTransformer : BaseTransformer {
    10     public override Component ExtractData(IItem value) => ExtractData(value.Cast<IParameter>());
     10    public override Component ExtractData(IItem value) {
     11      IParameter param = value.Cast<IParameter>();
     12      Component comp = ExtractData(param);
     13      //comp.Path = value.Cast<IParameter>().ActualValue?.ItemName;
     14      /*comp.Path = value.Cast<IParameter>().Name + "." + comp.Path;
     15      if(comp.ParameterizedItems != null) {
     16        foreach (var item in comp.ParameterizedItems) {
     17          item.Path = value.Cast<IParameter>().Name + "." + item.Path;
     18        }
     19      }*/
     20      return comp;
     21    }
    1122    public abstract Component ExtractData(IParameter value);
    1223
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer/ParameterizedItemTransformer.cs

    r17275 r17280  
    99{
    1010  public class ParameterizedItemTransformer : BaseTransformer {
    11    
    1211    public override void InjectData(IItem item, Component data) {
    1312      IParameterizedItem pItem = item.Cast<IParameterizedItem>();
     
    2120
    2221    public override Component ExtractData(IItem value) {
    23       List<Component> list = new List<Component>();
    24 
    2522      Component obj = new Component();
    2623      obj.Name = value.ItemName;
    2724      obj.Type = value.GetType().AssemblyQualifiedName;
    28       obj.ParameterizedItems = list;
    29       obj.Parameters = new List<Component>();
    30       list.Add(obj);
     25      obj.Path = value.ItemName;
    3126
    3227      foreach (var param in value.Cast<IParameterizedItem>().Parameters) {
    33         if (!param.Hidden) {
    34           Component data = Transformer.Extract(param);
    35           obj.Parameters.Add(data);
    36           if(data.ParameterizedItems != null)
    37             list.AddRange(data.ParameterizedItems);
    38         }
     28        Component data = Transformer.Extract(param);
     29        data.Name = param.Name;
     30        data.Path = param.Name;
     31        data.PrependPath(obj.Path);
     32        data.UpdatePaths();
     33       
     34        if (obj.Parameters == null)
     35          obj.Parameters = new List<Component>();
     36        obj.Parameters.Add(data);
    3937      }
    4038      return obj;
Note: See TracChangeset for help on using the changeset viewer.