Skip to content
Snippets Groups Projects
Commit d2ebd07b authored by Eilert Tunheim's avatar Eilert Tunheim
Browse files

commented HelpingFunctions.java

parent 5e4a8674
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,6 @@ import com.application.GUI.PopUpWindows.NotificationPopUp;
import com.google.cloud.bigquery.FieldValueList;
import com.google.cloud.bigquery.TableResult;
import static com.application.DB.Constants.*;
import static com.application.DB.Settings.*;
import static com.application.GUI.PopUpWindows.LoginPopup.getPasswordTextField;
......@@ -33,19 +32,19 @@ public class AccountHandler {
if (row.get("Username").getValue().equals(username)) {
CreateLogoBar.getLogin().setText(username);
setUserName(username);
HelpingFunctions.setUserName(username);
if (!row.get("Phone_no").isNull()) {
setPhoneNo(row.get("Phone_no").getStringValue());
HelpingFunctions.setPhoneNo(row.get("Phone_no").getStringValue());
}
if (!row.get("First_name").isNull()) {
setFirstName(row.get("First_name").getStringValue());
HelpingFunctions.setFirstName(row.get("First_name").getStringValue());
}
if (!row.get("Last_name").isNull()) {
setLastName(row.get("Last_name").getStringValue());
HelpingFunctions.setLastName(row.get("Last_name").getStringValue());
}
if (!row.get("Admin").isNull()) {
setIsAdmin(row.get("Admin").getBooleanValue());
HelpingFunctions.setIsAdmin(row.get("Admin").getBooleanValue());
}
}
}
......
package com.application.DB;
/**
* This class contain a number of constants used throughout the application
*
* @author Eilert Tunheim, Karin Pettersen, Mads Arnesen
* @version 1.0.0
*/
public class Constants {
// Key name file for the database access
public static String KEY_FILE_NAME = "sf-drying-optimization-8a2e1b7ffc14.json";
// Time related constants
public static String START_TIME = "";
public static String STOP_TIME = "";
......@@ -22,60 +25,9 @@ public class Constants {
public static String SAWSET = "";
public static String MOISTURE_GOAL = "";
// Number of manual moisture checks
public static int NUMBER_OF_CHECKS = 1;
// Max number of input characters for sql injection prevention
public static int MAX_USER_INPUT_CHARACTERS = 10;
// Boolean constants to toggle default launch selected or not for checkboxes for showing graphs
public static boolean DEFAULT_IS_SELECTED_LIVE_DATA = true;
public static boolean DEFAULT_IS_SELECTED_REGRESSION = true;
public static boolean DEFAULT_IS_SELECTED_REGRESSION_SHADOW = false;
public static boolean DEFAULT_IS_SELECTED_PREVIOUS_DATA = true;
// Account constants
private static boolean isAdmin = false;
private static String firstName;
private static String lastName;
private static String userName;
private static String phoneNo;
public static String getUserName() { return userName;}
public static void setUserName(String userName) {
Constants.userName = userName;
}
public static String getPhoneNo() {
return phoneNo;
}
public static void setPhoneNo(String phoneNo) {
Constants.phoneNo = phoneNo;
}
public static boolean isIsAdmin() {
return isAdmin;
}
public static void setIsAdmin(boolean isAdmin) {
Constants.isAdmin = isAdmin;
}
public static String getFirstName() {
return firstName;
}
public static void setFirstName(String firstName) {
Constants.firstName = firstName;
}
public static String getLastName() {
return lastName;
}
public static void setLastName(String lastName) {
Constants.lastName = lastName;
}
}
......@@ -606,7 +606,7 @@ public class DB {
// Sqlstatement
final String sqlStatement =
"INSERT INTO " + PROJECT_ID + "." + LOCATION_ID + "." + MAN_MOISTURE_TABLE + "(moisture,tree_species,dimensions,sawset,moisture_goal,no_moisture_check,start_time,stop_time,finished) " +
"VALUES("+moisture+","+treeSpecies+","+dimensions+","+sawset+","+moistureGoal+","+ Constants.NUMBER_OF_CHECKS+","+startTime+","+stopTime+","+IS_FINISHED+") ";
"VALUES("+moisture+","+treeSpecies+","+dimensions+","+sawset+","+moistureGoal+","+ NUMBER_OF_CHECKS+","+startTime+","+stopTime+","+IS_FINISHED+") ";
System.out.println(sqlStatement);
......
......@@ -4,7 +4,6 @@ import com.application.GUI.PopUpWindows.NotificationPopUp;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.auth.oauth2.ServiceAccountCredentials;
import com.google.cloud.bigquery.*;
import io.opencensus.internal.StringUtils;
import java.io.File;
import java.io.FileInputStream;
......@@ -13,18 +12,32 @@ import java.util.HashMap;
import java.util.Map;
import java.util.TimeZone;
import static com.application.DB.Constants.KEY_FILE_NAME;
import static com.application.DB.Constants.MAX_USER_INPUT_CHARACTERS;
import static com.application.DB.Settings.*;
/**
* This class contain a number of helping function that is accessed throughout the application
*
* @author Eilert Tunheim, Karin Pettersen, Mads Arnesen
* @version 1.0.0
*/
public class HelpingFunctions {
// Key name file for the database access
public static String KEY_FILE_NAME = "sf-drying-optimization-8a2e1b7ffc14.json";
// Map to store manual moisture
static Map<String,String> manMoist = new HashMap<>();
// Account constants
static boolean isAdmin = false;
static String firstName;
static String lastName;
static String userName;
static String phoneNo;
/**
* Creates a simple date format to use for converting millis in numbers to a usefull date format
* Creates a simple date format to use for converting millis in numbers to a useful date format
*
* @return returns the date format
*/
......@@ -150,6 +163,11 @@ public class HelpingFunctions {
}
}
/**
* This function gets the total number of chambers that are searched for
*
* @return an integer indecating the total number of chambers
*/
public static int getNoOfChambers(){
int valmeticsChamberIDS = 0;
int kwhChamberIDS = 0;
......@@ -170,6 +188,24 @@ public class HelpingFunctions {
return noOfChambers;
}
/**
* This function handles input validation
*
* @param input string of input parameter from the user to be checked
* @return a boolean to indicate if the input is accepted or not
*/
public static boolean isValidInput (String input){
if(input.length() > MAX_USER_INPUT_CHARACTERS) {
NotificationPopUp.displayNotificationWindow("A maximum of "+MAX_USER_INPUT_CHARACTERS+" characters is allowed!");
return true;
}
else if(input.toLowerCase().contains("union")){
NotificationPopUp.displayNotificationWindow("Keyword: 'UNION' is not allowed");
return true;
}
else return false;
}
public static boolean isLoadedData() {
return Constants.LOADED_DATA;
}
......@@ -178,21 +214,41 @@ public class HelpingFunctions {
Constants.LOADED_DATA = loadedData;
}
public static String getUserName() { return userName;}
public static boolean isValidInput (String input){
if(input.length() > Constants.MAX_USER_INPUT_CHARACTERS) {
NotificationPopUp.displayNotificationWindow("A maximum of "+MAX_USER_INPUT_CHARACTERS+" characters is allowed!");
return true;
public static void setUserName(String userName) {
HelpingFunctions.userName = userName;
}
else if(input.toLowerCase().contains("union")){
NotificationPopUp.displayNotificationWindow("Keyword: 'UNION' is not allowed");
return true;
public static String getPhoneNo() {
return phoneNo;
}
else return false;
}
public static void setPhoneNo(String phoneNo) {
HelpingFunctions.phoneNo = phoneNo;
}
public static boolean isIsAdmin() {
return isAdmin;
}
public static void setIsAdmin(boolean isAdmin) {
HelpingFunctions.isAdmin = isAdmin;
}
public static String getFirstName() {
return firstName;
}
public static void setFirstName(String firstName) {
HelpingFunctions.firstName = firstName;
}
public static String getLastName() {
return lastName;
}
public static void setLastName(String lastName) {
HelpingFunctions.lastName = lastName;
}
}
......@@ -13,6 +13,11 @@ public final class Settings {
// Empty constructor
}
// Number of manual moisture checks
public static int NUMBER_OF_CHECKS = 1;
// Max number of input characters for sql injection prevention
public static int MAX_USER_INPUT_CHARACTERS = 15;
// Number of wanted drying periods
public static int NUMBER_OF_PERIODS = 2;
......
......@@ -11,7 +11,7 @@ import javafx.scene.layout.Region;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import static com.application.DB.Constants.isIsAdmin;
import static com.application.DB.HelpingFunctions.isIsAdmin;
public class CreateLogoBar {
......
......@@ -17,7 +17,6 @@ import java.util.Map;
import static com.application.DB.HelpingFunctions.isValidInput;
import static com.application.DB.Settings.*;
import static com.application.DB.DB.getCurrentDrying;
import static com.application.DB.Constants.MAX_USER_INPUT_CHARACTERS;
import static com.application.DB.HelpingFunctions.setLoadedData;
import static com.application.GUI.LineChartFunctionality.*;
import static com.application.GUI.Panes.CreateLogoBar.getLogin;
......
package com.application.GUI.PopUpWindows;
import javafx.event.EventHandler;
import com.application.DB.HelpingFunctions;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.VBox;
import javafx.stage.Modality;
import javafx.stage.Stage;
......@@ -14,7 +13,6 @@ import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import static com.application.DB.AccountHandler.*;
import static com.application.DB.Constants.*;
import static com.application.DB.HelpingFunctions.isValidInput;
import static com.application.GUI.Panes.CreateLogoBar.getLogin;
......@@ -95,7 +93,7 @@ public class LoginPopup {
Label usernameLabel = new Label("Username: ");
TextField usernameTextfield = new TextField();
usernameTextfield.setText(getUserName());
usernameTextfield.setText(HelpingFunctions.getUserName());
usernameTextfield.setEditable(false);
Button addUser = new Button("Add User");
......@@ -242,11 +240,11 @@ public class LoginPopup {
public static void logout(){
getLogin().setText("Login");
setFirstName("");
setLastName("");
setIsAdmin(false);
setPhoneNo("");
setUserName("");
HelpingFunctions.setFirstName("");
HelpingFunctions.setLastName("");
HelpingFunctions.setIsAdmin(false);
HelpingFunctions.setPhoneNo("");
HelpingFunctions.setUserName("");
}
public static void userPopup(){
......@@ -265,8 +263,8 @@ public class LoginPopup {
nameTextfield.setEditable(false);
phoneNoTextField.setEditable(false);
nameTextfield.setText(getFirstName() + " " + getLastName());
phoneNoTextField.setText(getPhoneNo());
nameTextfield.setText(HelpingFunctions.getFirstName() + " " + HelpingFunctions.getLastName());
phoneNoTextField.setText(HelpingFunctions.getPhoneNo());
Button close = new Button("Close");
......
......@@ -2,6 +2,7 @@ package com.application.GUI.PopUpWindows;
import com.application.DB.Constants;
import com.application.DB.DB;
import com.application.DB.Settings;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
......@@ -15,7 +16,7 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import static com.application.DB.Constants.IS_FINISHED;
import static com.application.DB.Constants.MAX_USER_INPUT_CHARACTERS;
import static com.application.DB.Settings.MAX_USER_INPUT_CHARACTERS;
import static com.application.DB.HelpingFunctions.isValidInput;
public class OutputPopup {
......@@ -58,7 +59,7 @@ public class OutputPopup {
!moistureCheckTextField.getCharacters().toString().equals("Please enter a value")) {
Constants.STOP_TIME = null;
DB.pushManMoisture(moistureCheckTextField.getCharacters().toString());
Constants.NUMBER_OF_CHECKS++;
Settings.NUMBER_OF_CHECKS++;
window.close();
} else {
NotificationPopUp.displayNotificationWindow("Please enter a value!");
......
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