Mercurial > hg > anteater
comparison src/de/mpiwg/anteater/xml/impl/ResultXMLManager.java @ 0:036535fcd179
anteater
author | jdamerow |
---|---|
date | Fri, 14 Sep 2012 10:30:43 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:036535fcd179 |
---|---|
1 package de.mpiwg.anteater.xml.impl; | |
2 | |
3 import java.io.File; | |
4 import java.io.InputStream; | |
5 import java.util.List; | |
6 | |
7 import org.jdom2.Element; | |
8 | |
9 import de.mpiwg.anteater.xml.IResultFileManager; | |
10 import de.mpiwg.anteater.xml.IXMLParser; | |
11 | |
12 public class ResultXMLManager extends JDOMParser implements IResultFileManager { | |
13 | |
14 private String filepath; | |
15 | |
16 public ResultXMLManager(String filepath) { | |
17 super(); | |
18 this.filepath = filepath; | |
19 | |
20 File resultFile = new File(filepath); | |
21 if (resultFile.exists()) | |
22 init(filepath); | |
23 else { | |
24 InputStream stream = getClass().getResourceAsStream("templates/resultFile.xml"); | |
25 init(stream); | |
26 } | |
27 } | |
28 | |
29 @Override | |
30 public void addSummary(String result) { | |
31 addElementToDoc(result, "/results/summaries"); | |
32 } | |
33 | |
34 @Override | |
35 public void addSupplInf(String result) { | |
36 //System.out.println(result); | |
37 addElementToDoc(result, "/results/supplementary_information"); | |
38 } | |
39 | |
40 private void addElementToDoc(String result, String xpath) { | |
41 IXMLParser parser = new JDOMParser(result, false); | |
42 Element root = parser.getRoot(); | |
43 | |
44 List<Element> nodes = executeXPath(xpath, null); | |
45 | |
46 if (nodes != null && nodes.size() > 0) { | |
47 nodes.get(0).addContent(root.clone()); | |
48 } | |
49 | |
50 save(filepath, false); | |
51 } | |
52 } |