Free cookie consent management tool by TermsFeed Policy Generator

source: branches/3.1/sources/HeuristicLab.CEDMA.Core/ResultExporter.cs @ 14574

Last change on this file since 14574 was 514, checked in by gkronber, 16 years ago

added a very crude exporter in preparation for ticket #200

File size: 1.8 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
22using System;
23using System.Collections.Generic;
24using System.Linq;
25using System.Text;
26using HeuristicLab.Core;
27using System.Xml;
28using HeuristicLab.CEDMA.DB.Interfaces;
29using System.IO;
30
31namespace HeuristicLab.CEDMA.Core {
32  public class ResultExporter {
33    internal void Export(IAgent agent, ResultTable t) {
34      foreach(IResult r in agent.Results) {
35        Export(r, t);
36      }
37      foreach(IAgent a in agent.SubAgents) {
38        Export(a, t);
39      }
40    }
41
42    private void Export(IResult result, ResultTable t) {
43      Export(result.Item, t);
44      foreach(IResult subResult in result.SubResults) {
45        Export(subResult, t);
46      }
47    }
48
49    private void Export(IItem item, ResultTable t) {
50      if(item is IScope) {
51        IScope scope = item as IScope;
52        ResultRow row = new ResultRow();
53        foreach(IVariable variable in scope.Variables) {
54          row.AddAttribute(variable.Name, variable.Value.ToString());
55        }
56        t.AddRow(row);
57      }
58    }
59  }
60}
Note: See TracBrowser for help on using the repository browser.