Code


SUBMITTED BY: zdeni82

DATE: Dec. 7, 2016, 3:35 p.m.

FORMAT: Text only

SIZE: 2.1 kB

HITS: 749

  1. @Override
  2. public HashMap<String, ArrayList> getMeasurementsByDateRange(Date startDate, Date endDate, Classroom classroom) {
  3. HashMap<String, ArrayList> MeasurementsByDateRange = new HashMap();
  4. ArrayList<Double> co2 = new ArrayList<>();
  5. ArrayList<Double> humidity = new ArrayList<>();
  6. ArrayList<Double> temperature = new ArrayList<>();
  7. PreparedStatement statement;
  8. ResultSet resultSet;
  9. try {
  10. statement = connection.prepareStatement("SELECT co2.co2Value,humidity.humidityValue, temperature.temperatureValue, classroom.name, measurement.timestamp FROM kelvin.measurement\n"
  11. + "inner JOIN classroom on classroomId = measurement.classroomId\n"
  12. + " INNER JOIN co2 ON measurement.id = co2.measurementId\n"
  13. + " INNER JOIN humidity ON measurement.id = humidity.measurementId\n"
  14. + " INNER JOIN temperature ON temperature.id = temperature.measurementId\n"
  15. + " \n"
  16. + " WHERE (timestamp BETWEEN ? AND ?)");
  17. statement.setDate(1, new java.sql.Date(startDate.getTime()));
  18. statement.setDate(2, new java.sql.Date(endDate.getTime()));
  19. resultSet = statement.executeQuery();
  20. while (resultSet.next()) {
  21. Double co2Value = resultSet.getDouble("co2Value");
  22. Double humidityValue = resultSet.getDouble("humidityValue");
  23. Double temperatureValue = resultSet.getDouble("temperatureValue");
  24. co2.add(co2Value);
  25. humidity.add(humidityValue);
  26. temperature.add(temperatureValue);
  27. }
  28. MeasurementsByDateRange.put("co2Value", co2);
  29. MeasurementsByDateRange.put("humidityValue", humidity);
  30. MeasurementsByDateRange.put("temperatureValue", temperature);
  31. } catch (SQLException ex) {
  32. Logger.getLogger(MySqlMeasurementDAO.class.getName()).log(Level.SEVERE, null, ex);
  33. }
  34. return MeasurementsByDateRange;
  35. }

comments powered by Disqus