1 package org.rpi.plugin.alarmclock; 2 3 import org.apache.log4j.Logger; 4 import org.quartz.Job; 5 import org.quartz.JobDataMap; 6 import org.quartz.JobDetail; 7 import org.quartz.JobExecutionContext; 8 import org.quartz.JobExecutionException; 9 import org.rpi.player.PlayManager; 10 11 public class AlarmClockJob implements Job { 12 13 private static Logger log = Logger.getLogger(AlarmClockJob.class); 14 15 @Override 16 public void execute(JobExecutionContext context) 17 throws JobExecutionException { 18 String job_name = "DefaultJob"; 19 String volume = "100"; 20 String shuffle = "false"; 21 JobDataMap map = context.getJobDetail().getJobDataMap(); 22 23 if (map.containsKey("id")) { 24 try { 25 job_name = (String) map.get("id"); 26 } catch (Exception e) { 27 28 } 29 } 30 31 if (map.containsKey("Volume")) { 32 volume = map.getString("Volume"); 33 log.debug("Volume is: " + volume); 34 35 } 36 37 try { 38 PlayManager.getInstance().setVolume(Long.parseLong(volume)); 39 } catch (Exception e) { 40 41 } 42 43 if (map.containsKey("Shuffle")) { 44 shuffle = map.getString("Shuffle"); 45 } 46 47 String type = "PlayList"; 48 49 if (map.containsKey("type")) { 50 type = map.getString("type"); 51 } 52 53 if (type.equalsIgnoreCase("Radio")) { 54 log.info("ALARM# Playing Radio " + job_name); 55 String channel = map.getString("channel"); 56 PlayManager.getInstance().setStandby(false); 57 PlayManager.getInstance().playRadio(channel); 58 } else if (type.equalsIgnoreCase("OFF")) { 59 log.info("ALARM# TURN OFF " + job_name); 60 PlayManager.getInstance().stop(); 61 PlayManager.getInstance().setStandby(true); 62 } else { 63 log.info("ALARM# StartPlayList " + job_name); 64 if (shuffle.equalsIgnoreCase("TRUE")) { 65 PlayManager.getInstance().updateShuffle(true); 66 } else { 67 PlayManager.getInstance().updateShuffle(false); 68 } 69 PlayManager.getInstance().setStandby(false); 70 PlayManager.getInstance().playIndex(0); 71 } 72 } 73 }