From c814f4990925c603dca0d6db5cdca696ed282695 Mon Sep 17 00:00:00 2001
From: Eilert Tunheim <emtunhei@stud.ntnu.no>
Date: Fri, 25 Mar 2022 10:17:07 +0100
Subject: [PATCH] Implemented the Constants class

---
 src/main/java/com/application/DB/DB.java   |  56 +++++++++++++++++----
 target/classes/com/application/DB/DB.class | Bin 9882 -> 10226 bytes
 2 files changed, 46 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/application/DB/DB.java b/src/main/java/com/application/DB/DB.java
index 02348eb..b425377 100644
--- a/src/main/java/com/application/DB/DB.java
+++ b/src/main/java/com/application/DB/DB.java
@@ -12,6 +12,8 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 
+import static com.application.DB.Constants.*;
+
 /**
  * This class is responsible for handling database related activities
  *
@@ -77,7 +79,7 @@ public class DB {
         // we use to execute jobs on
         return BigQueryOptions.newBuilder().
                 setCredentials(getCredentials()).
-                setProjectId("sf-drying-optimization")
+                setProjectId(PROJECT_ID)
                 .build().getService();
     }
 
@@ -279,7 +281,7 @@ public class DB {
         // Sqlstatement for ValÄsen(124)
         final String sqlStatement =
                         "SELECT MAX(Name) as DryingSchedule, MAX(KilnName) as Kiln_name, DryingStarted, Max(CalculatedStop) as CalculatedStop\n" +
-                        "FROM `sf-drying-optimization.124.int_dk_valmaticsdryingbatches` \n" +
+                        "FROM `sf-drying-optimization.124.int_dk_valmaticsdryingbatches_v2` \n" +
                         "WHERE KilnName = 5 \n" +
                         "AND DATE(DryingStarted) BETWEEN \"1990-08-17\" AND \"2022-08-17\"\n" +
                         "AND DATE(CalculatedStop) BETWEEN \"1990-08-17\" AND \"2022-08-17\"\n" +
@@ -309,19 +311,52 @@ public class DB {
         for (FieldValueList row : result.iterateAll()) {
 
             // Defining variables
-            String formatedInTidTork;
-            String formatedUtTidTork;
+            String formatedInTidTork = "";
+            String formatedUtTidTork = "";
 
             // Retrieving the data
             // DryingStarted:
             if(!row.get("DryingStarted").isNull()){
-                long InTidTorkLong = row.get("DryingStarted").getTimestampValue()/1000;
-                // Formating the data from long to a string in the correct date format
-                formatedInTidTork = getDateFormat().format(InTidTorkLong);
-            } else {
-                formatedInTidTork = "";
+                // Check if response is given in millis
+                if(row.get("DryingStarted").getValue() instanceof Integer) {
+                    long InTidTorkLong = row.get("DryingStarted").getTimestampValue()/1000;
+                    // Formating the data from long to a string in the correct date format
+                    formatedInTidTork = getDateFormat().format(InTidTorkLong);
+                }
+                // Checks if response is given in a string date format
+                else if(row.get("DryingStarted").getValue() instanceof String) {
+                    // stores the value
+                    String value = (String) row.get("DryingStarted").getValue();
+                    // Splits the string based on 'T'
+                    String[] splitValue = value.split("T");
+                    // Combines the values into a new format
+                    formatedInTidTork = splitValue[0]+" "+splitValue[1];
+                }
             }
 
+            // CalculatedStop:
+            // DryingCompleted:
+            if(!row.get("CalculatedStop").isNull()){
+                // Check if response is given in millis
+                if(row.get("CalculatedStop").getValue() instanceof Integer) {
+                    long utTidTorkLong = row.get("CalculatedStop").getTimestampValue()/1000;
+                    // Formating the data from long to a string in the correct date format
+                    formatedUtTidTork = getDateFormat().format(utTidTorkLong);
+                }
+                else if(row.get("CalculatedStop").getValue() instanceof String) {
+                    // stores the value
+                    String value = (String) row.get("CalculatedStop").getValue();
+                    // Splits the string based on 'T'
+                    String[] splitValue = value.split("T");
+                    // Combines the values into a new format
+                    formatedUtTidTork = splitValue[0]+" "+splitValue[1];
+                }
+            }
+
+            System.out.println(formatedInTidTork);
+            System.out.println(formatedUtTidTork+"\n");
+
+            /*
             // CalculatedStop:
             // DryingCompleted:
             if(!row.get("CalculatedStop").isNull()){
@@ -331,9 +366,10 @@ public class DB {
             } else {
                 formatedUtTidTork = "";
             }
+             */
 
             // Checks if intidtork or outtidtork is empty, if so they are ignored and not added to the list
-            if (!formatedInTidTork.equals("") && !formatedUtTidTork.equals("")){
+            if (!formatedInTidTork.isEmpty() && !formatedUtTidTork.isEmpty()){
                 // Adds the data to the dates map
                 dates.put(formatedInTidTork,formatedUtTidTork);
             }
diff --git a/target/classes/com/application/DB/DB.class b/target/classes/com/application/DB/DB.class
index 47892ca45240c43c584a1352c2c3f57b0bec5022..30cd375022bc63510dd2aad4cd576d38dced7e46 100644
GIT binary patch
delta 2955
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
TI2qnCyaChy8U8XnWsn2_>tR~U

delta 2569
zcmez5Kg+lN)W2Q(7#J8#7*}#J#4;RXXE@HmaDt10iQyy%!znI?(+p=ooU`l<=QtS7
zb1`r*oMdOXz{SALaFL7Q62oN>>k2!=RW1g8hHG35=?vGo7;Z4!1hH;$F^DqUW@os=
z!Eg`6ybmHCfTSO?Gdu#Rc+AC6|AgTw7sE4#=j;qGxEZ7vUa>R0=3;om@Rpt79S6gE
zE(RrrlOX;FE{2Z`pST!4GkoD<_{#8&i{U%N50Du@*%^L;6#QXl_{+th%Ww=N_>Y_6
zKO+M-BO@adHzPA63y5H4XJlh%WanZqWjMyc$ic;6%E-yhP;bJ>#m>kL;_+}W@^Ukn
zF!FIQ@`F@;;batG6y#zQVie|LNM{t`ViaW*<7O0RWMXHO;9!*GVsK@Y;$oC$l;L8O
zWt8J!lm~GXSQ)^8`2|RmA{V0)qcRr*6Qc?jqbj2s$X)6jj2a+X6J)8o7CWOh7eg4M
z4mYDNqaKLR<Y3eX(F`1n2JDQ6AO{$6F&Z<Pa4?#3Fq(lZG3Q{k;9#`mVz6Sg;$XC9
zXSCUTi*X(!*Ex1ZTXu#E><m{oH!-_1GTLoE!4l6bY|qZ<0QNmMJEJ2zqXavn(_|}-
z%*iJ>MEH11OF}YJLh_5Uee(0tC*R^|V|1RJ$QjI*!H~(wAT`;KNow*HP6@FLMi)i~
z=Fkvlc1BkoMmI)x9!3vF&&f<&)dCreUhItCJd8e!zC4V644IRAxg@0g83TA2CNWHA
zXAI<F3}OuCVJK!O;b9D644b^4D^ehwF@lFNk}-;hF`6-kkwIzlMKL8&9)?ziHg?8X
zkcK#R#(0p5gvs&Tw#<o)Nt5SuE3(<~FeWpmOg_e~ubs-6#?F||!<fOC$<CO?!<fyO
z!_Jrs(wfK4m=Drgz{Aka(80)H3Nn1M6OR^iA!E_xd>%1{ogjDF^Dq`OmasFH@-UV$
zma{WD@Gw>|R`M`bF;-7r%CkzhhOw51v5v8tkwG9Uu`E$PCowNwKe(hQGcTQov4*jp
zk%3jg(a%MJhp~aNdU6e~u3{q(V-sUDJ7WtEV=JQz4?`bAKRcr%4`Ul+J3C_sBZJ1|
zk1SG?<D|GIzvC6H?_}&^XYA%->|yL>XYAu)>}Q<7$iNwrnVTA1l9*e-!#I&~5)VT@
zLjgPEWFE#Tj8l0S_AyRlXPge=%-~_1$vBIVf!igqBvGL_vntg}froK6;{=e?<}fk{
zf}LDil9{6)Qk0tNn^?fZkij^YozaPhaUNqOBZKJVdOml)`HTzL8J&3;7cwqlWZW_N
z3g70<UHt5fI=n7Lm6>_z!6k`BC8;SqjEg~97#JD&oD*}BOLG!SQd5FU@(XwvmoP5f
zd{^KF6XWvD$AqV{OF--e2bE`DNosm(5hH_`hNtFaMh@Z4MbZk4s%)u+rHMJkj0~b0
zK43?J75gV;r6!kHYeum%u3%(PpZro-ee!!5)qr${Sa5dYWME{-V8~=(WXNJ*V9;k^
zWME`qU|`kS&cL{lfq{XEA)A4LfekDu%8<jrz`z4$voho|<S{TXaDl=Rq<M0RteQSZ
zEgu6j0|SFB0~doFgD`_UTo0%~D`Y4F>nUa^VPIm&n!HnXA!GLBXgTG2kjYvMEDTZ%
ziVUR;WekiA!VJL-<qQ=JOblEMaSW9VRSXOaX$(wI*=hy`h6o0Z{|uT8EbI(5><qQ+
z40Y@b^$d*c4E0?98Q8$W3`m0R><sn)83Y*E*cobI;&2U0%>Nmf7?>a?F)%PRFfcH%
zFfcMGF>o?8GBkl5D=#l*3i2SR*k)j`Wnf`&fP0RCft8_|p#?=J7bw$#b!N%yGiFbo
zB`+<EFqaFIg}|~W<f9m~Co3x`+kpZ>jDd-Pfx(lZlc9@&fkA}9l%boUhk=m+<Y7(*
zrauhY><qoqNDkxz<p!`pEefjk2nSX%a5L0`9SAW}gkb{1L<R;1ZU#=MkqF0df(jG{
zW`?ZIFBC2?GG<TSsZ<Y+l0F7Lh6@Zj3{x1UGH@|GV31*$#xR|Mo8c`3Kf?@$i4439
zs~Cb9W-`oT;AAjilxCRCFo%JKp^V`s*fLgzR)$jya~b9_urYKn9A}u%FqMIwQIkQ9
zVFANJ1`Y;oMiqud3`-f98D}ymf>|sK9E{r;mNCp>V5n!{V%*BGoM9>hBV#3l8^a2Q
zg$zs#D;XFV>=@XfmaSr7ff~0OZrmEUacdc1#;s#ufSR$Mfe9Rx0Sp}f7$n#kHZZa?
zZ2Zqq&A<s|vomaBXV}2busNKaVGBr-f#DB>COgB{p9~KF8T=WTq3ReIelalpWiVoA
z*v8JV@fU+RQj}~5XPg}jTnsxICWC^Nfq{vUfsKKSfq~)P<X#mmd4|c7EIS#D85s^R
zxLUDFvI-?`V{qTbkTi=y8N`|VPDNUbT`1X#O_Eh81z9R(@;em?efH%HAX#=vHlgHg
z45_miBqZ6PEIw^XHc9rK3_;8c;miMLZenl{N}DXDrc@6~89@vp3=E8%3~Y=%41A0d
z41$b?4C0KY3>J*G46clJ455q;3`vZR45^Gx44I7X3}uWS3~h{F43inX8KyD%Fw9~M
zU|7c(#ITbwlwl8J7{gV@NN@@(VBls5W#DDl#W0<LgCU85nPE4>L<Tm7HU?gXJz%lP
z^$g4mdl@D&urp*b1VE){F~~#3EEpQWsfd+<jo}8vK8F1a4B(V^fME^;BZDBrS#Ww{
zVi0FI4o*+Z;Di7wia_b}0K-9O4l!h4|IeVrz{<{W2oj6z3|rV4HZm~$DPeG8XW04&
z6n~p_Ak+^AxnB%S81Z(Pfr;S=I0lb0EMZ_^uwr0mFk$%5u$YaLL6qSJ!(9eW1~~>P
mhL;SS4B8A*48IvT8ABPDG2CV0WO&B#1WbQt_{wmXK@tGR+5UY1

-- 
GitLab