}
public SpeedDistributionAggregateByDayTypeReport getSpeedDistributionAggregateByDayTypeReport(
TagDetails tagDetails) throws Exception {
SpeedDistributionAggregateByDayTypeReport report = new SpeedDistributionAggregateByDayTypeReport();
report.setTagId(tagDetails.getId());
report.setCreated(new Date());
ArrayList<ArrayList> rows = new ArrayList<ArrayList>();
try {
Connection connection = getConnection();
Statement s = connection.createStatement();
String tagId = tagDetails.getId();
String sql = "SELECT * FROM speeddistributiontrafficflowtagvehiclespeed WHERE tagid = '"+tagId+"' ORDER BY vehicletype, speedbin";
logger.debug("SQL for getSpeedDistributionAggregateByDayTypeReport: " + sql);
ResultSet r = s.executeQuery(sql);
while (r.next()) {
ArrayList<String> row = new ArrayList<String>();
row.add(r.getString(2)); // vehicletype
row.add(r.getString(3)); // speedbin
row.add(r.getString(4)); // percentvehiclesecondsperyear
row.add(r.getString(5)); // percentvehiclemetersperyear
row.add(r.getString(6)); // averagemeterspersecond
rows.add(row);
}
logger.debug("row count=" + rows.size());
report.setReporValues(rows);
logger.debug("getSpeedDistributionAggregateByDayTypeReport DAO complete");
return report;
} catch (SQLException e) {
logger.error(e.getMessage());