X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fkiss%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2Fkiss%2FProgramActionExecutor.java;h=87d417bee644f0fe5d425603473694f9ae0a8448;hb=c0da3814aaa1e707d253202ceb44fa745c671de8;hp=3865dcc8339f762107e177401cf5553643ba752b;hpb=a641296cc35afce34a55bab521150446ea896798;p=utils diff --git a/crawler/kiss/src/org/wamblee/crawler/kiss/ProgramActionExecutor.java b/crawler/kiss/src/org/wamblee/crawler/kiss/ProgramActionExecutor.java index 3865dcc8..87d417be 100644 --- a/crawler/kiss/src/org/wamblee/crawler/kiss/ProgramActionExecutor.java +++ b/crawler/kiss/src/org/wamblee/crawler/kiss/ProgramActionExecutor.java @@ -16,14 +16,14 @@ package org.wamblee.crawler.kiss; -import java.util.ArrayList; import java.util.EnumMap; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; +import org.dom4j.DocumentFactory; +import org.dom4j.Element; import org.wamblee.crawler.kiss.Program.RecordingResult; /** @@ -136,4 +136,41 @@ public class ProgramActionExecutor { return msg.toString(); } + + /** + * Get report as XML. + * @return XML report + */ + public Element getXmlReport() { + DocumentFactory factory = DocumentFactory.getInstance(); + Element report = factory.createElement("report"); + + for (RecordingResult result : RecordingResult.values()) { + if (_recordings.get(result).size() > 0) { + Element recordingResult = report.addElement("recorded").addAttribute("result", result.toString()); + + for (Program program : _recordings.get(result)) { + recordingResult.add(program.asXml()); + } + } + } + + + if ( _interestingShows.size() > 0 ) { + Element interesting = report.addElement("interesting"); + for (String category: _interestingShows.keySet()) { + Element categoryElem = interesting; + if ( category.length() > 0 ) { + categoryElem = interesting.addElement("category"); + categoryElem.addAttribute("name", category); + } + for (Program program: _interestingShows.get(category)) { + categoryElem.add(program.asXml()); + } + } + + } + + return report; + } }