From 33639486b5e912f8002ee12ce8fa862e56783cc7 Mon Sep 17 00:00:00 2001 From: emtunhei <emtunhei@stud.ntnu.no> Date: Fri, 11 Mar 2022 12:16:30 +0100 Subject: [PATCH] Full functionality of the getZeroPointDate() function! Returns a hashmap containging the final intditork and the corresponding uttidtork values. --- src/main/java/com/application/DB/DB.java | 53 ++++++++++-------- .../GUI/graphical_user_interface.fxml | 4 +- target/classes/com/application/DB/DB.class | Bin 10627 -> 10708 bytes 3 files changed, 31 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/application/DB/DB.java b/src/main/java/com/application/DB/DB.java index 600fb7c..5defc3d 100644 --- a/src/main/java/com/application/DB/DB.java +++ b/src/main/java/com/application/DB/DB.java @@ -7,12 +7,9 @@ import com.google.cloud.bigquery.*; import java.io.File; import java.io.FileInputStream; import java.sql.Timestamp; -import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.time.temporal.TemporalAccessor; import java.util.*; /** @@ -186,13 +183,13 @@ public class DB { //return data; } - private static void getZeroPointDate() throws Exception{ + private static Map<String, String> getZeroPointDate() throws Exception{ // Initializing a date format in the data type DateTimeFormatter // Required for iterating through the dates. DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - // Initializing the data map to store the results + // Initializing the dates map to store the results Map<String, String> dates = new HashMap<>(); // Preparing a query statement @@ -204,16 +201,19 @@ public class DB { // Creates a job configuration queryJob = getJob(QueryJobConfiguration.newBuilder(sqlStatement).build()); - // Iterating through the results + // Retrieves the results from the queryjob TableResult result = queryJob.getQueryResults(); + System.out.println("InTidTork\t\t\tUtTidTork"); + + // Iterating through the results for (FieldValueList row : result.iterateAll()) { // Defining variables String formatedInTidTork; String formatedUtTidTork; - // Retrieving the wanted data + // Retrieving the data // InTidTork: if(!row.get("InTidTork").isNull()){ long InTidTorkLong = row.get("InTidTork").getTimestampValue()/1000; @@ -232,42 +232,47 @@ public class DB { formatedUtTidTork = ""; } - dates.put(formatedInTidTork,formatedUtTidTork); //System.out.printf("%s\t\t\t%s\n",formatedInTidTork,formatedUtTidTork); + + // Adds the data to the dates map + dates.put(formatedInTidTork,formatedUtTidTork); } + + // Defining a treemap to sort through the data NavigableMap<String, String> dataSet = new TreeMap<>(dates); - /* - for (Map.Entry<String, String> entry : dataSet.entrySet()) { - System.out.printf("Key: %s\t\t\tValue: %s\n",entry.getKey(),entry.getValue()); - } - */ + // Defining a hashmap to store the final sorted data + Map<String, String> sortedDates = new HashMap<>(); // Iterating through the data in order to find and set a zeropoint for the dates. for (Map.Entry<String, String> entry : dataSet.entrySet()) { - // Retrieving the entry key - String key = entry.getKey(); + // Retrieving the entry key and value + String inTid = entry.getKey(); + String utTid = entry.getValue(); // Format the date to LocalDateTime datatype - LocalDateTime date = LocalDateTime.parse(key, format); - // Creates a future date to compare against + LocalDateTime date = LocalDateTime.parse(inTid, format); + // Creates a future date to compare against one day forward in time LocalDateTime dateNowPlus = date.plusDays(1); String formatedDateNowPlus = format.format(dateNowPlus); try { - String next = dataSet.higherEntry(entry.getKey()).getKey(); // next - - System.out.printf("Current date: %s\t\t\tPluss 1: %s\t\t\tNext date: %s\n",key,formatedDateNowPlus,next); + // Retrieves the next entry in the list + String next = dataSet.higherEntry(entry.getKey()).getKey(); - //System.out.printf("Neste: %s\n\n",next); + // Checks if the next date is longer than 1 day, + // if so the current date is the last intidtork date and + // is the one we will use in order to reset the kwh. if(next.compareTo(formatedDateNowPlus) > 0){ - System.out.printf("Inni if!!@@, Er next mindre enn formated?\nNext, skal være større: %s\nFormated, skal være mindre: %s\n\n",next,formatedDateNowPlus); + // Storing the dates that will be used for resetting kwh's. + sortedDates.put(inTid,utTid); } } catch (NullPointerException e){ - System.out.println(e.getMessage()); + // Can't find any more iterations, breaks out of the loop. + break; } } - + return sortedDates; } } \ No newline at end of file diff --git a/target/classes/com.application/GUI/graphical_user_interface.fxml b/target/classes/com.application/GUI/graphical_user_interface.fxml index 975d47d..4d8f5c5 100644 --- a/target/classes/com.application/GUI/graphical_user_interface.fxml +++ b/target/classes/com.application/GUI/graphical_user_interface.fxml @@ -55,14 +55,14 @@ <left> <ImageView fitHeight="50.0" fitWidth="50.0" pickOnBounds="true" preserveRatio="true" translateX="5.0" BorderPane.alignment="CENTER"> <image> - <Image url="@moelven_logo_m.jpg" /> + <Image url="@moelven_logo_m.png" /> </image> </ImageView> </left> <center> <ImageView fitHeight="30.0" fitWidth="125.0" pickOnBounds="true" preserveRatio="true"> <image> - <Image url="@moelven_logo_title.jpg" /> + <Image url="@moelven_logo_title.png" /> </image> </ImageView> </center> diff --git a/target/classes/com/application/DB/DB.class b/target/classes/com/application/DB/DB.class index 4f39a5616a61964b092c667dfb23974502bcd92a..b8c993545329c3ff8fe3fd7b263cd97cde2e4748 100644 GIT binary patch delta 3533 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 delta 3392 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 aF@te8!%G%UhEEJ1Kr|yOBQwKG21x+M_{FmT -- GitLab