Changeset 17280 for branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer
- Timestamp:
- 10/01/19 12:58:25 (5 years ago)
- Location:
- branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer/ConstrainedValueParameterTransformer.cs
r17271 r17280 17 17 } 18 18 19 public override Component ExtractData(IParameter value) { 20 21 return new Component() { 19 public override Component ExtractData(IParameter value) => 20 new Component() { 22 21 Name = value.Name, 23 22 Default = value.ActualValue?.GetType().Name, 24 23 Range = GetValidValues(value), 25 Parameter izedItems = GetParameterizedChilds(value)24 Parameters = GetParameterizedChilds(value) 26 25 }; 27 }28 26 29 27 #region Helper … … 34 32 return list.ToArray(); 35 33 } 36 34 // id = kombi aus path + default 37 35 private IList<Component> GetParameterizedChilds(IParameter value) { 38 36 List<Component> list = new List<Component>(); 39 37 var values = value.Cast<dynamic>().ValidValues; 40 38 foreach(var x in values) { 41 if (x is IParameterizedItem && 42 ((IParameterizedItem)x).Parameters.Any(p => !p.Hidden)) { 39 if (x is IParameterizedItem) { 43 40 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); 48 43 } 49 44 } -
branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer/ParameterBaseTransformer.cs
r17271 r17280 8 8 namespace HeuristicLab.Manufacture { 9 9 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 } 11 22 public abstract Component ExtractData(IParameter value); 12 23 -
branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer/ParameterizedItemTransformer.cs
r17275 r17280 9 9 { 10 10 public class ParameterizedItemTransformer : BaseTransformer { 11 12 11 public override void InjectData(IItem item, Component data) { 13 12 IParameterizedItem pItem = item.Cast<IParameterizedItem>(); … … 21 20 22 21 public override Component ExtractData(IItem value) { 23 List<Component> list = new List<Component>();24 25 22 Component obj = new Component(); 26 23 obj.Name = value.ItemName; 27 24 obj.Type = value.GetType().AssemblyQualifiedName; 28 obj.ParameterizedItems = list; 29 obj.Parameters = new List<Component>(); 30 list.Add(obj); 25 obj.Path = value.ItemName; 31 26 32 27 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); 39 37 } 40 38 return obj;
Note: See TracChangeset
for help on using the changeset viewer.