Changeset 9305 for branches/OaaS/HeuristicLab.Services.Optimization.Controller/HL/HiveScenarioManager.cs
- Timestamp:
- 03/11/13 14:40:04 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/OaaS/HeuristicLab.Services.Optimization.Controller/HL/HiveScenarioManager.cs
r9227 r9305 97 97 foreach (var child in entry.Children) { 98 98 // This is a template experiment; 99 if (child. Name == null) {100 var parent = new HeuristicLab.Optimization.Experiment( child.Name);99 if (child.IsExperiment) { 100 var parent = new HeuristicLab.Optimization.Experiment(); 101 101 entry.Parent.Optimizers.Add(parent); 102 102 stack.Push(new StackEntry() { Parent = parent, Children = child.ChildAlgorithms }); … … 104 104 // This entity is mapable 105 105 else { 106 IScenarioMapper mapper = GetMapper(child.Name); 107 if (mapper == null) { // TODO: We should really be able to difference Experiment/Algorithm types; this is a workaround 108 var parent = new HeuristicLab.Optimization.Experiment(child.Name); 109 entry.Parent.Optimizers.Add(parent); 110 stack.Push(new StackEntry() { Parent = parent, Children = child.ChildAlgorithms }); 111 } 112 else { 113 var optScen = new OptimizationScenario() { Id = child.Name }; 114 optScen.Algorithm.Add(child); 115 IAlgorithm algo; 116 mapper.MapScenario(optScen, out algo); 117 entry.Parent.Optimizers.Add(algo); 118 } 106 IScenarioMapper mapper = GetMapper(child.Id); 107 var optScen = new OptimizationScenario() { Id = child.Id }; 108 optScen.Algorithm.Add(child); 109 IAlgorithm algo; 110 mapper.MapScenario(optScen, out algo); 111 entry.Parent.Optimizers.Add(algo); 119 112 } 120 113 } … … 166 159 private IScenarioMapper GetMapper(string scenarioId) { 167 160 var id = scenarioId; 168 if (!mappers.ContainsKey(id)) { 161 IScenarioMapper mapper = null; 162 if (!mappers.TryGetValue(id, out mapper)) { 169 163 lock (lockable) { 170 164 if (mappers.ContainsKey(id)) … … 173 167 var mapperString = GetMapperFromBlobStore(id); 174 168 if (mapperString == null) return null; 175 varmapper = CompileMapper(mapperString);169 mapper = CompileMapper(mapperString); 176 170 177 171 mappers[id] = mapper; … … 179 173 } // lock 180 174 } // if 181 return null;175 return mapper; 182 176 } 183 177 … … 471 465 } 472 466 473 public bool SaveExperiment(User user, Model.Experiment experiment) { 474 return dal.ExperimentDao.Add(user.Username, experiment); 475 } 476 477 public IEnumerable<string> GetExperiments(User user) { 467 public string SaveExperiment(User user, Model.Experiment experiment) { 468 if (experiment.Id != null) { 469 dal.ExperimentDao.Update(user.Username, experiment); 470 } 471 else { 472 dal.ExperimentDao.Add(user.Username, experiment); 473 } 474 return experiment.Id; 475 } 476 477 public IEnumerable<string> GetExperimentNames(User user) { 478 478 return (from exp in dal.ExperimentDao.GetExperiments(user.Username) 479 479 select exp.Name); … … 564 564 } 565 565 566 567 566 public IEnumerable<Model.Experiment> GetExperiments(User user) { 567 return dal.ExperimentDao.GetExperiments(user.Username); 568 } 569 570 public Model.Experiment GetExperimentById(User user, string nodeId) { 571 return dal.ExperimentDao.GetExperimentById(user, nodeId); 572 } 568 573 } 569 574 }
Note: See TracChangeset
for help on using the changeset viewer.