// Path: src/opt/boilercontrol/uk/co/jaynne/dataobjects/ScheduleObject.java
// public class ScheduleObject{
// 	private int id = 0;
// 	private int group = 0;
// 	private int day = 0;
// 	private int hourOn = 0;
// 	private int minuteOn = 0;
// 	private int hourOff = 0;
// 	private int minuteOff = 0;
// 	private boolean heatingOn = false;
// 	private float TempSet = 22.00f;
// 	private boolean waterOn = false;
// 	private boolean enabled = false;
// 	private String sday = "";  
// 	
// 	
// 	public ScheduleObject(int id, int group, int day, int hourOn, int minuteOn, 
// 			int hourOff, int minuteOff, boolean heatingOn, float TempSet, boolean waterOn, 
// 			boolean enabled) {
// 		this.id = id;
// 		this.group = group;
// 		this.day = day;
// 		this.hourOn = hourOn;
// 		this.minuteOn = minuteOn;
// 		this.hourOff = hourOff;
// 		this.minuteOff = minuteOff;
// 		this.heatingOn = heatingOn;
// 		this.TempSet = TempSet;
// 		this.waterOn = waterOn;
// 		this.enabled = enabled;
// 	}
// 
// 
// 	/**
// 	 * @return the id
// 	 */
// 	public int getId() {
// 		return id;
// 	}
// 
// 
// 	/**
// 	 * @return the day
// 	 */
// 	public int getDay() {
// 		return day;
// 	}
// 
// 
// 	/**
// 	 * @return the hourOn
// 	 */
// 	public int getHourOn() {
// 		return hourOn;
// 	}
// 
// 
// 	/**
// 	 * @return the hourOff
// 	 */
// 	public int getHourOff() {
// 		return hourOff;
// 	}
// 
// 
// 	/**
// 	 * @return the minuteOn
// 	 */
// 	public int getMinuteOn() {
// 		return minuteOn;
// 	}
// 
// 
// 	/**
// 	 * @return the minuteOff
// 	 */
// 	public int getMinuteOff() {
// 		return minuteOff;
// 	}
// 	
// 	/**
// 	 * @return the heatingOn
// 	 */
// 	public boolean getHeatingOn() {
// 		return heatingOn;
// 	}
// 
// 	/**
// 	 * @return the TempSet
// 	 */
// 	public float getTempSet() {
// 		return TempSet;
// 	}
// 
// 	/**
// 	 * @return the waterOn
// 	 */
// 	public boolean getWaterOn() {
// 		return waterOn;
// 	}
// 
// 	/**
// 	 * @return the group
// 	 */
// 	public int getGroup() {
// 		return group;
// 	}
// 
// 
// 	/**
// 	 * @return the enabled
// 	 */
// 	public boolean getEnabled() {
// 		return enabled;
// 	}
// /**
// 	public String toString() {
// 		return "Day:" + day + " Time On:" + hourOn + ":" + minuteOn + " Time Off:" + 
// 				hourOff + ":" + minuteOff + " Heating On:" + heatingOn + " Water On:" + 
// 				waterOn + " Group:" + group + " Enabled:" + enabled;
// 	}
// **/	
// 	public String toString() {
// 		switch (day)
// 		{
// 		case 1:
// 			sday = "Sunday";
// 			break;
// 		case 2:
// 			sday = "Monday";
// 			break;
// 		case 3:
// 			sday = "Tuesday";
// 			break;
// 		case 4:
// 			sday = "Wednesday";
// 			break;
// 		case 5:
// 			sday = "Thursday";
// 			break;
// 		case 6:
// 			sday = "Friday";
// 			break;
// 		case 7:
// 			sday = "Saturday";
// 			break;	
// 		}
// 		return sday + ": Period:" + hourOn + ":" + minuteOn + " - " + 
// 				hourOff + ":" + minuteOff + ", H: " + heatingOn + ", Set to: " + TempSet+ "C, W: " + 
// 				waterOn + ", Group:" + group + ", Enabled:" + enabled;
// 	}
// }
// 
// Path: src/opt/boilercontrol/uk/co/jaynne/datasource/interfaces/ScheduleSource.java
// public interface ScheduleSource {
// 	public ScheduleObject getById(int id);
// 	/**
// 	 * Returns an ordered set of SheduleObjects containing all the schedules for the day
// 	 * @param day
// 	 * @return
// 	 */
// 	public Set<ScheduleObject> getByDay(int day);
// 	public int update(ScheduleObject schedule);
// 	public int add(ScheduleObject schedule);
// 	public int delete(int key);
// 	
// }


import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashSet;
import java.util.Set;
import uk.co.jaynne.dataobjects.ScheduleObject;
import uk.co.jaynne.datasource.interfaces.ScheduleSource;
package uk.co.jaynne.datasource;


/**
 * Class to retrieve, update add and delte schedule items
 * @author James Cooke
 */
public class ScheduleSqlSource implements ScheduleSource{
	
	private static String TABLE = "schedule"; 
	private static String ID = "id"; 
	private static String GROUP = "group";
	private static String DAY = "day";
	private static String HOURON = "hourOn";
	private static String MINUTEON = "minuteOn";
	private static String HOUROFF = "hourOff";
	private static String MINUTEOFF = "minuteOff";
	private static String TEMPERATURE = "temperature";
	private static String HEATINGON = "heatingOn";
	private static String WATERON = "waterOn";
	private static String ENABLED = "enabled";
	private static int MINUTES_IN_HOUR = 60;

	
// Path: src/opt/boilercontrol/uk/co/jaynne/dataobjects/ScheduleObject.java
// public class ScheduleObject{
// 	private int id = 0;
// 	private int group = 0;
// 	private int day = 0;
// 	private int hourOn = 0;
// 	private int minuteOn = 0;
// 	private int hourOff = 0;
// 	private int minuteOff = 0;
// 	private boolean heatingOn = false;
// 	private float TempSet = 22.00f;
// 	private boolean waterOn = false;
// 	private boolean enabled = false;
// 	private String sday = "";  
// 	
// 	
// 	public ScheduleObject(int id, int group, int day, int hourOn, int minuteOn, 
// 			int hourOff, int minuteOff, boolean heatingOn, float TempSet, boolean waterOn, 
// 			boolean enabled) {
// 		this.id = id;
// 		this.group = group;
// 		this.day = day;
// 		this.hourOn = hourOn;
// 		this.minuteOn = minuteOn;
// 		this.hourOff = hourOff;
// 		this.minuteOff = minuteOff;
// 		this.heatingOn = heatingOn;
// 		this.TempSet = TempSet;
// 		this.waterOn = waterOn;
// 		this.enabled = enabled;
// 	}
// 
// 
// 	/**
// 	 * @return the id
// 	 */
// 	public int getId() {
// 		return id;
// 	}
// 
// 
// 	/**
// 	 * @return the day
// 	 */
// 	public int getDay() {
// 		return day;
// 	}
// 
// 
// 	/**
// 	 * @return the hourOn
// 	 */
// 	public int getHourOn() {
// 		return hourOn;
// 	}
// 
// 
// 	/**
// 	 * @return the hourOff
// 	 */
// 	public int getHourOff() {
// 		return hourOff;
// 	}
// 
// 
// 	/**
// 	 * @return the minuteOn
// 	 */
// 	public int getMinuteOn() {
// 		return minuteOn;
// 	}
// 
// 
// 	/**
// 	 * @return the minuteOff
// 	 */
// 	public int getMinuteOff() {
// 		return minuteOff;
// 	}
// 	
// 	/**
// 	 * @return the heatingOn
// 	 */
// 	public boolean getHeatingOn() {
// 		return heatingOn;
// 	}
// 
// 	/**
// 	 * @return the TempSet
// 	 */
// 	public float getTempSet() {
// 		return TempSet;
// 	}
// 
// 	/**
// 	 * @return the waterOn
// 	 */
// 	public boolean getWaterOn() {
// 		return waterOn;
// 	}
// 
// 	/**
// 	 * @return the group
// 	 */
// 	public int getGroup() {
// 		return group;
// 	}
// 
// 
// 	/**
// 	 * @return the enabled
// 	 */
// 	public boolean getEnabled() {
// 		return enabled;
// 	}
// /**
// 	public String toString() {
// 		return "Day:" + day + " Time On:" + hourOn + ":" + minuteOn + " Time Off:" + 
// 				hourOff + ":" + minuteOff + " Heating On:" + heatingOn + " Water On:" + 
// 				waterOn + " Group:" + group + " Enabled:" + enabled;
// 	}
// **/	
// 	public String toString() {
// 		switch (day)
// 		{
// 		case 1:
// 			sday = "Sunday";
// 			break;
// 		case 2:
// 			sday = "Monday";
// 			break;
// 		case 3:
// 			sday = "Tuesday";
// 			break;
// 		case 4:
// 			sday = "Wednesday";
// 			break;
// 		case 5:
// 			sday = "Thursday";
// 			break;
// 		case 6:
// 			sday = "Friday";
// 			break;
// 		case 7:
// 			sday = "Saturday";
// 			break;	
// 		}
// 		return sday + ": Period:" + hourOn + ":" + minuteOn + " - " + 
// 				hourOff + ":" + minuteOff + ", H: " + heatingOn + ", Set to: " + TempSet+ "C, W: " + 
// 				waterOn + ", Group:" + group + ", Enabled:" + enabled;
// 	}
// }
// 
// Path: src/opt/boilercontrol/uk/co/jaynne/datasource/interfaces/ScheduleSource.java
// public interface ScheduleSource {
// 	public ScheduleObject getById(int id);
// 	/**
// 	 * Returns an ordered set of SheduleObjects containing all the schedules for the day
// 	 * @param day
// 	 * @return
// 	 */
// 	public Set<ScheduleObject> getByDay(int day);
// 	public int update(ScheduleObject schedule);
// 	public int add(ScheduleObject schedule);
// 	public int delete(int key);
// 	
// }


// Path: src/opt/boilercontrol/uk/co/jaynne/datasource/ScheduleSqlSource.java
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashSet;
import java.util.Set;
import uk.co.jaynne.dataobjects.ScheduleObject;
import uk.co.jaynne.datasource.interfaces.ScheduleSource;

package uk.co.jaynne.datasource;


/**
 * Class to retrieve, update add and delte schedule items
 * @author James Cooke
 */
public class ScheduleSqlSource implements ScheduleSource{
	
	private static String TABLE = "schedule"; 
	private static String ID = "id"; 
	private static String GROUP = "group";
	private static String DAY = "day";
	private static String HOURON = "hourOn";
	private static String MINUTEON = "minuteOn";
	private static String HOUROFF = "hourOff";
	private static String MINUTEOFF = "minuteOff";
	private static String TEMPERATURE = "temperature";
	private static String HEATINGON = "heatingOn";
	private static String WATERON = "waterOn";
	private static String ENABLED = "enabled";
	private static int MINUTES_IN_HOUR = 60;

	
	public ScheduleObject getById(int id) {