- public boolean record() throws PageException {
- Action record = _programInfo.execute().getAction(RECORD_ACTION);
- if (record == null) {
- return false;
+ public RecordingResult record() {
+ LOG.info("Recording " + this);
+ if ( SystemProperties.isRecordDisabled() ) {
+ return RecordingResult.OK;
+ }
+ try {
+ Action record = _programInfo.execute().getAction(RECORD_ACTION);
+ if (record == null) {
+ LOG.info(" result: " + RecordingResult.OLDSHOW);
+ return RecordingResult.OLDSHOW;
+ }
+ Page result = record.execute();
+ RecordingResult recordingResult = RecordingResult.valueOf(result.getContent().getText());
+ LOG.info(" result: " + recordingResult);
+ return recordingResult;
+ } catch (PageException e) {
+ LOG.warn("Technical problem recording program: '" + this + "'", e);
+ LOG.info(" result: " + RecordingResult.ERROR);
+ return RecordingResult.ERROR;