Changeset 17395 for branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonTemplateInstantiator.cs
- Timestamp:
- 01/07/20 17:19:05 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonTemplateInstantiator.cs
r17394 r17395 29 29 /// <param name="templateFile">Template file (json), generated with JCGenerator.</param> 30 30 /// <param name="configFile">Config file (json) for the template.</param> 31 /// <returns>confugrated I Algorithmobject</returns>32 public static I AlgorithmInstantiate(string templateFile, string configFile = "") {31 /// <returns>confugrated IOptimizer object</returns> 32 public static IOptimizer Instantiate(string templateFile, string configFile = "") { 33 33 InstData instData = new InstData() { 34 34 Objects = new Dictionary<string, JsonItem>() … … 41 41 42 42 // extract metadata information 43 string algorithmName = instData.Template[Constants.Metadata][Constants.Algorithm].ToString(); 44 string problemName = instData.Template[Constants.Metadata][Constants.Problem].ToString(); 43 string optimizerName = instData.Template[Constants.Metadata][Constants.Optimizer].ToString(); 45 44 string hLFileLocation = instData.Template[Constants.Metadata][Constants.HLFileLocation].ToString(); 46 45 47 46 // deserialize hl file 48 47 ProtoBufSerializer serializer = new ProtoBufSerializer(); 49 I Algorithm algorithm = (IAlgorithm)serializer.Deserialize(hLFileLocation);48 IOptimizer optimizer = (IOptimizer)serializer.Deserialize(hLFileLocation); 50 49 51 50 // collect all parameterizedItems from template … … 57 56 58 57 // get algorthm data and object 59 JsonItem algorithmData = GetData(algorithmName, instData); 60 61 // get problem data and object 62 JsonItem problemData = GetData(problemName, instData); 58 JsonItem optimizerData = instData.Objects[optimizerName]; 63 59 64 60 // inject configuration 65 JsonItemConverter.Inject(algorithm, algorithmData); 66 if(algorithm.Problem != null) 67 JsonItemConverter.Inject(algorithm.Problem, problemData); 61 JsonItemConverter.Inject(optimizer, optimizerData); 68 62 69 return algorithm;63 return optimizer; 70 64 } 71 65
Note: See TracChangeset
for help on using the changeset viewer.