View Javadoc

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  }