}
}
public SpeedDistributionAggregateByTagReport getSpeedDistributionAggregateByTagReport() throws Exception {
SpeedDistributionAggregateByTagReport report = new SpeedDistributionAggregateByTagReport();
report.setCreated(new Date());
ArrayList<ArrayList> rows = new ArrayList<ArrayList>();
try {
Connection connection = getConnection();
Statement s = connection.createStatement();
// need to query only the current study region
String sql = "SELECT * FROM speeddistributiontrafficflowvehiclespeed " +
" WHERE regionid = (SELECT id FROM studyregion WHERE iscurrentregion = TRUE) " +
"ORDER BY vehicletype, speedbin";
logger.debug("SQL for getSpeedDistributionAggregateByTagTypeReport: " + sql);
ResultSet r = s.executeQuery(sql);
while (r.next()) {
ArrayList<String> row = new ArrayList<String>();
/*
vehicletype text,
speedbin integer,
meterspersecond double precision,
tagmeters double precision,
tagseconds double precision,
regionid text,
taghours double precision,
tagkilometers double precision,
tagkph double precision
*/
// skip the first column (regionid)
row.add(r.getString(1)); // vehicletype
row.add(r.getString(2)); // speedbin
// DON'T NEED TO SHOW THESE IN THE UI
//row.add(r.getString(3)); // meterspersecond
//row.add(r.getString(4)); // tagmeters
//row.add(r.getString(5)); // tagseconds
//row.add(r.getString(6)); // regionid
row.add(r.getString(7)); // taghours
row.add(r.getString(8)); // tagkilometers
row.add(r.getString(9)); // tagkph
rows.add(row);
}
logger.debug("row count=" + rows.size());
report.setReporValues(rows);
logger.debug("getSpeedDistributionAggregateByTagTypeReport DAO complete");
return report;
} catch (SQLException e) {
logger.error(e.getMessage());