Changeset 17266 for branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/JCInstantiator.cs
- Timestamp:
- 09/20/19 16:23:42 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/JCInstantiator.cs
r17263 r17266 12 12 using Newtonsoft.Json.Linq; 13 13 14 namespace ParameterTest{14 namespace HeuristicLab.Manufacture { 15 15 16 16 … … 28 28 29 29 public IAlgorithm Instantiate(string configFile) { 30 JObject config = JObject.Parse(File.ReadAllText(configFile)); 30 JArray config = JArray.Parse(File.ReadAllText(configFile)); 31 JCObject obj = config[0].ToObject<JCObject>(); 32 IAlgorithm algorithm = CreateObject<IAlgorithm>(obj); 31 33 34 foreach(var sp in obj.StaticParameters) { 35 if(algorithm.Parameters.TryGetValue(sp.Name, out IParameter param)) { 36 Transformer.Inject(param, sp); 37 } 38 } 39 40 foreach (var sp in obj.FreeParameters) { 41 if (algorithm.Parameters.TryGetValue(sp.Name, out IParameter param)) { 42 if(IsInRangeList(sp.Range, sp.Default) || 43 IsInNumericRange<long>(sp.Default, sp.Range[0], sp.Range[1]) || 44 IsInNumericRange<double>(sp.Default, sp.Range[0], sp.Range[1])) 45 Transformer.Inject(param, sp); 46 } 47 } 48 49 50 return algorithm; 51 52 53 /* 32 54 TypeList = config[SParametersID][TListID].ToObject<Dictionary<string, string>>(); 33 55 … … 46 68 UseFreeParams(problemData.Name, freeProblemParameters, algorithm.Problem); 47 69 return algorithm; 70 */ 71 } 72 73 private T CreateObject<T>(JCObject obj) { 74 Type type = Type.GetType(obj.Type); 75 return (T)Activator.CreateInstance(type); 48 76 } 49 77 … … 56 84 57 85 private void ProcessParameters(JCObject obj, IParameterizedItem instance) { 58 foreach (var param in obj. Parameters)86 foreach (var param in obj.StaticParameters) 59 87 if (param.Default != null) 60 88 SetParameterValue(FindPropertyByKey(instance, param.Name), param.Default);
Note: See TracChangeset
for help on using the changeset viewer.