package com.tld.dao; import static com.tld.dao.DatabaseConnectionHandler.closeConnection; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.List; import com.tld.beans.Forecast; public class ForecastDaoImpl implements ForecastDAO { private static final String GET_ALL_FORECAST = "SELECT * FROM forecast"; Connection conn; public ForecastDaoImpl(Connection conn) { this.conn = conn; } @Override public List getAllForecasts() throws SQLException { List forecasts = new ArrayList(); try { PreparedStatement statement = conn.prepareStatement(GET_ALL_FORECAST); ResultSet rs = statement.executeQuery(); while (rs.next()) { forecasts.add(makeForecast(rs)); } } finally { closeConnection(conn); } return forecasts; } private static Forecast makeForecast(ResultSet rs) throws SQLException { Forecast forecast = new Forecast(); Calendar date = new GregorianCalendar(); date.setTime(rs.getDate("Date")); forecast.setDate(date); forecast.setHigh(rs.getInt("High")); forecast.setLow(rs.getInt("Low")); forecast.setCondition(rs.getString("Condition")); return forecast; } }