From d3611c15fcc291057a34f89ccd0106f3c96d0b61 Mon Sep 17 00:00:00 2001
From: Eilert Tunheim <emtunhei@stud.ntnu.no>
Date: Wed, 18 May 2022 22:23:01 +0200
Subject: [PATCH] Added check for union and length

---
 Bachelor_application.iml                      |  12 ++---
 .../com/application/DB/HelpingFunctions.java  |   2 +-
 .../GUI/PopUpWindows/InputPopup.java          |  40 ++++++++-------
 .../GUI/PopUpWindows/LoginPopup.java          |  46 ++++++++++++------
 .../GUI/PopUpWindows/OutputPopup.java         |   7 ++-
 .../com/application/DB/HelpingFunctions.class | Bin 9047 -> 9047 bytes
 .../GUI/PopUpWindows/InputPopup.class         | Bin 9132 -> 9135 bytes
 .../GUI/PopUpWindows/LoginPopup.class         | Bin 12483 -> 12494 bytes
 .../GUI/PopUpWindows/OutputPopup.class        | Bin 5384 -> 5354 bytes
 9 files changed, 64 insertions(+), 43 deletions(-)

diff --git a/Bachelor_application.iml b/Bachelor_application.iml
index b94cb91..6353612 100644
--- a/Bachelor_application.iml
+++ b/Bachelor_application.iml
@@ -58,13 +58,13 @@
     <orderEntry type="library" name="Maven: org.jblas:jblas:1.2.4" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.13.2" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.8.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.8.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.9.0-M1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.9.0-M1" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.8.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.9.0-M1" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.8.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.8.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.8.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.9.0-M1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.9.0-M1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.9.0-M1" level="project" />
   </component>
 </module>
\ No newline at end of file
diff --git a/src/main/java/com/application/DB/HelpingFunctions.java b/src/main/java/com/application/DB/HelpingFunctions.java
index a354a79..8f843cc 100644
--- a/src/main/java/com/application/DB/HelpingFunctions.java
+++ b/src/main/java/com/application/DB/HelpingFunctions.java
@@ -184,7 +184,7 @@ public static boolean isValidInput (String input){
         NotificationPopUp.displayNotificationWindow("A maximum of "+MAX_USER_INPUT_CHARACTERS+" characters is allowed!");
         return true;
     }
-    else if(input.contains("UNION")){
+    else if(input.toLowerCase().contains("union")){
         NotificationPopUp.displayNotificationWindow("Keyword: 'UNION' is not allowed");
         return true;
     }
diff --git a/src/main/java/com/application/GUI/PopUpWindows/InputPopup.java b/src/main/java/com/application/GUI/PopUpWindows/InputPopup.java
index fe07431..5059812 100644
--- a/src/main/java/com/application/GUI/PopUpWindows/InputPopup.java
+++ b/src/main/java/com/application/GUI/PopUpWindows/InputPopup.java
@@ -134,38 +134,42 @@ public class InputPopup {
 
             if(getLogin().getText().equals("Login")){
                 err = true;
+                NotificationPopUp.displayNotificationWindow("Please login!");
             }
 
             // If the input is null, sets the value to be empty
             if (treeSpeciesList.getValue() == null) {
                 Constants.TREE_SPECIES = "";
-            } else if (isValidInput(treeSpeciesList.getValue())) {
-                treeSpeciesList.setValue("");
-                err = true;
             }
-
             if (dimensionsList.getValue() == null) {
                 Constants.DIMENSIONS = "";
-            }  else if (dimensionsList.getValue().length() > MAX_USER_INPUT_CHARACTERS) {
-                NotificationPopUp.displayNotificationWindow("A maximum of "+MAX_USER_INPUT_CHARACTERS+" characters is allowed!");
-                dimensionsList.setValue("");
-                err = true;
             }
-
             if (sawsetList.getValue() == null) {
                 Constants.SAWSET = "";
-            } else if (sawsetList.getValue().length() > MAX_USER_INPUT_CHARACTERS) {
-                NotificationPopUp.displayNotificationWindow("A maximum of "+MAX_USER_INPUT_CHARACTERS+" characters is allowed!");
-                sawsetList.setValue("");
-                err = true;
             }
-
             if (moistureList.getValue() == null) {
                 Constants.MOISTURE_GOAL = "";
-            } else if (moistureList.getValue().length() > MAX_USER_INPUT_CHARACTERS) {
-                NotificationPopUp.displayNotificationWindow("A maximum of "+MAX_USER_INPUT_CHARACTERS+" characters is allowed!");
-                moistureList.setValue("");
+            }
+
+            System.out.println(getLogin().getText());
+
+            System.out.println("TREE_SPECIES: "+ Constants.TREE_SPECIES);
+            System.out.println("DIMENSIONS: "+ Constants.DIMENSIONS);
+            System.out.println("SAWSET: "+ Constants.SAWSET);
+            System.out.println("MOISTURE_GOAL: "+ Constants.MOISTURE_GOAL);
+
+            // Validates inputs
+            if(isValidInput(Constants.TREE_SPECIES) ||
+                    isValidInput(Constants.DIMENSIONS) ||
+                    isValidInput(Constants.SAWSET) ||
+                    isValidInput(Constants.MOISTURE_GOAL)) {
+
                 err = true;
+
+                treeSpeciesList.setValue("");
+                dimensionsList.setValue("");
+                sawsetList.setValue("");
+                moistureList.setValue("");
             }
 
 
@@ -249,7 +253,7 @@ public class InputPopup {
             }
 
         } else {
-                NotificationPopUp.displayNotificationWindow("Please login!");
+
             }
                 }
 
diff --git a/src/main/java/com/application/GUI/PopUpWindows/LoginPopup.java b/src/main/java/com/application/GUI/PopUpWindows/LoginPopup.java
index 4efc315..5f1312a 100644
--- a/src/main/java/com/application/GUI/PopUpWindows/LoginPopup.java
+++ b/src/main/java/com/application/GUI/PopUpWindows/LoginPopup.java
@@ -15,6 +15,7 @@ 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;
 
 public class LoginPopup {
@@ -57,16 +58,20 @@ public class LoginPopup {
 
         closeButton.setOnAction(event -> window.close());
         getPasswordTextField().setOnKeyPressed( event -> {
-            if( event.getCode() == KeyCode.ENTER ) {
-                if(loginButtonPressed()){
-                    window.close();
+                if (event.getCode() == KeyCode.ENTER) {
+                    if(!isValidInput(getPasswordTextField().getText()) && !isValidInput(getUsernameTextField().getText())) {
+                    if (loginButtonPressed()) {
+                        window.close();
+                    }
                 }
             }
         });
 
         loginButton.setOnAction(event -> {
-            if(loginButtonPressed()){
-                window.close();
+            if(!isValidInput(getPasswordTextField().getText()) && !isValidInput(getUsernameTextField().getText())) {
+                if (loginButtonPressed()) {
+                    window.close();
+                }
             }
         });
 
@@ -150,6 +155,13 @@ public class LoginPopup {
         close.setOnAction(event -> window.close());
         addUser.setOnAction(event -> {
 
+            // Validate input parameters
+            if(!isValidInput(firstNameTextField.getText()) &&
+                    !isValidInput(lastNameTextField.getText()) &&
+                    !isValidInput(phoneNoTextField.getText()) &&
+                    !isValidInput(usernameTextField.getText()) &&
+                    !isValidInput(passwordFirstField.getText()) &&
+                    !isValidInput(passwordSecondField.getText())) {
             // If the passwords match each other, add the user, if not display an errormessage
             if(passwordFirstField.getText().contentEquals(passwordSecondField.getText())){
 
@@ -166,7 +178,7 @@ public class LoginPopup {
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
-            } else {
+            } }else {
                 NotificationPopUp.displayNotificationWindow("Passwords does not match!");
                 passwordFirstField.clear();
                 passwordSecondField.clear();
@@ -202,17 +214,19 @@ public class LoginPopup {
 
         close.setOnAction(event -> window.close());
         delete.setOnAction(event -> {
-            try {
-                boolean results = deleteUser(usernameTextField.getText());
-                if(results){
-                    NotificationPopUp.displayNotificationWindow(usernameTextField.getText()+" was successfully deleted!");
-                    window.close();
-                } else {
-                    NotificationPopUp.displayNotificationWindow("Could not find username: " + usernameTextField.getText());
-                    usernameTextField.clear();
+            if(!isValidInput(usernameTextField.getText())) {
+                try {
+                    boolean results = deleteUser(usernameTextField.getText());
+                    if (results) {
+                        NotificationPopUp.displayNotificationWindow(usernameTextField.getText() + " was successfully deleted!");
+                        window.close();
+                    } else {
+                        NotificationPopUp.displayNotificationWindow("Could not find username: " + usernameTextField.getText());
+                        usernameTextField.clear();
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
-            } catch (Exception e) {
-                e.printStackTrace();
             }
         });
 
diff --git a/src/main/java/com/application/GUI/PopUpWindows/OutputPopup.java b/src/main/java/com/application/GUI/PopUpWindows/OutputPopup.java
index 9c4409b..713900e 100644
--- a/src/main/java/com/application/GUI/PopUpWindows/OutputPopup.java
+++ b/src/main/java/com/application/GUI/PopUpWindows/OutputPopup.java
@@ -16,6 +16,7 @@ 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.HelpingFunctions.isValidInput;
 
 public class OutputPopup {
 
@@ -47,7 +48,8 @@ public class OutputPopup {
 
                         boolean err = false;
 
-                        if(moistureCheckTextField.getCharacters().length() > MAX_USER_INPUT_CHARACTERS){
+                        // Validates inputs
+                        if(isValidInput(moistureCheckTextField.getText())){
                             err = true;
                         }
 
@@ -82,7 +84,8 @@ public class OutputPopup {
 
                 boolean err = false;
 
-                if(moistureCheckTextField.getCharacters().length() > MAX_USER_INPUT_CHARACTERS){
+                // Validates inputs
+                if(isValidInput(moistureCheckTextField.getText())){
                     err = true;
                 }
 
diff --git a/target/classes/com/application/DB/HelpingFunctions.class b/target/classes/com/application/DB/HelpingFunctions.class
index 3db47b64dd3c30a11b99162c38704a8751a7d22f..ae99dc9d15f57f1214760b1ba7f59755aafca7d2 100644
GIT binary patch
delta 286
zcmccacHM1*r8J}HWGiVOP6Y-o21N#82BpdU(zhga7-Sjr88jFS7<3s78T=UZ8NwJ0
z87di!CO6647PMtxX0T)6W3XosVQ^rOWw4!`CtD%u#~{Ms&mhYX%%I2+!l2C%&S1(A
z!QjpiHTl169%}{zH$(R1A~}D?lF5hU-fA{7Ff%kWs4%oLXfm`h_%U=blri)&%wgzf
zSjjMnVI9L1hCK|^81^$v-+V(pozZd@0~5n+1{Q`n3~UT@8B`eNF}N_yX9#0hz!1x@
zkRgR(F+(}S5{5d4r3|eM%NcqZRxm7MSjn)GVb$ac#V*EmlbMyYST`}SFl?S|q*N-o
ooq>yC2ZK7pP6kbe-3+D-dl;-3_A=No?4Nu<$%j#5GOw~10DE;rdjJ3c

delta 286
zcmccacHM1*r8J}1WGiVOPDKVT1|<ez2Ia~9(zhga8Dtp@7&I6R8FU$p82lIv7{VBg
z7%CZzCpXF57PMnvX0T`AV{l*)VQ^%SWw4u^CtD%u&mh7Oz#z*I!l1|y%Am~<!C=Y|
z$>7cqJ^8<E9&088H$%?kA~}D?(#eP9-fA{6Ff+6;s4%oKXfm`j_%U=dlri)%%wd?o
zu##ai!#akk40{-+Gwf%WvH6C4I-})m1}26%3@i+D8Q2)+F{m)iXK-Oyz!1i;kRg^~
z5km^Y5{7byr3`fp%NSZ2RxtE3tYlcmu!><N!|KTuid~HBCo?N)v2JEyVc0U+NU2nE
o2Ll(wP6l;`T@0EGdl^g__Ayv7>}RlHI5_!$k`JTgWL{-20G@Y5z5oCK

diff --git a/target/classes/com/application/GUI/PopUpWindows/InputPopup.class b/target/classes/com/application/GUI/PopUpWindows/InputPopup.class
index 728dd498b6efc1a0bb249930929c014285629008..62565f7fd11a5290ee8e17ea4cd00fa91f1b4bb7 100644
GIT binary patch
delta 3291
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

delta 3322
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
Z<<98A=niEC!dc;97CSSeJ7W@~I{<~f{ipx{

diff --git a/target/classes/com/application/GUI/PopUpWindows/LoginPopup.class b/target/classes/com/application/GUI/PopUpWindows/LoginPopup.class
index c996a60c651e42f69b920f53c8fe40bb2b883af8..1fec1563ecd6919aee728f1c9762d233ca864312 100644
GIT binary patch
delta 4500
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
Ds{760

delta 4507
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
W3WT$Q;j9oiD~(Zx3u;L^qYMDZ7soCD

diff --git a/target/classes/com/application/GUI/PopUpWindows/OutputPopup.class b/target/classes/com/application/GUI/PopUpWindows/OutputPopup.class
index 7ed71568a3e74e47d6847f4f79edaffe2bfb1c97..cc1f1de4c84853d331977ef9d8d66bb7f2d983a8 100644
GIT binary patch
delta 1896
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
L3WUipgJB8)w9b?#

delta 1849
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

-- 
GitLab