diff --git a/src/main/java/com/application/DB/Constants.java b/src/main/java/com/application/DB/Constants.java index 84b9a5eeabd3527d6c60e6e02d96b74562bec144..1cb72d1f7c8d9ca499ab66c8d18b084bd45f98cc 100644 --- a/src/main/java/com/application/DB/Constants.java +++ b/src/main/java/com/application/DB/Constants.java @@ -29,7 +29,7 @@ public final class Constants { public static final String PROJECT_ID = "sf-drying-optimization"; -/* + // Location Valasen(124) // Project settings public static final int LOCATION_ID = 124; @@ -53,12 +53,12 @@ public final class Constants { //public static final int VALUE_ID = 56; // Kammer 6 public static final int LIMIT = 1000; - */ +/* // Location Arjang(174) // Project settings public static final int LOCATION_ID = 174; @@ -71,8 +71,8 @@ public final class Constants { public static final String START_DRYING_NAME = "DryingStarted"; public static final String STOP_DRYING_NAME = "DryingCompleted"; public static final String KILIN_NAME = "KilinId"; - //public static int KILIN_ID = 18; - public static int KILIN_ID = 18554; + public static int KILIN_ID = 18; + //public static int KILIN_ID = 18554; // Swappconsensordata public static final String KWH_NAME = "RealValue"; @@ -82,6 +82,8 @@ public final class Constants { public static final int LIMIT = 1000; + */ + diff --git a/src/main/java/com/application/DB/DB.java b/src/main/java/com/application/DB/DB.java index b9539a55a2b31cf16b96731e9f057f9e0740d3e0..f33f40722437421cef13887dc5f527853f165558 100644 --- a/src/main/java/com/application/DB/DB.java +++ b/src/main/java/com/application/DB/DB.java @@ -132,10 +132,10 @@ public class DB { * @return the results * @throws Exception returns potential error */ - public static Map<Integer, Map> getKwh() throws Exception { + public static Map<Integer, Map<String, Number>> getKwh() throws Exception { // Initializing the data map to store the results - Map<Integer, Map> finalResults = new HashMap<>(); + Map<Integer, Map<String, Number>> finalResults = new HashMap<>(); int index = 0; @@ -201,10 +201,10 @@ public class DB { System.out.println("\nFinal results size: "+finalResults.size()); // Defining a treemap to sort the data incrementally - NavigableMap<Integer, Map> sortedFinalResults = new TreeMap<>(finalResults); + NavigableMap<Integer, Map<String, Number>> sortedFinalResults = new TreeMap<>(finalResults); - for (Map.Entry<Integer, Map> entry : sortedFinalResults.entrySet()) { + for (Map.Entry<Integer, Map<String, Number>> entry : sortedFinalResults.entrySet()) { System.out.printf("Timestamp: \t%s\t\t\tkWh: \t%s\n",entry.getKey(),entry.getValue()); } diff --git a/src/main/java/com/application/GUI/InputPopUpWindow.java b/src/main/java/com/application/GUI/InputPopUpWindow.java index 7e2f1b4de3cb19045310b0d2acf160374286c152..806619f541e1471f93ba0cdd671af3418681fe4f 100644 --- a/src/main/java/com/application/GUI/InputPopUpWindow.java +++ b/src/main/java/com/application/GUI/InputPopUpWindow.java @@ -9,6 +9,8 @@ import javafx.stage.*; import static com.application.DB.Constants.*; import com.application.Main; +import javax.sound.sampled.Line; + /** * This class handles the popup input window * @@ -79,6 +81,7 @@ public class InputPopUpWindow { // Call på getKwh() try { + LineChartFunctionality.loadData(); //Main.createLineChart(); } catch (Exception ex) { ex.printStackTrace(); diff --git a/src/main/java/com/application/GUI/LineChartFunctionality.java b/src/main/java/com/application/GUI/LineChartFunctionality.java index 0817beefd54d15c909238a4f4defde34e2e62728..3339bc6b04badbea0d29f9d5d3cba2014e8b8368 100644 --- a/src/main/java/com/application/GUI/LineChartFunctionality.java +++ b/src/main/java/com/application/GUI/LineChartFunctionality.java @@ -1,44 +1,84 @@ package com.application.GUI; +import com.application.DB.DB; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import javafx.scene.chart.CategoryAxis; import javafx.scene.chart.LineChart; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; +import java.util.Map; + public class LineChartFunctionality { - private LineChart<String, Number> lineChart; - private XYChart.Series<String, Number> series; - private final CategoryAxis xAxis; - private final NumberAxis yAxis; + private static LineChart<String, Number> lineChart; + private static XYChart.Series<String, Number> series; + private static XYChart.Data<String, Number> chartData; + private static CategoryAxis xAxis; + private static NumberAxis yAxis; public LineChartFunctionality(){ - this.xAxis = new CategoryAxis(); - this.yAxis = new NumberAxis(); - this.series = new XYChart.Series<String, Number>(); - this.lineChart = new LineChart<>(xAxis,yAxis); - this.lineChart.getData().add(series); - this.xAxis.setLabel("Date"); - this.yAxis.setLabel("Kwh"); - this.lineChart.setTitle("Drying Processes"); + xAxis = new CategoryAxis(); + yAxis = new NumberAxis(); + series = new XYChart.Series<String, Number>(); + chartData = new XYChart.Data<String, Number>(); + lineChart = new LineChart<>(xAxis,yAxis); + xAxis.setLabel("Date"); + yAxis.setLabel("Kwh"); + lineChart.setTitle("Drying Processes"); } public LineChart<String, Number> getLineChart() { - return this.lineChart; + return lineChart; } - public void setLineChart(LineChart<String, Number> lineChart) { - this.lineChart = lineChart; + + public static XYChart.Series<String, Number> getSeries() { + return series; } - public XYChart.Series<String, Number> getSeries() { - return this.series; + + public static void updateLineChart(XYChart.Series<String, Number> series){ + lineChart.getData().add(series); } - public void setSeries(XYChart.Series<String, Number> series) { - this.series = series; - this.lineChart.getData().add(series); + public static void loadData() throws Exception { + + Map<Integer, Map<String, Number>> kWh = DB.getKwh(); + //System.out.println(kWh.size()); + + for (Map.Entry<Integer, Map<String, Number>> entryKwh : kWh.entrySet()) { + Map data = entryKwh.getValue(); + //System.out.println(data.size()); + + XYChart.Series<String, Number> newSeries = new XYChart.Series<String, Number>(); + for (Object entryData : data.entrySet()){ + //System.out.println("data: \t"+entryData); + String entryString = entryData.toString(); + String[] arr = entryString.split("="); + String date = arr[0]; + int kwhValue = Integer.parseInt(arr[1]); + + //System.out.printf("Date: \t%s\t\t\tkWh: \t%s\n",date,kwhValue); + + + // Connect the data to a series + newSeries.getData().add(new XYChart.Data<String, Number>(date,kwhValue)); + + } + updateLineChart(newSeries); + } + +/* + for (Map.Entry<Integer, Map> entryKwh : kWh.entrySet()) { + System.out.printf("Index: \t%s\t\t\tkWh: \t%s\n",entryKwh.getKey(),entryKwh.getValue()); + } + */ } + + + } diff --git a/src/main/java/com/application/Main.java b/src/main/java/com/application/Main.java index 54c95fd55da7b5e529e1fa98d6640d5c19841943..e8b5541349f698c0d8e9d0636523e83cb035bd96 100644 --- a/src/main/java/com/application/Main.java +++ b/src/main/java/com/application/Main.java @@ -266,40 +266,6 @@ public class Main extends Application { return new HBox(imageViewM, region1, imageViewTitle, region2); } - - - - - /* - Map<Integer, Map> kWh = DB.getKwh(); - - - for (Map.Entry<Integer, Map> entryKwh : kWh.entrySet()) { - Map data = entryKwh.getValue(); - - XYChart.Series series = new XYChart.Series(); - for (Object entryData : data.entrySet()){ - //System.out.println("data: \t\t"+entryData); - String entryString = entryData.toString(); - String[] arr = entryString.split("="); - String date = arr[0]; - int kwhValue = Integer.parseInt(arr[1]); - - //System.out.printf("Date: \t%s\t\t\tkWh: \t%s\n",date,kwhValue); - - // Connect the data to a series - series.getData().add(new XYChart.Data(date,kwhValue)); - } - lineChart.getData().add(series); - //System.out.println("\n\nNew line\n\n"); - } - - */ -/* - for (Map.Entry<Integer, Map> entryKwh : kWh.entrySet()) { - System.out.printf("Index: \t%s\t\t\tkWh: \t%s\n",entryKwh.getKey(),entryKwh.getValue()); - } - */ } diff --git a/target/classes/com/application/DB/Constants.class b/target/classes/com/application/DB/Constants.class index 3cffa8e8d8a94a99337892ff984d856f80e48a45..a8b1e2286f71cef22fb37dcab7357266091bf176 100644 Binary files a/target/classes/com/application/DB/Constants.class and b/target/classes/com/application/DB/Constants.class differ diff --git a/target/classes/com/application/DB/DB.class b/target/classes/com/application/DB/DB.class index c1ad855f5e0508f537069fdbca34f644a07fa6db..cb01b5595c382de6d3477bfe571dcdbc0b056354 100644 Binary files a/target/classes/com/application/DB/DB.class and b/target/classes/com/application/DB/DB.class differ diff --git a/target/classes/com/application/GUI/InputPopUpWindow.class b/target/classes/com/application/GUI/InputPopUpWindow.class index 98332e735b1b7bbf70ce791e6114ac983ba0c3dd..7a6978ec5f538cf200aa2739309e0191862ecb56 100644 Binary files a/target/classes/com/application/GUI/InputPopUpWindow.class and b/target/classes/com/application/GUI/InputPopUpWindow.class differ diff --git a/target/classes/com/application/GUI/LineChartFunctionality.class b/target/classes/com/application/GUI/LineChartFunctionality.class index eaa8f1e713b3132b236b7b894f0529f111199898..9e9130093a4a0bdcbb9ee3a1afb06ff2defcd05e 100644 Binary files a/target/classes/com/application/GUI/LineChartFunctionality.class and b/target/classes/com/application/GUI/LineChartFunctionality.class differ