- public Element getReport() {
- 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());
+ public void commit() {
+ Set<TimeInterval> previouslyRecorded = new HashSet<TimeInterval>();
+ for (Integer priority : _showsToRecord.keySet()) {
+ for (Program program : _showsToRecord.get(priority)) {
+ TimeInterval interval = program.getInterval();
+ if (recordingConflictExists(previouslyRecorded, interval)) {
+ _report.setRecordingResult(RecordingResult.CONFLICT, program);
+ } else {
+ RecordingResult result = program.record();
+ _report.setRecordingResult(result, program);
+ previouslyRecorded.add(interval);