Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package database;
- import java.sql.DriverManager;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.Date;
- import models.DanfossRadiatorModel;
- import models.FourInOneSensorModel;
- import models.HumiditySensorModel;
- import models.LightSensorModel;
- import models.TemperatureSensorModel;
- import constants.DBTablesColumnConstants;
- import constants.SQLQueriesConstants;
- import csv.ExportToCSV;
- import main.Factory;
- public class DBConnection{
- private static String DRIVER_CLASS = "com.mysql.jdbc.Driver";
- private static String url = "jdbc:mysql://helios.csesalford.com:3306/agile15_group4";
- private static Factory factory = new Factory();
- /**
- * Main method to test the back end for exporting data into excel file.
- * After the functionality will be linked with front end this method will be removed.
- * @param args representing the arguments of the method.
- * @throws Exception in case any exception occurs.
- */
- public static void main(String args[]) throws Exception{
- //
- // ExportToCSV exportToCSV = new ExportToCSV();
- // exportToCSV.exportDataToCSVFile("4 in 1 Sensor");
- // exportToCSV.exportDataToCSVFile("Danfoss Radiator");
- // exportToCSV.exportDataToCSVFile("Humidity Sensor");
- // exportToCSV.exportDataToCSVFile("Light Sensor");
- // exportToCSV.exportDataToCSVFile("Temperature Sensor");
- //
- }
- /**This method establishes a connection to the database.
- * @return connection
- */
- public static Connection connectToDatabase(){
- Connection connection = null;
- try{
- Class.forName(getDRIVER_CLASS());
- connection = DriverManager.getConnection(url, "agile15", "vZjcDYl2oHFdlFrd");
- System.out.println("Connection ok.");
- }
- catch(Exception e){
- e.printStackTrace();
- }
- return connection;
- }
- /**This method extracts the data from table Danfoss_Radiator.
- * @return an array list containing all the data from this table to be exported in CSV.
- */
- public static ArrayList<DanfossRadiatorModel> danfossRadiatorDB(boolean selectLastOnly, long unixStartDateTime, long unixEndDateTime){
- ArrayList<DanfossRadiatorModel> sensorList = new ArrayList<DanfossRadiatorModel>();
- Connection con = connectToDatabase();
- try{
- Statement stmt = (Statement) con.createStatement();
- ResultSet rs = null;
- if(selectLastOnly) {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_LAST_ENTRY_FOR_DANFOSS_RADIATOR);
- }
- else if(unixStartDateTime != 0 || unixEndDateTime != 0) {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_ENTRIES_FOR_DANFOSS_RADIATOR_WITHIN_RANGE + " AND " + DBTablesColumnConstants.TIME_CREATED + " BETWEEN " + unixStartDateTime + " AND " + unixEndDateTime + SQLQueriesConstants.SELECT_WITHIN_RANGE_LIMIT);
- }
- else {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_ALL_ENTRIES_FOR_DANFOSS_RADIATOR);
- }
- while(rs.next()){
- DanfossRadiatorModel danfossRadiatorModel = factory.createDanfossRadiatorModel("Danfoss Radiator");
- danfossRadiatorModel.setDeviceID(rs.getInt(DBTablesColumnConstants.DEVICE_ID));
- danfossRadiatorModel.setReadingTime((rs.getInt(DBTablesColumnConstants.TIME_CREATED)));
- danfossRadiatorModel.setBatteryLevel(rs.getInt(DBTablesColumnConstants.BATTERY_LEVEL));
- danfossRadiatorModel.setTempLevel(rs.getInt(DBTablesColumnConstants.TEMP_LEVEL));
- danfossRadiatorModel.setActuatorStatus(rs.getString(DBTablesColumnConstants.ACTUATOR_STATUS));
- sensorList.add(danfossRadiatorModel);
- }
- con.close();
- rs.close();
- }catch(Exception e){
- e.printStackTrace();
- }
- return sensorList;
- }
- /**This method extracts the data from table 4_In_One_Sensor.
- * @return an array list containing all the data from this table to be exported in CSV.
- */
- public static ArrayList<FourInOneSensorModel> fourInOneSensorDB(boolean selectLastOnly, long unixStartDateTime, long unixEndDateTime){
- Connection con = connectToDatabase();
- ArrayList<FourInOneSensorModel> sensorList = new ArrayList<FourInOneSensorModel>();
- try{
- Statement stmt = (Statement) con.createStatement();
- ResultSet rs = null;
- if(selectLastOnly) {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_LAST_ENTRY_FOR_FOUR_IN_ONE_SENSOR);
- }
- else if(unixStartDateTime != 0 || unixEndDateTime != 0) {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_ENTRIES_FOR_FOUR_IN_ONE_SENSOR_WITHIN_RANGE + " AND " + DBTablesColumnConstants.TIME_CREATED + " BETWEEN " + unixStartDateTime + " AND " + unixEndDateTime + SQLQueriesConstants.SELECT_WITHIN_RANGE_LIMIT);
- }
- else {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_ALL_ENTRIES_FOR_FOUR_IN_ONE_SENSOR);
- }
- while(rs.next()){
- FourInOneSensorModel fourInOneSensorModel = factory.createFourInOneSensorModel("Four in One Sensor");
- fourInOneSensorModel.setDeviceID(rs.getInt(DBTablesColumnConstants.DEVICE_ID));
- fourInOneSensorModel.setReadingTime((rs.getInt(DBTablesColumnConstants.TIME_CREATED)));
- fourInOneSensorModel.setBatteryLevel(rs.getInt(DBTablesColumnConstants.BATTERY_LEVEL));
- fourInOneSensorModel.setArmedStatus(rs.getInt(DBTablesColumnConstants.ARMED_STATUS));
- sensorList.add(fourInOneSensorModel);
- }
- con.close();
- rs.close();
- }catch (Exception e) {
- e.printStackTrace();
- }
- return sensorList;
- }
- /**This method extracts the data from table Light_Sensor.
- * @return an array list containing all the data from this table to be exported in CSV.
- */
- public static ArrayList<LightSensorModel> lightSensorDB(boolean selectLastOnly, long unixStartDateTime, long unixEndDateTime){
- Connection con = connectToDatabase();
- ArrayList<LightSensorModel> sensorList = new ArrayList<LightSensorModel>();
- try{
- Statement stmt = (Statement) con.createStatement();
- ResultSet rs = null;
- if(selectLastOnly) {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_LAST_ENTRY_FOR_LIGHT_SENSOR);
- }
- else if(unixStartDateTime != 0 || unixEndDateTime != 0) {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_ENTRIES_FOR_LIGHT_SENSOR_WITHIN_RANGE + " AND " + DBTablesColumnConstants.TIME_CREATED + " BETWEEN " + unixStartDateTime + " AND " + unixEndDateTime + SQLQueriesConstants.SELECT_WITHIN_RANGE_LIMIT);
- }
- else {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_ALL_ENTRIES_FOR_LIGHT_SENSOR);
- }
- while(rs.next()){
- LightSensorModel lightSensorModel = factory.createLightSensorModel("Light Sensor");
- lightSensorModel.setDeviceID(rs.getInt(DBTablesColumnConstants.DEVICE_ID));
- lightSensorModel.setReadingTime((rs.getInt(DBTablesColumnConstants.TIME_CREATED)));
- lightSensorModel.setCurrentLevel(rs.getInt(DBTablesColumnConstants.CURRENT_LEVEL));
- sensorList.add(lightSensorModel);
- }
- con.close();
- rs.close();
- }catch (Exception e) {
- e.printStackTrace();
- }
- return sensorList;
- }
- /**This method extracts the data from table Humidity_Sensor.
- * @return an array list containing all the data from this table to be exported in CSV.
- */
- public static ArrayList<HumiditySensorModel> humiditySensorDB(boolean selectLastOnly, long unixStartDateTime, long unixEndDateTime){
- Connection con = connectToDatabase();
- ArrayList<HumiditySensorModel> sensorList = new ArrayList<HumiditySensorModel>();
- try{
- Statement stmt = (Statement) con.createStatement();
- ResultSet rs = null;
- if(selectLastOnly) {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_LAST_ENTRY_FOR_HUMIDITY_SENSOR);
- }
- else if(unixStartDateTime != 0 || unixEndDateTime != 0) {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_ENTRIES_FOR_HUMIDITY_SENSOR_WITHIN_RANGE + " AND " + DBTablesColumnConstants.TIME_CREATED + " BETWEEN " + unixStartDateTime + " AND " + unixEndDateTime + SQLQueriesConstants.SELECT_WITHIN_RANGE_LIMIT);
- }
- else {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_ALL_ENTRIES_FOR_HUMIDITY_SENSOR);
- }
- while(rs.next()){
- HumiditySensorModel humiditySensorModel = factory.createHumiditySensorModel("Humidity Sensor");
- humiditySensorModel.setDeviceID(rs.getInt(DBTablesColumnConstants.DEVICE_ID));
- humiditySensorModel.setReadingTime((rs.getInt(DBTablesColumnConstants.TIME_CREATED)));
- humiditySensorModel.setCurrentLevel(rs.getInt(DBTablesColumnConstants.CURRENT_LEVEL));
- sensorList.add(humiditySensorModel);
- }
- con.close();
- rs.close();
- }catch (Exception e) {
- e.printStackTrace();
- }
- return sensorList;
- }
- /**This method extracts the data from table Temperature_Sensor.
- * @return an array list containing all the data from this table to be exported in CSV.
- */
- public static ArrayList<TemperatureSensorModel> temperatureSensorDB(boolean selectLastOnly, long unixStartDateTime, long unixEndDateTime){
- Connection con = connectToDatabase();
- ArrayList<TemperatureSensorModel> sensorList = new ArrayList<TemperatureSensorModel>();
- try{
- Statement stmt = (Statement) con.createStatement();
- ResultSet rs = null;
- if(selectLastOnly) {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_LAST_ENTRY_FOR_TEMPERATURE_SENSOR);
- }
- else if(unixStartDateTime != 0 || unixEndDateTime != 0) {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_ENTRIES_FOR_TEMPERATURE_SENSOR_WITHIN_RANGE + " AND " + DBTablesColumnConstants.TIME_CREATED + " BETWEEN " + unixStartDateTime + " AND " + unixEndDateTime + SQLQueriesConstants.SELECT_WITHIN_RANGE_LIMIT);
- }
- else {
- rs = (ResultSet) stmt.executeQuery(SQLQueriesConstants.SELECT_ALL_ENTRIES_FOR_TEMPERATURE_SENSOR);
- }
- while(rs.next()){
- TemperatureSensorModel temperatureSensorModel = factory.createTemperatureSensorModel("Temperature Sensor");
- temperatureSensorModel.setDeviceID(rs.getInt(DBTablesColumnConstants.DEVICE_ID));
- temperatureSensorModel.setReadingTime((rs.getInt(DBTablesColumnConstants.TIME_CREATED)));
- temperatureSensorModel.setTemperatureLevel(rs.getInt(DBTablesColumnConstants.TEMP_LEVEL));
- sensorList.add(temperatureSensorModel);
- }
- con.close();
- rs.close();
- }catch (Exception e) {
- e.printStackTrace();
- }
- return sensorList;
- }
- /**
- * Getter method for DRIVER_CLASS
- * @return DRIVER_CLASS
- */
- public static String getDRIVER_CLASS() {
- return DRIVER_CLASS;
- }
- /**
- * @todo Method that converts from Linux time to Java Date
- * @param timeStamp
- * @return time
- */
- public Date convertLinuxTimeToDate(int timeStamp){
- Date time = new java.util.Date((long) timeStamp * 1000);
- return time;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement