Skip to content
Snippets Groups Projects
Commit e03e375f authored by Puissegur Alexis's avatar Puissegur Alexis
Browse files

test avec 1 graph, pas très propre

parent 634b7535
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
*/ */
package DAO; package DAO;
import Model.ComboboxModel;
import java.sql.Connection; import java.sql.Connection;
import java.sql.DatabaseMetaData; import java.sql.DatabaseMetaData;
import java.sql.DriverManager; import java.sql.DriverManager;
...@@ -13,7 +14,9 @@ import java.sql.ResultSet; ...@@ -13,7 +14,9 @@ import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* *
...@@ -21,7 +24,7 @@ import java.util.List; ...@@ -21,7 +24,7 @@ import java.util.List;
*/ */
public class SQLiteManager { public class SQLiteManager {
private static final String[] months = {"Janvrier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre"}; public static final String[] months = {"Janvrier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre"};
public SQLiteManager(String name) { public SQLiteManager(String name) {
String url = "jdbc:sqlite:C:/sqlite/" + name; String url = "jdbc:sqlite:C:/sqlite/" + name;
...@@ -188,9 +191,9 @@ public class SQLiteManager { ...@@ -188,9 +191,9 @@ public class SQLiteManager {
} }
public List<String> selectDayOfMonths(){ public HashMap<String,ComboboxModel> selectDayOfMonths(){
String sql = "SELECT DISTINCT month, day FROM data"; String sql = "SELECT DISTINCT month, day FROM data";
ArrayList<String> res = new ArrayList<String>(); HashMap<String,ComboboxModel> res = new HashMap<String,ComboboxModel>();
try (Connection conn = this.connect(); try (Connection conn = this.connect();
PreparedStatement pstmt = conn.prepareStatement(sql)){ PreparedStatement pstmt = conn.prepareStatement(sql)){
...@@ -199,7 +202,7 @@ public class SQLiteManager { ...@@ -199,7 +202,7 @@ public class SQLiteManager {
// loop through the result set // loop through the result set
while (rs.next()) { while (rs.next()) {
res.add(months[rs.getInt("month")] + " : " + rs.getInt("day")); res.put(months[rs.getInt("month")] + " : " + rs.getInt("day"),new ComboboxModel(rs.getInt("month"),-1,rs.getInt("day")));
System.out.println(months[rs.getInt("month")] + " : J " + rs.getInt("day")); System.out.println(months[rs.getInt("month")] + " : J " + rs.getInt("day"));
} }
} catch (SQLException e) { } catch (SQLException e) {
...@@ -209,9 +212,9 @@ public class SQLiteManager { ...@@ -209,9 +212,9 @@ public class SQLiteManager {
return res; return res;
} }
public List<String> selectWeekOfMonth(){ public HashMap<String,ComboboxModel> selectWeekOfMonth(){
String sql = "SELECT DISTINCT month, week FROM data"; String sql = "SELECT DISTINCT month, week FROM data";
ArrayList<String> res = new ArrayList<String>(); HashMap<String,ComboboxModel> res = new HashMap<String,ComboboxModel>();
try (Connection conn = this.connect(); try (Connection conn = this.connect();
PreparedStatement pstmt = conn.prepareStatement(sql)){ PreparedStatement pstmt = conn.prepareStatement(sql)){
...@@ -220,7 +223,7 @@ public class SQLiteManager { ...@@ -220,7 +223,7 @@ public class SQLiteManager {
// loop through the result set // loop through the result set
while (rs.next()) { while (rs.next()) {
res.add(months[rs.getInt("month")] + " : Sem. " + rs.getInt("week")); res.put(months[rs.getInt("month")] + " : Sem. " + rs.getInt("week"), new ComboboxModel(rs.getInt("month"),rs.getInt("week")));
System.out.println(months[rs.getInt("month")] + " : Sem. " + rs.getInt("week")); System.out.println(months[rs.getInt("month")] + " : Sem. " + rs.getInt("week"));
} }
} catch (SQLException e) { } catch (SQLException e) {
...@@ -230,9 +233,9 @@ public class SQLiteManager { ...@@ -230,9 +233,9 @@ public class SQLiteManager {
return res; return res;
} }
public List<String> selectMonth(){ public HashMap<String,ComboboxModel> selectMonth(){
String sql = "SELECT DISTINCT month FROM data"; String sql = "SELECT DISTINCT month FROM data";
ArrayList<String> res = new ArrayList<String>(); HashMap<String,ComboboxModel> res = new HashMap<String,ComboboxModel>();
try (Connection conn = this.connect(); try (Connection conn = this.connect();
PreparedStatement pstmt = conn.prepareStatement(sql)){ PreparedStatement pstmt = conn.prepareStatement(sql)){
...@@ -241,7 +244,7 @@ public class SQLiteManager { ...@@ -241,7 +244,7 @@ public class SQLiteManager {
// loop through the result set // loop through the result set
while (rs.next()) { while (rs.next()) {
res.add(months[rs.getInt("month")]); res.put(months[rs.getInt("month")], new ComboboxModel(rs.getInt("month")));
System.out.println(months[rs.getInt("month")]); System.out.println(months[rs.getInt("month")]);
} }
} catch (SQLException e) { } catch (SQLException e) {
......
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Model;
/**
*
* @author puiss
*/
public class ComboboxModel {
private int month;
private int week;
private int day;
public ComboboxModel(int month){
this.month = month;
this.week = -1;
this.day = -1;
}
public ComboboxModel(int month, int week){
this.month = month;
this.week = week;
this.day = -1;
}
public ComboboxModel(int month, int week, int day){
this.month = month;
this.week = week;
this.day = day;
}
public int getMonth(){
return this.month;
}
public int getWeek(){
return this.week;
}
public int getDay(){
return this.day;
}
public String toString(){
return this.getMonth() + " " + this.getWeek() + " " + this.getDay();
}
}
...@@ -162,7 +162,7 @@ ...@@ -162,7 +162,7 @@
</LineChart> </LineChart>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" spacing="20.0" GridPane.halignment="CENTER" GridPane.rowIndex="1" GridPane.valignment="CENTER"> <HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" spacing="20.0" GridPane.halignment="CENTER" GridPane.rowIndex="1" GridPane.valignment="CENTER">
<children> <children>
<RadioButton fx:id="dayGranulation" mnemonicParsing="false" selected="true" text="Jour"> <RadioButton fx:id="dayGranulation" mnemonicParsing="false" selected="false" text="Jour">
<toggleGroup> <toggleGroup>
<ToggleGroup fx:id="granulation" /> <ToggleGroup fx:id="granulation" />
</toggleGroup> </toggleGroup>
......
...@@ -11,6 +11,7 @@ import DAO.SQLiteManager; ...@@ -11,6 +11,7 @@ import DAO.SQLiteManager;
import Interfaces.Observable; import Interfaces.Observable;
import Interfaces.Observer; import Interfaces.Observer;
import MailUtil.MailUtil; import MailUtil.MailUtil;
import Model.ComboboxModel;
import Util.CalendarUtil; import Util.CalendarUtil;
import java.io.IOException; import java.io.IOException;
import java.net.URL; import java.net.URL;
...@@ -93,7 +94,7 @@ public class FXMLVueController implements Initializable, Observer { ...@@ -93,7 +94,7 @@ public class FXMLVueController implements Initializable, Observer {
@FXML @FXML
private GridPane data; private GridPane data;
@FXML @FXML
private LineChart<Number, Number> graph; private LineChart<String, Number> graph;
@FXML @FXML
private ToggleGroup granulation; private ToggleGroup granulation;
@FXML @FXML
...@@ -125,7 +126,7 @@ public class FXMLVueController implements Initializable, Observer { ...@@ -125,7 +126,7 @@ public class FXMLVueController implements Initializable, Observer {
private BluetoothThread workingThread; private BluetoothThread workingThread;
private LocalDate lastMailDay; private LocalDate lastMailDay;
private SQLiteManager DBManager; private SQLiteManager DBManager;
private HashMap<String, ComboboxModel> currentMap;
/** /**
* Initializes the controller class. * Initializes the controller class.
*/ */
...@@ -202,20 +203,50 @@ public class FXMLVueController implements Initializable, Observer { ...@@ -202,20 +203,50 @@ public class FXMLVueController implements Initializable, Observer {
} }
}); });
dataGraph.valueProperty().addListener(new ChangeListener<String>() {
@Override public void changed(ObservableValue ov, String t, String t1) {
ComboboxModel selected = currentMap.get(t1);
if(selected != null){
if(selected.getDay() == -1 && selected.getWeek() == -1){ // month
DBManager.selectMonthData(selected.getMonth());
axisYGraph.setLabel("Valeur");
axisXGraph.setLabel("Mois");
graph.setTitle("Visualisation mois : " + SQLiteManager.months[selected.getMonth()]);
XYChart.Series series1 = new XYChart.Series();
series1.setName("Temperature");
series1.getData().add(new XYChart.Data("1",12));
series1.getData().add(new XYChart.Data("2",100));
graph.getData().add(series1);
} else if(selected.getWeek() == -1){ // day
DBManager.selectDayOfMonthData(selected.getMonth(), selected.getDay());
} else { // week
DBManager.selectWeekOfMonthData(selected.getMonth(), selected.getWeek());
}
}
}
});
granulation.selectedToggleProperty().addListener(new ChangeListener<Toggle>(){ granulation.selectedToggleProperty().addListener(new ChangeListener<Toggle>(){
public void changed(ObservableValue<? extends Toggle> ov, public void changed(ObservableValue<? extends Toggle> ov,
Toggle old_toggle, Toggle new_toggle) { Toggle old_toggle, Toggle new_toggle) {
RadioButton rb = (RadioButton) new_toggle.getToggleGroup().getSelectedToggle(); RadioButton rb = (RadioButton) new_toggle.getToggleGroup().getSelectedToggle();
if (dayGranulation.equals(rb)) { if (dayGranulation.equals(rb)) {
dataGraph.getItems().clear(); dataGraph.getItems().clear();
dataGraph.getItems().addAll(DBManager.selectDayOfMonths()); currentMap = DBManager.selectDayOfMonths();
dataGraph.getItems().addAll(currentMap.keySet());
} else if(weekGranulation.equals(rb)){ } else if(weekGranulation.equals(rb)){
dataGraph.getItems().clear(); dataGraph.getItems().clear();
dataGraph.getItems().addAll(DBManager.selectWeekOfMonth()); currentMap = DBManager.selectWeekOfMonth();
dataGraph.getItems().addAll(currentMap.keySet());
} else if(monthGranulation.equals(rb)) { } else if(monthGranulation.equals(rb)) {
dataGraph.getItems().clear(); dataGraph.getItems().clear();
dataGraph.getItems().addAll(DBManager.selectMonth()); currentMap = DBManager.selectMonth();
dataGraph.getItems().addAll(currentMap.keySet());
} }
} }
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment