(no commit message)
[utils] / crawler / kiss / src / org / wamblee / crawler / kiss / ProgramActionExecutor.java
index 8303449e5544799b5f7146f969054fcc2145340f..87d417bee644f0fe5d425603473694f9ae0a8448 100644 (file)
@@ -22,6 +22,8 @@ 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;
 
 /**
@@ -134,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; 
+    }
 }